diff options
author | OpenStack Jenkins <jenkins@openstack.org> | 2014-01-31 06:07:59 +0000 |
---|---|---|
committer | OpenStack Jenkins <jenkins@openstack.org> | 2014-01-31 06:07:59 +0000 |
commit | 3f143ced41ef1dafa10a7fba6b9a6a6f9a1a1f24 (patch) | |
tree | cf6889bd9cd84db59aa31d5917d896d06e4699ec /heat/locale/zh_CN | |
parent | 0b073c54fd3946f573b6ca4f8e76d0b402ea87a4 (diff) | |
download | heat-3f143ced41ef1dafa10a7fba6b9a6a6f9a1a1f24.tar.gz |
Imported Translations from Transifex
Change-Id: Ief4e602845e7283c982a772bf53dbb0d8bffce43
Diffstat (limited to 'heat/locale/zh_CN')
-rw-r--r-- | heat/locale/zh_CN/LC_MESSAGES/heat.po | 1923 |
1 files changed, 1111 insertions, 812 deletions
diff --git a/heat/locale/zh_CN/LC_MESSAGES/heat.po b/heat/locale/zh_CN/LC_MESSAGES/heat.po index dd7531cab..c3b58fabd 100644 --- a/heat/locale/zh_CN/LC_MESSAGES/heat.po +++ b/heat/locale/zh_CN/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: 2013-12-30 06:05+0000\n" +"POT-Creation-Date: 2014-01-31 06:07+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" @@ -136,7 +136,7 @@ msgid "Request expired or more than 15mins in the future" msgstr "" #: heat/api/aws/exception.py:197 -msgid "Service temporarily unvavailable" +msgid "Service temporarily unavailable" msgstr "" #: heat/api/aws/exception.py:207 @@ -225,7 +225,7 @@ msgstr "" msgid "Invalid state %(state)s, expecting one of %(expect)s" msgstr "" -#: heat/api/cloudwatch/watch.py:339 +#: heat/api/cloudwatch/watch.py:330 #, python-format msgid "setting %(name)s to %(state)s" msgstr "" @@ -264,30 +264,30 @@ msgstr "" msgid "Unknown accept header: %s...returning HTTP not found." msgstr "" -#: heat/api/openstack/v1/actions.py:43 +#: heat/api/openstack/v1/actions.py:45 msgid "No action specified" msgstr "" -#: heat/api/openstack/v1/actions.py:46 +#: heat/api/openstack/v1/actions.py:48 msgid "Multiple actions specified" msgstr "" -#: heat/api/openstack/v1/actions.py:50 +#: heat/api/openstack/v1/actions.py:52 #, python-format msgid "Invalid action %s specified" msgstr "" -#: heat/api/openstack/v1/actions.py:57 +#: heat/api/openstack/v1/actions.py:59 #, python-format msgid "Unexpected action %s" msgstr "" -#: heat/api/openstack/v1/events.py:103 +#: heat/api/openstack/v1/events.py:105 #, python-format msgid "No events found for resource %s" msgstr "" -#: heat/api/openstack/v1/events.py:121 +#: heat/api/openstack/v1/events.py:123 #, python-format msgid "No event %s found" msgstr "" @@ -310,7 +310,7 @@ msgstr "" msgid "No template specified" msgstr "" -#: heat/api/openstack/v1/util.py:57 +#: heat/api/openstack/v1/util.py:62 msgid "Invalid Stack address" msgstr "" @@ -368,34 +368,45 @@ msgstr "" msgid "RPC timeout for the engine liveness check that is used for stack locking." msgstr "" -#: heat/common/config.py:134 +#: heat/common/config.py:135 +msgid "" +"Type of endpoint in Identity service catalog to use for communication " +"with the OpenStack service." +msgstr "" + +#: heat/common/config.py:138 msgid "Optional CA cert file to use in SSL connections" msgstr "" -#: heat/common/config.py:136 +#: heat/common/config.py:140 msgid "Optional PEM-formatted certificate chain file" msgstr "" -#: heat/common/config.py:138 +#: heat/common/config.py:142 msgid "Optional PEM-formatted file that contains the private key" msgstr "" -#: heat/common/config.py:142 +#: heat/common/config.py:146 msgid "If set then the server's certificate will not be verified" msgstr "" -#: heat/common/config.py:162 +#: heat/common/config.py:161 +#, python-format +msgid "Optional heat url in format like http://0.0.0.0:8004/v1/%(tenant_id)s." +msgstr "" + +#: heat/common/config.py:171 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:234 +#: heat/common/config.py:243 msgid "Unable to locate config file" msgstr "" -#: heat/common/config.py:246 +#: heat/common/config.py:255 #, python-format msgid "" "Unable to load %(app_name)s from configuration file %(conf_file)s.\n" @@ -410,247 +421,238 @@ msgstr "" msgid "Backend authentication failed" msgstr "" -#: heat/common/environment_format.py:40 +#: heat/common/environment_format.py:41 #, python-format msgid "environment has wrong section \"%s\"" msgstr "" -#: heat/common/exception.py:102 +#: heat/common/exception.py:103 msgid "An unknown exception occurred." msgstr "" -#: heat/common/exception.py:113 heat/openstack/common/rpc/common.py:88 +#: heat/common/exception.py:114 heat/openstack/common/rpc/common.py:88 msgid "Exception in string format operation" msgstr "" -#: heat/common/exception.py:128 +#: heat/common/exception.py:129 #, python-format msgid "Missing required credential: %(required)s" msgstr "" -#: heat/common/exception.py:132 +#: heat/common/exception.py:133 #, python-format msgid "" "Incorrect auth strategy, expected \"%(expected)s\" but received " "\"%(received)s\"" msgstr "" -#: heat/common/exception.py:137 +#: heat/common/exception.py:138 #, python-format msgid "Connect error/bad request to Auth service at URL %(url)s." msgstr "" -#: heat/common/exception.py:141 +#: heat/common/exception.py:142 #, python-format msgid "Auth service at URL %(url)s not found." msgstr "" -#: heat/common/exception.py:145 +#: heat/common/exception.py:146 msgid "Authorization failed." msgstr "" -#: heat/common/exception.py:149 +#: heat/common/exception.py:150 msgid "You are not authenticated." msgstr "" -#: heat/common/exception.py:153 heat/common/exception.py:158 +#: heat/common/exception.py:154 heat/common/exception.py:159 msgid "You are not authorized to complete this action." msgstr "" -#: heat/common/exception.py:162 +#: heat/common/exception.py:163 #, python-format msgid "Data supplied was not valid: %(reason)s" msgstr "" -#: heat/common/exception.py:166 +#: heat/common/exception.py:167 #, python-format msgid "Redirecting to %(uri)s for authorization." msgstr "" -#: heat/common/exception.py:170 +#: heat/common/exception.py:171 msgid "The URI was too long." msgstr "" -#: heat/common/exception.py:174 +#: heat/common/exception.py:175 #, python-format msgid "Maximum redirects (%(redirects)s) was exceeded." msgstr "" -#: heat/common/exception.py:178 +#: heat/common/exception.py:179 msgid "Received invalid HTTP redirect." msgstr "" -#: heat/common/exception.py:182 +#: heat/common/exception.py:183 #, 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:189 #, python-format msgid "The Parameter (%(key)s) was not provided." msgstr "" -#: heat/common/exception.py:192 +#: heat/common/exception.py:193 #, python-format msgid "The Parameter (%(key)s) was not defined in template." msgstr "" -#: heat/common/exception.py:196 +#: heat/common/exception.py:197 #, python-format msgid "The Parameter (%(key)s) has no attributes." msgstr "" -#: heat/common/exception.py:200 +#: heat/common/exception.py:201 #, python-format msgid "The Referenced Attribute (%(resource)s %(key)s) is incorrect." msgstr "" -#: heat/common/exception.py:205 +#: heat/common/exception.py:206 #, python-format msgid "The specified reference \"%(resource)s\" (in %(key)s) is incorrect." msgstr "" -#: heat/common/exception.py:210 +#: heat/common/exception.py:211 #, python-format msgid "The Key (%(key_name)s) could not be found." msgstr "" -#: heat/common/exception.py:214 +#: heat/common/exception.py:215 #, python-format msgid "The Flavor ID (%(flavor_id)s) could not be found." msgstr "" -#: heat/common/exception.py:218 +#: heat/common/exception.py:219 #, python-format msgid "The Image (%(image_name)s) could not be found." msgstr "" -#: heat/common/exception.py:222 +#: heat/common/exception.py:223 #, python-format msgid "Multiple physical resources were found with name (%(name)s)." msgstr "" -#: heat/common/exception.py:227 +#: heat/common/exception.py:228 #, python-format msgid "Searching Tenant %(target)s from Tenant %(actual)s forbidden." msgstr "" -#: heat/common/exception.py:232 +#: heat/common/exception.py:233 #, python-format msgid "The Stack (%(stack_name)s) could not be found." msgstr "" -#: heat/common/exception.py:236 +#: heat/common/exception.py:237 #, python-format msgid "The Stack (%(stack_name)s) already exists." msgstr "" -#: heat/common/exception.py:240 +#: heat/common/exception.py:241 #, python-format msgid "%(message)s" msgstr "" -#: heat/common/exception.py:244 +#: heat/common/exception.py:245 #, python-format msgid "" "The Resource (%(resource_name)s) could not be found in Stack " "%(stack_name)s." msgstr "" -#: heat/common/exception.py:249 +#: heat/common/exception.py:250 #, python-format msgid "The Resource Type (%(type_name)s) could not be found." msgstr "" -#: heat/common/exception.py:253 +#: heat/common/exception.py:254 #, python-format msgid "The Resource (%(resource_name)s) is not available." msgstr "" -#: heat/common/exception.py:257 +#: heat/common/exception.py:258 #, python-format msgid "The Resource (%(resource_id)s) could not be found." msgstr "" -#: heat/common/exception.py:261 +#: heat/common/exception.py:262 #, python-format msgid "The Watch Rule (%(watch_name)s) could not be found." msgstr "" -#: heat/common/exception.py:265 +#: heat/common/exception.py:266 #, python-format msgid "%(exc_type)s: %(message)s" msgstr "" -#: heat/common/exception.py:279 +#: heat/common/exception.py:280 #, python-format msgid "%(feature)s is not supported." msgstr "" -#: heat/common/exception.py:283 +#: heat/common/exception.py:284 #, python-format msgid "Cannot define the following properties at the same time: %s." msgstr "" -#: heat/common/exception.py:301 +#: heat/common/exception.py:302 msgid "" "Egress rules are only allowed when Neutron is used and the 'VpcId' " "property is set." msgstr "" -#: heat/common/exception.py:319 +#: heat/common/exception.py:316 +#, python-format +msgid "Invalid content type %(content_type)s" +msgstr "" + +#: heat/common/exception.py:320 #, python-format msgid "Request limit exceeded: %(message)s" msgstr "" -#: heat/common/exception.py:323 +#: heat/common/exception.py:324 msgid "Maximum resources per stack exceeded." msgstr "" -#: heat/common/exception.py:327 +#: heat/common/exception.py:328 #, python-format msgid "Stack %(stack_name)s already has an action (%(action)s) in progress." msgstr "" -#: heat/common/heat_keystoneclient.py:101 -msgid "Keystone v2 API connection failed, no password or auth_token!" -msgstr "" - -#: heat/common/heat_keystoneclient.py:116 -msgid "v2 trust token re-scoping failed!" +#: heat/common/heat_keystoneclient.py:104 +msgid "Keystone v3 API connection failed, no password trust or auth_token!" msgstr "" -#: heat/common/heat_keystoneclient.py:171 -msgid "Keystone v3 API connection failed, no password or auth_token!" +#: heat/common/heat_keystoneclient.py:118 +msgid "trust token re-scoping failed!" msgstr "" -#: heat/common/heat_keystoneclient.py:242 +#: heat/common/heat_keystoneclient.py:202 #, python-format msgid "Truncating the username %s to the last 64 characters." msgstr "" -#: heat/common/heat_keystoneclient.py:262 +#: heat/common/heat_keystoneclient.py:222 #, python-format msgid "Adding user %(user)s to role %(role)s" msgstr "" -#: heat/common/heat_keystoneclient.py:267 +#: heat/common/heat_keystoneclient.py:227 #, python-format msgid "Failed to add user %(user)s to role %(role)s, check role exists!" msgstr "" -#: heat/common/heat_keystoneclient.py:293 -#, python-format -msgid "Problem deleting user %(user)s: %(reason)s" -msgstr "" - -#: heat/common/heat_keystoneclient.py:323 -#, python-format -msgid "Unexpected number of ec2 credentials %(len)s for %(user)s" -msgstr "" - #: heat/common/identifier.py:41 msgid "Stack name may not contain \"/\"" msgstr "" @@ -694,10 +696,18 @@ msgstr "" msgid "Invalid UUID version (%d)" msgstr "" -#: heat/common/template_format.py:62 +#: heat/common/template_format.py:60 msgid "Template exceeds maximum allowed size." msgstr "" +#: heat/common/template_format.py:73 +msgid "The template is not a JSON object or YAML mapping." +msgstr "" + +#: heat/common/template_format.py:79 +msgid "Template format version not found." +msgstr "" + #: heat/common/timeutils.py:34 msgid "Only ISO 8601 duration format of the form PT#H#M#S is supported." msgstr "" @@ -762,7 +772,7 @@ msgstr "" msgid "SIGHUP received" msgstr "" -#: heat/common/wsgi.py:264 heat/openstack/common/service.py:299 +#: heat/common/wsgi.py:264 heat/openstack/common/service.py:337 #, python-format msgid "Starting %d workers" msgstr "" @@ -853,43 +863,53 @@ msgstr "" msgid "no resources for stack_id %s were found" msgstr "" -#: heat/db/sqlalchemy/api.py:373 +#: heat/db/sqlalchemy/api.py:385 #, python-format msgid "Attempt to update a stack with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:387 +#: heat/db/sqlalchemy/api.py:397 #, python-format msgid "Attempt to delete a stack with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:572 +#: heat/db/sqlalchemy/api.py:582 #, python-format msgid "Attempt to update a watch with id: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:584 +#: heat/db/sqlalchemy/api.py:594 #, python-format msgid "Attempt to delete watch_rule: %(id)s %(msg)s" msgstr "" -#: heat/db/sqlalchemy/api.py:613 +#: heat/db/sqlalchemy/api.py:639 +#, python-format +msgid "Attempt to delete software config with %(id)s %(msg)s" +msgstr "" + +#: heat/db/sqlalchemy/api.py:677 +#, python-format +msgid "Attempt to update sofware deployment with id: %(id)s %(msg)s" +msgstr "" + +#: heat/db/sqlalchemy/api.py:690 +#, python-format +msgid "Attempt to delete software deployment with %(id)s %(msg)s" +msgstr "" + +#: heat/db/sqlalchemy/api.py:702 msgid "age should be an integer" msgstr "" -#: heat/db/sqlalchemy/api.py:615 +#: heat/db/sqlalchemy/api.py:704 msgid "age should be a positive integer" msgstr "" -#: heat/db/sqlalchemy/api.py:619 +#: heat/db/sqlalchemy/api.py:708 msgid "granularity should be days, hours, minutes, or seconds" msgstr "" -#: heat/db/sqlalchemy/migration.py:42 -#: heat/openstack/common/db/sqlalchemy/migration.py:220 -msgid "version should be an integer" -msgstr "" - #: heat/db/sqlalchemy/migrate_repo/versions/029_event_id_to_uuid.py:41 msgid "" "If you really want to downgrade to this version, you should drop all the " @@ -905,7 +925,7 @@ msgstr "" msgid "Unexpected value for parameter %(name)s : %(value)s" msgstr "" -#: heat/engine/api.py:209 +#: heat/engine/api.py:214 msgid "Unexpected number of keys in watch_data.data!" msgstr "" @@ -938,112 +958,112 @@ msgstr "" msgid "Nova connection failed, no auth_token!" msgstr "" -#: heat/engine/clients.py:139 +#: heat/engine/clients.py:142 msgid "Swift connection failed, no auth_token!" msgstr "" -#: heat/engine/clients.py:164 +#: heat/engine/clients.py:170 msgid "Neutron connection failed, no auth_token!" msgstr "" -#: heat/engine/clients.py:188 +#: heat/engine/clients.py:197 msgid "Cinder connection failed, no auth_token!" msgstr "" -#: heat/engine/clients.py:216 +#: heat/engine/clients.py:228 msgid "Trove connection failed, no auth_token!" msgstr "" -#: heat/engine/clients.py:241 +#: heat/engine/clients.py:258 msgid "Ceilometer connection failed, no auth_token!" msgstr "" -#: heat/engine/clients.py:277 +#: heat/engine/clients.py:305 msgid "Heat connection failed, no auth_token!" msgstr "" -#: heat/engine/constraints.py:74 +#: heat/engine/constraints.py:82 #, python-format msgid "Invalid type (%s)" msgstr "" -#: heat/engine/constraints.py:81 +#: heat/engine/constraints.py:89 #, python-format msgid "Single schema valid only for %(ltype)s, not %(utype)s" msgstr "" -#: heat/engine/constraints.py:91 +#: heat/engine/constraints.py:99 #, python-format msgid "Schema valid only for %(ltype)s or %(mtype)s, not %(utype)s" msgstr "" -#: heat/engine/constraints.py:100 +#: heat/engine/constraints.py:108 #, python-format msgid "%(name)s constraint invalid for %(utype)s" msgstr "" -#: heat/engine/constraints.py:111 +#: heat/engine/constraints.py:122 heat/engine/parameters.py:79 #, python-format msgid "Invalid default %(default)s (%(exc)s)" msgstr "" -#: heat/engine/constraints.py:179 +#: heat/engine/constraints.py:198 #, python-format msgid "Invalid key %s" msgstr "" -#: heat/engine/constraints.py:268 +#: heat/engine/constraints.py:287 msgid "min/max must be numeric" msgstr "" -#: heat/engine/constraints.py:271 +#: heat/engine/constraints.py:290 msgid "range must have min and/or max" msgstr "" -#: heat/engine/constraints.py:275 +#: heat/engine/constraints.py:294 #, python-format msgid "The value must be at least %(min)s." msgstr "" -#: heat/engine/constraints.py:277 +#: heat/engine/constraints.py:296 #, python-format msgid "The value must be no greater than %(max)s." msgstr "" -#: heat/engine/constraints.py:279 +#: heat/engine/constraints.py:298 #, python-format msgid "The value must be in the range %(min)s to %(max)s." msgstr "" -#: heat/engine/constraints.py:329 +#: heat/engine/constraints.py:348 msgid "min/max length must be integral" msgstr "" -#: heat/engine/constraints.py:334 +#: heat/engine/constraints.py:353 #, python-format msgid "The length must be at least %(min)s." msgstr "" -#: heat/engine/constraints.py:336 +#: heat/engine/constraints.py:355 #, python-format msgid "The length must be no greater than %(max)s." msgstr "" -#: heat/engine/constraints.py:338 +#: heat/engine/constraints.py:357 #, python-format msgid "The length must be in the range %(min)s to %(max)s." msgstr "" -#: heat/engine/constraints.py:369 +#: heat/engine/constraints.py:388 msgid "AllowedValues must be a list" msgstr "" -#: heat/engine/constraints.py:374 +#: heat/engine/constraints.py:393 #, python-format msgid "Allowed values: %s" msgstr "" -#: heat/engine/constraints.py:407 +#: heat/engine/constraints.py:431 #, python-format msgid "Value must match pattern: %s" msgstr "" @@ -1068,12 +1088,12 @@ msgstr "" msgid "Registering %(path)s -> %(value)s" msgstr "" -#: heat/engine/environment.py:279 heat/tests/test_resource.py:77 +#: heat/engine/environment.py:279 heat/tests/test_resource.py:86 #, python-format msgid "Resource \"%s\" has no type" msgstr "" -#: heat/engine/environment.py:282 heat/tests/test_resource.py:85 +#: heat/engine/environment.py:282 heat/tests/test_resource.py:94 #, python-format msgid "Non-empty resource type is required for resource \"%s\"" msgstr "" @@ -1092,174 +1112,193 @@ msgstr "" msgid "Duplicating event" msgstr "" -#: heat/engine/hot.py:57 heat/engine/template.py:71 +#: heat/engine/hot.py:61 heat/engine/template.py:73 #, python-format msgid "\"%s\" is not a valid template section" msgstr "" -#: heat/engine/hot.py:228 +#: heat/engine/hot.py:64 heat/engine/template.py:76 +#, python-format +msgid "Section %s can not be accessed directly." +msgstr "" + +#: heat/engine/hot.py:223 msgid "Arguments to \"str_replace\" must be adictionary or a list" msgstr "" -#: heat/engine/hot.py:245 +#: heat/engine/hot.py:240 #, python-format msgid "\"str_replace\" syntax should be %s" msgstr "" -#: heat/engine/hot.py:248 +#: heat/engine/hot.py:243 msgid "\"template\" parameter must be a string" msgstr "" -#: heat/engine/hot.py:251 +#: heat/engine/hot.py:246 msgid "\"params\" parameter must be a dictionary" msgstr "" -#: heat/engine/parameters.py:154 +#: heat/engine/hot.py:347 heat/engine/parameters.py:415 +msgid "Stack ID" +msgstr "" + +#: heat/engine/hot.py:352 heat/engine/parameters.py:419 +msgid "Stack Name" +msgstr "" + +#: heat/engine/parameters.py:73 +#, python-format +msgid "Default must be a comma-delimited list string: %s" +msgstr "" + +#: heat/engine/parameters.py:161 #, python-format msgid "Invalid Parameter type \"%s\"" msgstr "" -#: heat/engine/parameters.py:183 +#: heat/engine/parameters.py:190 #, python-format msgid "Missing parameter %s" msgstr "" -#: heat/engine/parameters.py:254 +#: heat/engine/parameters.py:265 #, python-format msgid "Value must be a comma-delimited list string: %s" msgstr "" -#: heat/engine/parameters.py:290 +#: heat/engine/parameters.py:301 #, python-format msgid "Value must be valid JSON: %s" msgstr "" -#: heat/engine/parser.py:81 +#: heat/engine/parser.py:78 #, python-format msgid "" "Invalid stack name %s must contain only alphanumeric or \"_-.\" " "characters, must start with alpha" msgstr "" -#: heat/engine/parser.py:167 +#: heat/engine/parser.py:162 msgid "Unable to set parameters StackId identifier" msgstr "" -#: heat/engine/parser.py:188 +#: heat/engine/parser.py:181 #, python-format msgid "No stack exists with id \"%s\"" msgstr "" -#: heat/engine/parser.py:311 heat/engine/parser.py:312 +#: heat/engine/parser.py:326 heat/engine/parser.py:327 #, python-format msgid "Duplicate names %s" msgstr "" -#: heat/engine/parser.py:339 heat/engine/resource.py:760 +#: heat/engine/parser.py:354 heat/engine/resource.py:825 #, python-format msgid "Invalid action %s" msgstr "" -#: heat/engine/parser.py:342 heat/engine/resource.py:763 +#: heat/engine/parser.py:357 heat/engine/resource.py:828 #, python-format msgid "Invalid status %s" msgstr "" -#: heat/engine/parser.py:434 +#: heat/engine/parser.py:459 msgid "Loaded existing backup stack" msgstr "" -#: heat/engine/parser.py:442 +#: heat/engine/parser.py:467 msgid "Created new backup stack" msgstr "" -#: heat/engine/parser.py:465 +#: heat/engine/parser.py:506 #, python-format msgid "Unexpected action %s passed to update!" msgstr "" -#: heat/engine/parser.py:473 +#: heat/engine/parser.py:514 #, python-format msgid "Starting update rollback for %s" msgstr "" -#: heat/engine/parser.py:522 +#: heat/engine/parser.py:563 msgid "Deleting backup stack" msgstr "" -#: heat/engine/parser.py:545 +#: heat/engine/parser.py:586 #, python-format msgid "Unexpected action %s passed to delete!" msgstr "" -#: heat/engine/parser.py:644 +#: heat/engine/parser.py:685 #, python-format msgid "delete: %s" msgstr "" -#: heat/engine/parser.py:652 +#: heat/engine/parser.py:693 msgid "create" msgstr "" -#: heat/engine/properties.py:73 +#: heat/engine/properties.py:72 #, python-format msgid "Unknown key(s) %s" msgstr "" -#: heat/engine/properties.py:94 +#: heat/engine/properties.py:93 #, python-format msgid "No %s specified" msgstr "" -#: heat/engine/properties.py:103 +#: heat/engine/properties.py:102 #, python-format -msgid "%(schema)s supplied for for %(type)s %(data)s" +msgid "%(schema)s supplied for %(type)s %(data)s" msgstr "" -#: heat/engine/properties.py:240 -msgid "value is not an integer" +#: heat/engine/properties.py:193 +#, python-format +msgid "Value '%s' is not an integer" msgstr "" -#: heat/engine/properties.py:252 +#: heat/engine/properties.py:206 msgid "Value must be a string" msgstr "" -#: heat/engine/properties.py:270 +#: heat/engine/properties.py:224 #, python-format msgid "\"%s\" is not a map" msgstr "" -#: heat/engine/properties.py:279 +#: heat/engine/properties.py:233 #, python-format msgid "\"%s\" is not a list" msgstr "" -#: heat/engine/properties.py:291 +#: heat/engine/properties.py:245 #, python-format msgid "\"%s\" is not a valid boolean" msgstr "" -#: heat/engine/properties.py:347 +#: heat/engine/properties.py:301 #, python-format msgid "Property error : %s" msgstr "" -#: heat/engine/properties.py:352 +#: heat/engine/properties.py:306 #, python-format msgid "Property %s not implemented yet" msgstr "" -#: heat/engine/properties.py:357 +#: heat/engine/properties.py:311 #, python-format msgid "Unknown Property %s" msgstr "" -#: heat/engine/properties.py:362 +#: heat/engine/properties.py:316 #, python-format msgid "Invalid Property %s" msgstr "" -#: heat/engine/properties.py:378 +#: heat/engine/properties.py:332 #, python-format msgid "Property %s not assigned" msgstr "" @@ -1274,103 +1313,107 @@ msgstr "" msgid "Specified status is invalid, defaulting to %s" msgstr "" -#: heat/engine/resource.py:427 +#: heat/engine/resource.py:448 msgid "Error marking resource as failed" msgstr "" -#: heat/engine/resource.py:438 +#: heat/engine/resource.py:459 #, python-format msgid "State %s invalid for create" msgstr "" -#: heat/engine/resource.py:484 +#: heat/engine/resource.py:502 +msgid "Resource ID was not provided." +msgstr "" + +#: heat/engine/resource.py:548 msgid "Resource update already requested" msgstr "" -#: heat/engine/resource.py:506 +#: heat/engine/resource.py:570 #, python-format msgid "Resource %s update requires replacement" msgstr "" -#: heat/engine/resource.py:526 +#: heat/engine/resource.py:590 #, python-format msgid "State %s invalid for suspend" msgstr "" -#: heat/engine/resource.py:530 +#: heat/engine/resource.py:594 #, python-format msgid "suspending %s" msgstr "" -#: heat/engine/resource.py:542 +#: heat/engine/resource.py:606 #, python-format msgid "State %s invalid for resume" msgstr "" -#: heat/engine/resource.py:546 +#: heat/engine/resource.py:610 #, python-format msgid "resuming %s" msgstr "" -#: heat/engine/resource.py:582 +#: heat/engine/resource.py:646 msgid "limit cannot be less than 4" msgstr "" -#: heat/engine/resource.py:588 +#: heat/engine/resource.py:652 #, python-format msgid "Validating %s" msgstr "" -#: heat/engine/resource.py:597 +#: heat/engine/resource.py:661 #, python-format msgid "Invalid DeletionPolicy %s" msgstr "" -#: heat/engine/resource.py:601 +#: heat/engine/resource.py:665 msgid "Snapshot DeletionPolicy not supported" msgstr "" -#: heat/engine/resource.py:619 +#: heat/engine/resource.py:683 #, python-format msgid "deleting %s" msgstr "" -#: heat/engine/resource.py:641 +#: heat/engine/resource.py:705 #, python-format msgid "Delete %s" msgstr "" -#: heat/engine/resource.py:651 +#: heat/engine/resource.py:715 msgid "Error marking resource deletion failed" msgstr "" -#: heat/engine/resource.py:682 +#: heat/engine/resource.py:746 #, python-format msgid "db error %s" msgstr "" -#: heat/engine/resource.py:703 heat/engine/resource.py:714 -#: heat/engine/resource.py:732 +#: heat/engine/resource.py:767 heat/engine/resource.py:778 +#: heat/engine/resource.py:796 #, python-format msgid "DB error %s" msgstr "" -#: heat/engine/resource.py:835 +#: heat/engine/resource.py:900 #, python-format msgid "Cannot signal resource during %s" msgstr "" -#: heat/engine/resource.py:839 +#: heat/engine/resource.py:904 #, python-format msgid "Resource %s is not able to receive a signal" msgstr "" -#: heat/engine/resource.py:846 +#: heat/engine/resource.py:911 #, python-format msgid "signal %(name)s : %(msg)s" msgstr "" -#: heat/engine/resource.py:859 +#: heat/engine/resource.py:924 #, python-format msgid "Resource %s does not implement metadata update" msgstr "" @@ -1380,196 +1423,184 @@ msgstr "" msgid "%s Timed out" msgstr "" -#: heat/engine/scheduler.py:108 +#: heat/engine/scheduler.py:131 #, python-format msgid "%s sleeping" msgstr "" -#: heat/engine/scheduler.py:131 +#: heat/engine/scheduler.py:154 #, python-format msgid "%s starting" msgstr "" -#: heat/engine/scheduler.py:143 +#: heat/engine/scheduler.py:166 #, python-format msgid "%s done (not resumable)" msgstr "" -#: heat/engine/scheduler.py:154 +#: heat/engine/scheduler.py:177 #, python-format msgid "%s timed out" msgstr "" -#: heat/engine/scheduler.py:164 +#: heat/engine/scheduler.py:187 #, python-format msgid "%s running" msgstr "" -#: heat/engine/scheduler.py:170 +#: heat/engine/scheduler.py:193 #, python-format msgid "%s complete" msgstr "" -#: heat/engine/scheduler.py:187 +#: heat/engine/scheduler.py:210 #, python-format msgid "%s cancelled" msgstr "" -#: heat/engine/service.py:96 +#: heat/engine/service.py:184 #, python-format msgid "Starting listener for engine %s" msgstr "" -#: heat/engine/service.py:323 heat/engine/service.py:381 +#: heat/engine/service.py:354 heat/engine/service.py:418 #, python-format msgid "template is %s" msgstr "" -#: heat/engine/service.py:332 +#: heat/engine/service.py:368 #, python-format msgid "Stack create failed, status %s" msgstr "" -#: heat/engine/service.py:339 +#: heat/engine/service.py:375 #, python-format msgid "" "You have reached the maximum stacks per tenant, %d. Please delete some " "stacks." msgstr "" -#: heat/engine/service.py:389 +#: heat/engine/service.py:426 msgid "Updating a stack when it is suspended" msgstr "" -#: heat/engine/service.py:393 +#: heat/engine/service.py:430 msgid "Updating a stack when another action is in progress" msgstr "" -#: heat/engine/service.py:425 +#: heat/engine/service.py:465 msgid "validate_template" msgstr "" -#: heat/engine/service.py:427 +#: heat/engine/service.py:467 msgid "No Template provided." msgstr "" -#: heat/engine/service.py:507 +#: heat/engine/service.py:546 #, python-format msgid "deleting stack %s" msgstr "" -#: heat/engine/service.py:522 +#: heat/engine/service.py:562 #, python-format msgid "abandoning stack %s" msgstr "" -#: heat/engine/service.py:629 -msgid "access_key % not found!" -msgstr "" - -#: heat/engine/service.py:639 -msgid "Cannot access resource from wrong stack!" -msgstr "" - -#: heat/engine/service.py:641 -msgid "Cannot access resource, invalid credentials!" -msgstr "" - -#: heat/engine/service.py:652 +#: heat/engine/service.py:677 #, python-format msgid "Access denied to resource %s" msgstr "" -#: heat/engine/service.py:733 +#: heat/engine/service.py:758 #, python-format msgid "suspending stack %s" msgstr "" -#: heat/engine/service.py:747 +#: heat/engine/service.py:773 #, python-format msgid "resuming stack %s" msgstr "" -#: heat/engine/service.py:801 +#: heat/engine/service.py:828 #, python-format msgid "Periodic watcher task for stack %s" msgstr "" -#: heat/engine/service.py:805 +#: heat/engine/service.py:832 #, python-format msgid "Unable to retrieve stack %s for periodic task" msgstr "" -#: heat/engine/service.py:819 +#: heat/engine/service.py:846 #, python-format msgid "periodic_task db error (%(msg)s) %(ex)s" msgstr "" -#: heat/engine/service.py:887 +#: heat/engine/service.py:914 #, python-format msgid "show_watch (all) db error %s" msgstr "" -#: heat/engine/service.py:910 +#: heat/engine/service.py:937 msgid "Filtering by namespace/metric not yet supported" msgstr "" -#: heat/engine/service.py:916 +#: heat/engine/service.py:943 #, python-format msgid "show_metric (all) db error %s" msgstr "" -#: heat/engine/signal_responder.py:55 heat/engine/resources/user.py:214 +#: heat/engine/signal_responder.py:56 heat/engine/resources/user.py:218 #, python-format msgid "Error creating ec2 keypair for user %s" msgstr "" -#: heat/engine/signal_responder.py:96 +#: heat/engine/signal_responder.py:112 msgid "Cannot generate signed url, no stored access/secret key" msgstr "" -#: heat/engine/stack_lock.py:52 +#: heat/engine/stack_lock.py:62 #, python-format msgid "Engine %(engine)s acquired lock on stack %(stack)s" msgstr "" -#: heat/engine/stack_lock.py:58 +#: heat/engine/stack_lock.py:69 #, python-format msgid "Lock on stack %(stack)s is owned by engine %(engine)s" msgstr "" -#: heat/engine/stack_lock.py:64 +#: heat/engine/stack_lock.py:75 #, python-format msgid "" "Stale lock detected on stack %(stack)s. Engine %(engine)s will attempt " "to steal the lock" msgstr "" -#: heat/engine/stack_lock.py:72 +#: heat/engine/stack_lock.py:83 #, python-format msgid "Engine %(engine)s successfully stole the lock on stack %(stack)s" msgstr "" -#: heat/engine/stack_lock.py:78 +#: heat/engine/stack_lock.py:90 #, python-format msgid "" "The lock on stack %(stack)s was released while engine %(engine)s was " "stealing it. Trying again" msgstr "" -#: heat/engine/stack_lock.py:85 +#: heat/engine/stack_lock.py:97 #, python-format msgid "" "Failed to steal lock on stack %(stack)s. Engine %(engine)s stole the lock" " first" msgstr "" -#: heat/engine/stack_lock.py:98 +#: heat/engine/stack_lock.py:110 #, python-format msgid "Lock was already released on stack %s!" msgstr "" -#: heat/engine/stack_lock.py:101 +#: heat/engine/stack_lock.py:113 #, python-format msgid "Engine %(engine)s released lock on stack %(stack)s" msgstr "" @@ -1583,110 +1614,110 @@ msgstr "" msgid "Recursion depth exceeds %d." msgstr "" -#: heat/engine/stack_resource.py:132 +#: heat/engine/stack_resource.py:137 #, python-format msgid "Cannot update %s, stack not created" msgstr "" -#: heat/engine/stack_resource.py:171 +#: heat/engine/stack_resource.py:177 #, python-format msgid "Nested stack update failed: %s" msgstr "" -#: heat/engine/stack_resource.py:182 +#: heat/engine/stack_resource.py:188 msgid "Stack not found to delete" msgstr "" -#: heat/engine/stack_resource.py:205 +#: heat/engine/stack_resource.py:211 #, python-format msgid "Cannot suspend %s, stack not created" msgstr "" -#: heat/engine/stack_resource.py:227 +#: heat/engine/stack_resource.py:233 #, python-format msgid "Cannot resume %s, stack not created" msgstr "" -#: heat/engine/template.py:190 heat/engine/template.py:294 +#: heat/engine/template.py:197 heat/engine/template.py:301 msgid "Arguments to \"Fn::Join\" must be a list" msgstr "" -#: heat/engine/template.py:195 heat/engine/template.py:300 +#: heat/engine/template.py:202 heat/engine/template.py:307 #, python-format msgid "Incorrect arguments to \"Fn::Join\" should be: %s" msgstr "" -#: heat/engine/template.py:200 heat/engine/template.py:305 +#: heat/engine/template.py:207 heat/engine/template.py:312 msgid "Arguments to \"Fn::Join\" not fully resolved" msgstr "" -#: heat/engine/template.py:240 +#: heat/engine/template.py:247 msgid "Arguments to \"Fn::Select\" must be a list" msgstr "" -#: heat/engine/template.py:245 +#: heat/engine/template.py:252 #, python-format msgid "Incorrect arguments to \"Fn::Select\" should be: %s" msgstr "" -#: heat/engine/template.py:250 +#: heat/engine/template.py:257 #, python-format msgid "Index to \"Fn::Select\" should be either a string or an integer value: %s" msgstr "" -#: heat/engine/template.py:269 +#: heat/engine/template.py:276 #, python-format msgid "\"Fn::Select\" %s" msgstr "" -#: heat/engine/template.py:281 +#: heat/engine/template.py:288 msgid "Arguments to \"Fn::Select\" not fully resolved" msgstr "" -#: heat/engine/template.py:330 +#: heat/engine/template.py:337 msgid "Arguments to \"Fn::Split\" must be a list" msgstr "" -#: heat/engine/template.py:336 heat/engine/template.py:339 +#: heat/engine/template.py:343 heat/engine/template.py:346 #, python-format msgid "Incorrect arguments to \"Fn::Split\" should be: %s" msgstr "" -#: heat/engine/template.py:360 +#: heat/engine/template.py:367 msgid "Arguments to \"Fn::Replace\" must be a list" msgstr "" -#: heat/engine/template.py:368 +#: heat/engine/template.py:375 #, python-format msgid "Incorrect arguments to \"Fn::Replace\" should be: %s" msgstr "" -#: heat/engine/template.py:374 heat/engine/template.py:377 +#: heat/engine/template.py:381 heat/engine/template.py:384 msgid "Arguments to \"Fn::Replace\" not fully resolved" msgstr "" -#: heat/engine/template.py:386 +#: heat/engine/template.py:393 #, python-format msgid "\"Fn::Replace\" value(%(value)s) for \"%(key)s\" is not a string" msgstr "" -#: heat/engine/template.py:402 +#: heat/engine/template.py:409 msgid "Arguments to \"Fn::Base64\" not fully resolved" msgstr "" -#: heat/engine/template.py:427 heat/engine/template.py:429 -#: heat/engine/template.py:431 heat/engine/template.py:433 -#: heat/engine/template.py:435 +#: heat/engine/template.py:434 heat/engine/template.py:436 +#: heat/engine/template.py:438 heat/engine/template.py:440 +#: heat/engine/template.py:442 #, python-format msgid "Wrong Arguments try: \"%s\"" msgstr "" -#: heat/engine/template.py:459 +#: heat/engine/template.py:466 #, python-format msgid "Incorrect arguments to \"Fn::ResourceFacade\" should be one of: %s" msgstr "" -#: heat/engine/template.py:466 +#: heat/engine/template.py:473 #, python-format msgid "\"Fn::ResourceFacade\" \"%s\" is not specified in parent resource" msgstr "" @@ -1726,62 +1757,67 @@ msgstr "" msgid "ignoring %s" msgstr "" -#: heat/engine/watchrule.py:255 +#: heat/engine/watchrule.py:251 +#, python-format +msgid "WATCH: stack:%(stack)s, watch_name:%(watch_name)s, new_state:%(new_state)s" +msgstr "" + +#: heat/engine/watchrule.py:257 #, python-format msgid "no action for new state %s" msgstr "" -#: heat/engine/watchrule.py:265 +#: heat/engine/watchrule.py:267 #, python-format msgid "Could not process watch state %s for stack" msgstr "" -#: heat/engine/watchrule.py:286 +#: heat/engine/watchrule.py:288 #, python-format msgid "new sample:%(k)s data:%(sample)s" msgstr "" -#: heat/engine/watchrule.py:299 +#: heat/engine/watchrule.py:301 #, python-format msgid "Ignoring metric data for %s, SUSPENDED state" msgstr "" -#: heat/engine/watchrule.py:309 +#: heat/engine/watchrule.py:311 #, python-format msgid "Ignoring metric data (only accept %(metric)s) : %(data)s" msgstr "" -#: heat/engine/watchrule.py:319 +#: heat/engine/watchrule.py:321 #, python-format msgid "new watch:%(name)s data:%(data)s" msgstr "" -#: heat/engine/watchrule.py:327 +#: heat/engine/watchrule.py:329 #, python-format msgid "Invalid watch state %s" msgstr "" -#: heat/engine/watchrule.py:339 +#: heat/engine/watchrule.py:341 #, python-format msgid "Unknown watch state %s" msgstr "" -#: heat/engine/watchrule.py:345 +#: heat/engine/watchrule.py:347 #, python-format msgid "Overriding state %(self_state)s for watch %(name)s with %(state)s" msgstr "" -#: heat/engine/watchrule.py:350 +#: heat/engine/watchrule.py:352 #, python-format msgid "Unable to override state %(state)s for watch %(name)s" msgstr "" -#: heat/engine/resources/__init__.py:41 +#: heat/engine/resources/__init__.py:42 #, python-format msgid "Failed to load resources from %s" msgstr "" -#: heat/engine/resources/__init__.py:67 +#: heat/engine/resources/__init__.py:68 #, python-format msgid "Failed to read %s" msgstr "" @@ -1793,179 +1829,207 @@ msgstr "" #: heat/engine/resources/__init__.py:91 #, python-format -msgid "Failed to parse %(dir)s/%(name)s" +msgid "Failed to parse %(file_path)s" msgstr "" #: heat/engine/resources/__init__.py:95 #, python-format -msgid "Failed to read %(dir)s/%(name)s" -msgstr "" - -#: heat/engine/resources/autoscaling.py:89 -#: heat/engine/resources/autoscaling.py:433 -#: heat/engine/resources/autoscaling.py:466 -#: heat/engine/resources/autoscaling.py:471 -#: heat/engine/resources/autoscaling.py:704 -#: heat/engine/resources/autoscaling.py:709 -#: heat/engine/resources/autoscaling.py:714 -#: heat/engine/resources/instance.py:157 heat/engine/resources/instance.py:162 -#: heat/engine/resources/instance.py:167 heat/engine/resources/instance.py:172 -#: heat/engine/resources/instance.py:177 heat/engine/resources/instance.py:182 -#: heat/engine/resources/instance.py:199 heat/engine/resources/instance.py:243 -#: heat/engine/resources/loadbalancer.py:304 -#: heat/engine/resources/loadbalancer.py:309 -#: heat/engine/resources/loadbalancer.py:318 -#: heat/engine/resources/loadbalancer.py:323 -#: heat/engine/resources/loadbalancer.py:328 -#: heat/engine/resources/loadbalancer.py:333 heat/engine/resources/user.py:49 -#: heat/engine/resources/user.py:53 heat/engine/resources/user.py:170 -#: heat/engine/resources/user.py:180 +msgid "Failed to read %(file_path)s" +msgstr "" + +#: heat/engine/resources/autoscaling.py:93 +#: heat/engine/resources/autoscaling.py:439 +#: heat/engine/resources/autoscaling.py:472 +#: heat/engine/resources/autoscaling.py:477 +#: heat/engine/resources/autoscaling.py:756 +#: heat/engine/resources/autoscaling.py:761 +#: heat/engine/resources/autoscaling.py:766 +#: heat/engine/resources/instance.py:161 heat/engine/resources/instance.py:166 +#: heat/engine/resources/instance.py:171 heat/engine/resources/instance.py:176 +#: heat/engine/resources/instance.py:181 heat/engine/resources/instance.py:186 +#: heat/engine/resources/instance.py:203 heat/engine/resources/instance.py:247 +#: heat/engine/resources/loadbalancer.py:312 +#: heat/engine/resources/loadbalancer.py:317 +#: heat/engine/resources/loadbalancer.py:326 +#: heat/engine/resources/loadbalancer.py:331 +#: heat/engine/resources/loadbalancer.py:336 +#: heat/engine/resources/loadbalancer.py:341 heat/engine/resources/user.py:51 +#: heat/engine/resources/user.py:55 heat/engine/resources/user.py:172 +#: heat/engine/resources/user.py:182 msgid "Not Implemented." msgstr "" -#: heat/engine/resources/autoscaling.py:94 -#: heat/engine/resources/autoscaling.py:438 +#: heat/engine/resources/autoscaling.py:98 +#: heat/engine/resources/autoscaling.py:444 msgid "Name of LaunchConfiguration resource." msgstr "" -#: heat/engine/resources/autoscaling.py:100 +#: heat/engine/resources/autoscaling.py:104 msgid "Desired number of instances." msgstr "" -#: heat/engine/resources/autoscaling.py:106 -#: heat/engine/resources/autoscaling.py:479 +#: heat/engine/resources/autoscaling.py:110 +#: heat/engine/resources/autoscaling.py:485 msgid "List of LoadBalancer resources." msgstr "" -#: heat/engine/resources/autoscaling.py:110 -#: heat/engine/resources/autoscaling.py:487 +#: heat/engine/resources/autoscaling.py:114 +#: heat/engine/resources/autoscaling.py:493 msgid "Tags to attach to this group." msgstr "" -#: heat/engine/resources/autoscaling.py:130 +#: heat/engine/resources/autoscaling.py:134 msgid "A comma-delimited list of server ip addresses. (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:444 +#: heat/engine/resources/autoscaling.py:450 msgid "Maximum number of instances in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:450 +#: heat/engine/resources/autoscaling.py:456 msgid "Minimum number of instances in the group." msgstr "" -#: heat/engine/resources/autoscaling.py:456 -#: heat/engine/resources/autoscaling.py:774 +#: heat/engine/resources/autoscaling.py:462 +#: heat/engine/resources/autoscaling.py:826 msgid "Cooldown period, in seconds." msgstr "" -#: heat/engine/resources/autoscaling.py:461 +#: heat/engine/resources/autoscaling.py:467 msgid "Desired initial number of instances." msgstr "" -#: heat/engine/resources/autoscaling.py:483 +#: heat/engine/resources/autoscaling.py:489 msgid "List of VPC subnet identifiers." msgstr "" -#: heat/engine/resources/autoscaling.py:587 +#: heat/engine/resources/autoscaling.py:593 #, python-format msgid "%(name)s NOT performing scaling adjustment, cooldown %(cooldown)s" msgstr "" -#: heat/engine/resources/autoscaling.py:614 +#: heat/engine/resources/autoscaling.py:620 #, python-format msgid "truncating growth to %s" msgstr "" -#: heat/engine/resources/autoscaling.py:617 +#: heat/engine/resources/autoscaling.py:623 #, python-format msgid "can not exceed %s" msgstr "" -#: heat/engine/resources/autoscaling.py:621 +#: heat/engine/resources/autoscaling.py:627 #, python-format msgid "truncating shrinkage to %s" msgstr "" -#: heat/engine/resources/autoscaling.py:624 +#: heat/engine/resources/autoscaling.py:630 #, python-format msgid "can not be less than %s" msgstr "" -#: heat/engine/resources/autoscaling.py:628 +#: heat/engine/resources/autoscaling.py:634 #, python-format msgid "no change in capacity %d" msgstr "" +#: heat/engine/resources/autoscaling.py:644 +#, python-format +msgid "Start resizing the group %(group)s" +msgstr "" + #: heat/engine/resources/autoscaling.py:659 +msgid "Failed sending error notification" +msgstr "" + +#: heat/engine/resources/autoscaling.py:664 +#, python-format +msgid "End resizing the group %(group)s" +msgstr "" + +#: heat/engine/resources/autoscaling.py:692 +msgid "MinSize can not be greater than MaxSize" +msgstr "" + +#: heat/engine/resources/autoscaling.py:696 +msgid "The size of AutoScalingGroup can not be less than zero" +msgstr "" + +#: heat/engine/resources/autoscaling.py:702 +msgid "DesiredCapacity must be between MinSize and MaxSize" +msgstr "" + +#: heat/engine/resources/autoscaling.py:711 msgid "Anything other than one VPCZoneIdentifier" msgstr "" -#: heat/engine/resources/autoscaling.py:682 -#: heat/engine/resources/instance.py:136 +#: heat/engine/resources/autoscaling.py:734 +#: heat/engine/resources/instance.py:140 msgid "Glance image ID or name." msgstr "" -#: heat/engine/resources/autoscaling.py:687 -#: heat/engine/resources/instance.py:143 +#: heat/engine/resources/autoscaling.py:739 +#: heat/engine/resources/instance.py:147 msgid "Nova instance type (flavor)." msgstr "" -#: heat/engine/resources/autoscaling.py:692 -#: heat/engine/resources/instance.py:149 +#: heat/engine/resources/autoscaling.py:744 +#: heat/engine/resources/instance.py:153 msgid "Optional Nova keypair name." msgstr "" -#: heat/engine/resources/autoscaling.py:696 -#: heat/engine/resources/instance.py:251 +#: heat/engine/resources/autoscaling.py:748 +#: heat/engine/resources/instance.py:255 msgid "User data to pass to instance." msgstr "" -#: heat/engine/resources/autoscaling.py:700 -#: heat/engine/resources/instance.py:187 +#: heat/engine/resources/autoscaling.py:752 +#: heat/engine/resources/instance.py:191 msgid "Security group names to assign." msgstr "" -#: heat/engine/resources/autoscaling.py:719 -#: heat/engine/resources/instance.py:226 +#: heat/engine/resources/autoscaling.py:771 +#: heat/engine/resources/instance.py:230 msgid "Scheduler hints to pass to Nova (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:752 +#: heat/engine/resources/autoscaling.py:804 msgid "AutoScaling group name to apply policy to." msgstr "" -#: heat/engine/resources/autoscaling.py:757 +#: heat/engine/resources/autoscaling.py:809 msgid "Size of adjustment." msgstr "" -#: heat/engine/resources/autoscaling.py:763 +#: heat/engine/resources/autoscaling.py:815 msgid "Type of adjustment (absolute or percentage)." msgstr "" -#: heat/engine/resources/autoscaling.py:782 +#: heat/engine/resources/autoscaling.py:834 msgid "A signed url to handle the alarm. (Heat extension)." msgstr "" -#: heat/engine/resources/autoscaling.py:812 -#: heat/engine/resources/instance.py:71 +#: heat/engine/resources/autoscaling.py:868 +#: heat/engine/resources/instance.py:75 #, python-format msgid "%(name)s Alarm, new state %(state)s" msgstr "" -#: heat/engine/resources/autoscaling.py:818 +#: heat/engine/resources/autoscaling.py:874 #, python-format msgid "%(name)s NOT performing scaling action, cooldown %(cooldown)s" msgstr "" -#: heat/engine/resources/autoscaling.py:827 +#: heat/engine/resources/autoscaling.py:883 #, python-format msgid "Alarm %(alarm)s could not find scaling group named \"%(group)s\"" msgstr "" -#: heat/engine/resources/autoscaling.py:832 +#: heat/engine/resources/autoscaling.py:888 #, python-format -msgid "%(name)s Alarm, adjusting Group %(group)s by %(filter)s" +msgid "" +"%(name)s Alarm, adjusting Group %(group)s with id %(asgn_id)s by " +"%(filter)s" msgstr "" #: heat/engine/resources/cloud_watch.py:44 @@ -1973,12 +2037,12 @@ msgid "Operator used to compare the specified Statistic with Threshold." msgstr "" #: heat/engine/resources/cloud_watch.py:56 -#: heat/engine/resources/ceilometer/alarm.py:101 +#: heat/engine/resources/ceilometer/alarm.py:35 msgid "Description for the alarm." msgstr "" #: heat/engine/resources/cloud_watch.py:61 -#: heat/engine/resources/ceilometer/alarm.py:50 +#: heat/engine/resources/ceilometer/alarm.py:117 msgid "Number of periods to evaluate over." msgstr "" @@ -1991,7 +2055,7 @@ msgid "Namespace for the metric." msgstr "" #: heat/engine/resources/cloud_watch.py:74 -#: heat/engine/resources/ceilometer/alarm.py:61 +#: heat/engine/resources/ceilometer/alarm.py:127 msgid "Period (seconds) to evaluate over." msgstr "" @@ -2018,7 +2082,7 @@ msgid "A list of actions to execute when state transitions to insufficient-data. msgstr "" #: heat/engine/resources/cloud_watch.py:109 -#: heat/engine/resources/ceilometer/alarm.py:77 +#: heat/engine/resources/ceilometer/alarm.py:141 msgid "Threshold to evaluate against." msgstr "" @@ -2093,113 +2157,113 @@ msgstr "" msgid "A signed url to handle the alarm (Heat extension)." msgstr "" -#: heat/engine/resources/instance.py:79 +#: heat/engine/resources/instance.py:83 #, python-format msgid "%(name)s Alarm, can not find instance %(instance)s" msgstr "" -#: heat/engine/resources/instance.py:84 +#: heat/engine/resources/instance.py:88 #, python-format msgid "%(name)s Alarm, restarting resource: %(victim)s" msgstr "" -#: heat/engine/resources/instance.py:153 +#: heat/engine/resources/instance.py:157 msgid "Availability zone to launch the instance in." msgstr "" -#: heat/engine/resources/instance.py:191 +#: heat/engine/resources/instance.py:195 msgid "Security group IDs to assign." msgstr "" -#: heat/engine/resources/instance.py:195 +#: heat/engine/resources/instance.py:199 msgid "Network interfaces to associate with instance." msgstr "" -#: heat/engine/resources/instance.py:204 +#: heat/engine/resources/instance.py:208 msgid "Subnet ID to launch instance in." msgstr "" -#: heat/engine/resources/instance.py:208 +#: heat/engine/resources/instance.py:212 msgid "Tags to attach to instance." msgstr "" -#: heat/engine/resources/instance.py:255 +#: heat/engine/resources/instance.py:259 msgid "Volumes to attach to instance." msgstr "" -#: heat/engine/resources/instance.py:262 heat/engine/resources/volume.py:324 +#: heat/engine/resources/instance.py:266 heat/engine/resources/volume.py:320 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:271 heat/engine/resources/volume.py:319 -#: heat/engine/resources/volume.py:487 +#: heat/engine/resources/instance.py:275 heat/engine/resources/volume.py:315 +#: heat/engine/resources/volume.py:486 msgid "The ID of the volume to be attached." msgstr "" -#: heat/engine/resources/instance.py:279 +#: heat/engine/resources/instance.py:283 msgid "The Availability Zone where the specified instance is launched." msgstr "" -#: heat/engine/resources/instance.py:282 +#: heat/engine/resources/instance.py:286 msgid "Private DNS name of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:284 +#: heat/engine/resources/instance.py:288 msgid "Public DNS name of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:286 +#: heat/engine/resources/instance.py:290 msgid "Private IP address of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:288 +#: heat/engine/resources/instance.py:292 msgid "Public IP address of the specified instance." msgstr "" -#: heat/engine/resources/instance.py:473 +#: heat/engine/resources/instance.py:484 #, python-format msgid "Creation of server %(server)s failed: %(message)s (%(code)s)" msgstr "" -#: heat/engine/resources/instance.py:480 heat/engine/resources/server.py:301 +#: heat/engine/resources/instance.py:491 heat/engine/resources/server.py:350 #, python-format msgid "Creation of server %(server)s failed with unknown status: %(status)s" msgstr "" -#: heat/engine/resources/instance.py:570 +#: heat/engine/resources/instance.py:579 #, python-format msgid "Deletion of server %s failed." msgstr "" -#: heat/engine/resources/instance.py:618 heat/engine/resources/server.py:521 +#: heat/engine/resources/instance.py:627 heat/engine/resources/server.py:595 #, python-format msgid "Cannot suspend %s, resource_id not set" msgstr "" -#: heat/engine/resources/instance.py:624 heat/engine/resources/instance.py:678 +#: heat/engine/resources/instance.py:633 heat/engine/resources/instance.py:687 #, python-format msgid "Failed to find instance %s" msgstr "" -#: heat/engine/resources/instance.py:627 +#: heat/engine/resources/instance.py:636 #, python-format msgid "suspending instance %s" msgstr "" -#: heat/engine/resources/instance.py:655 +#: heat/engine/resources/instance.py:664 #, python-format msgid " nova reported unexpected instance[%(instance)s] status[%(status)s]" msgstr "" -#: heat/engine/resources/instance.py:672 heat/engine/resources/server.py:567 +#: heat/engine/resources/instance.py:681 heat/engine/resources/server.py:641 #, python-format msgid "Cannot resume %s, resource_id not set" msgstr "" -#: heat/engine/resources/instance.py:681 +#: heat/engine/resources/instance.py:690 #, python-format msgid "resuming instance %s" msgstr "" @@ -2221,65 +2285,74 @@ msgstr "" msgid "ID of the VPNGateway to attach to the VPC." msgstr "" -#: heat/engine/resources/loadbalancer.py:233 +#: heat/engine/resources/loadbalancer.py:241 msgid "The Availability Zones in which to create the load balancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:238 +#: heat/engine/resources/loadbalancer.py:246 msgid "An application health check for the instances." msgstr "" -#: heat/engine/resources/loadbalancer.py:242 +#: heat/engine/resources/loadbalancer.py:250 msgid "" "The number of consecutive health probe successes required before moving " "the instance to the healthy state." msgstr "" -#: heat/engine/resources/loadbalancer.py:249 +#: heat/engine/resources/loadbalancer.py:257 msgid "" "The approximate interval, in seconds, between health checks of an " "individual instance." msgstr "" -#: heat/engine/resources/loadbalancer.py:255 +#: heat/engine/resources/loadbalancer.py:263 msgid "The port being checked." msgstr "" -#: heat/engine/resources/loadbalancer.py:260 +#: heat/engine/resources/loadbalancer.py:268 msgid "Health probe timeout, in seconds." msgstr "" -#: heat/engine/resources/loadbalancer.py:265 +#: heat/engine/resources/loadbalancer.py:273 msgid "" "The number of consecutive health probe failures required before moving " "the instance to the unhealthy state" msgstr "" -#: heat/engine/resources/loadbalancer.py:274 +#: heat/engine/resources/loadbalancer.py:282 msgid "The list of instance IDs load balanced." msgstr "" -#: heat/engine/resources/loadbalancer.py:279 +#: heat/engine/resources/loadbalancer.py:287 msgid "One or more listeners for this load balancer." msgstr "" -#: heat/engine/resources/loadbalancer.py:285 +#: heat/engine/resources/loadbalancer.py:293 msgid "TCP port on which the instance server is listening." msgstr "" -#: heat/engine/resources/loadbalancer.py:291 +#: heat/engine/resources/loadbalancer.py:299 msgid "The external load balancer port number." msgstr "" -#: heat/engine/resources/loadbalancer.py:296 +#: heat/engine/resources/loadbalancer.py:304 msgid "The load balancer transport protocol to use." msgstr "" -#: heat/engine/resources/loadbalancer.py:409 +#: heat/engine/resources/loadbalancer.py:417 #, python-format msgid "haproxy server:%s" msgstr "" +#: heat/engine/resources/loadbalancer.py:428 +#, python-format +msgid "Using custom loadbalancer template %s" +msgstr "" + +#: heat/engine/resources/loadbalancer.py:484 +msgid "Custom LoadBalancer template can not be found" +msgstr "" + #: heat/engine/resources/network_interface.py:44 msgid "Description for this interface." msgstr "" @@ -2304,6 +2377,32 @@ msgstr "" msgid "Private IP address of the network interface." msgstr "" +#: 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:36 +msgid "Pool from which floating IP is allocated." +msgstr "" + +#: heat/engine/resources/nova_floatingip.py:37 +msgid "Allocated floating IP address." +msgstr "" + +#: 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:90 +msgid "Server to assign floating IP to." +msgstr "" + +#: 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:49 msgid "The name of the key pair." msgstr "" @@ -2350,12 +2449,12 @@ msgstr "" msgid "Resizing to '%(flavor)s' failed, status '%(status)s'" msgstr "" -#: heat/engine/resources/nova_utils.py:270 +#: heat/engine/resources/nova_utils.py:265 #, python-format msgid "Rebuilding server failed, status '%s'" msgstr "" -#: heat/engine/resources/nova_utils.py:290 +#: heat/engine/resources/nova_utils.py:285 #, python-format msgid "Instance (%(server)s) not found: %(ex)s" msgstr "" @@ -2582,219 +2681,225 @@ msgstr "" msgid "List of security group egress rules." msgstr "" -#: heat/engine/resources/server.py:38 +#: heat/engine/resources/server.py:71 +msgid "Server name." +msgstr "" + +#: heat/engine/resources/server.py:75 +msgid "The ID or name of the image to boot with." +msgstr "" + +#: heat/engine/resources/server.py:80 +msgid "Block device mappings for this server." +msgstr "" + +#: heat/engine/resources/server.py:86 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:43 +#: heat/engine/resources/server.py:93 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:47 +#: heat/engine/resources/server.py:99 msgid "The ID of the snapshot to create a volume from." msgstr "" -#: heat/engine/resources/server.py:51 +#: heat/engine/resources/server.py:104 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:56 +#: heat/engine/resources/server.py:110 msgid "" "Indicate whether the volume should be deleted when the server is " "terminated." msgstr "" -#: heat/engine/resources/server.py:63 -msgid "DEPRECATED! ID of network to create a port on." -msgstr "" - -#: heat/engine/resources/server.py:67 -msgid "Name or ID of network to create a port on." -msgstr "" - -#: heat/engine/resources/server.py:70 -msgid "Fixed IP address to specify for the port created on the requested network." -msgstr "" - -#: heat/engine/resources/server.py:74 -msgid "ID of an existing port to associate with this server." -msgstr "" - -#: heat/engine/resources/server.py:81 -msgid "Optional server name." -msgstr "" - -#: heat/engine/resources/server.py:84 -msgid "The ID or name of the image to boot with." -msgstr "" - -#: heat/engine/resources/server.py:88 -msgid "Block device mappings for this server." -msgstr "" - -#: heat/engine/resources/server.py:96 +#: heat/engine/resources/server.py:118 msgid "The ID or name of the flavor to boot onto." msgstr "" -#: heat/engine/resources/server.py:101 +#: heat/engine/resources/server.py:124 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:110 +#: heat/engine/resources/server.py:134 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:118 +#: heat/engine/resources/server.py:145 msgid "Name of keypair to inject into the server." msgstr "" -#: heat/engine/resources/server.py:122 +#: heat/engine/resources/server.py:149 msgid "Name of the administrative user to use on the server." msgstr "" -#: heat/engine/resources/server.py:126 +#: heat/engine/resources/server.py:154 msgid "Name of the availability zone for server placement." msgstr "" -#: heat/engine/resources/server.py:130 +#: heat/engine/resources/server.py:158 msgid "List of security group names or IDs." msgstr "" -#: heat/engine/resources/server.py:134 +#: heat/engine/resources/server.py:163 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:144 +#: heat/engine/resources/server.py:170 +msgid "DEPRECATED! ID of network to create a port on." +msgstr "" + +#: heat/engine/resources/server.py:174 +msgid "Name or ID of network to create a port on." +msgstr "" + +#: heat/engine/resources/server.py:178 +msgid "Fixed IP address to specify for the port created on the requested network." +msgstr "" + +#: heat/engine/resources/server.py:183 +msgid "ID of an existing port to associate with this server." +msgstr "" + +#: heat/engine/resources/server.py:191 msgid "Arbitrary key-value pairs specified by the client to help boot a server." msgstr "" -#: heat/engine/resources/server.py:149 +#: heat/engine/resources/server.py:196 msgid "" -"Arbitrary key/value metadata to store for this server. A maximum of five " -"entries is allowed, and both keys and values must be 255 characters or " -"less." +"Arbitrary key/value metadata to store for this server. Both keys and " +"values must be 255 characters or less." msgstr "" -#: heat/engine/resources/server.py:156 +#: heat/engine/resources/server.py:202 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 " "configuration data. For RAW, the user_data is passed to Nova unmodified." msgstr "" -#: heat/engine/resources/server.py:164 +#: heat/engine/resources/server.py:213 msgid "User data script to be executed by cloud-init." msgstr "" -#: heat/engine/resources/server.py:169 +#: heat/engine/resources/server.py:218 msgid "A UUID for the set of servers being requested." msgstr "" -#: heat/engine/resources/server.py:173 +#: heat/engine/resources/server.py:222 msgid "value for config drive either boolean, or volume-id." msgstr "" -#: heat/engine/resources/server.py:180 +#: heat/engine/resources/server.py:226 msgid "Control how the disk is partitioned when the server is created." msgstr "" -#: heat/engine/resources/server.py:186 +#: heat/engine/resources/server.py:235 msgid "A dict of all server details as returned by the API." msgstr "" -#: heat/engine/resources/server.py:187 +#: heat/engine/resources/server.py:236 msgid "A dict of all network addresses as returned by the API." msgstr "" -#: heat/engine/resources/server.py:189 +#: heat/engine/resources/server.py:238 msgid "" "A dict of assigned network addresses of the form: {\"public\": [ip1, " "ip2...], \"private\": [ip3, ip4]}." msgstr "" -#: heat/engine/resources/server.py:191 +#: heat/engine/resources/server.py:240 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:197 +#: heat/engine/resources/server.py:246 msgid "AWS compatible instance name." msgstr "" -#: heat/engine/resources/server.py:198 +#: heat/engine/resources/server.py:247 msgid "The manually assigned alternative public IPv4 address of the server." msgstr "" -#: heat/engine/resources/server.py:200 +#: heat/engine/resources/server.py:249 msgid "The manually assigned alternative public IPv6 address of the server." msgstr "" -#: heat/engine/resources/server.py:297 +#: heat/engine/resources/server.py:346 #, python-format msgid "Creation of server %s failed." msgstr "" -#: heat/engine/resources/server.py:465 +#: heat/engine/resources/server.py:523 #, python-format msgid "Either volume_id or snapshot_id must be specified for device mapping %s" msgstr "" -#: heat/engine/resources/server.py:474 +#: heat/engine/resources/server.py:532 #, python-format msgid "Neither image nor bootable volume is specified for instance %s" msgstr "" -#: heat/engine/resources/server.py:482 heat/tests/test_server.py:418 +#: heat/engine/resources/server.py:540 #, python-format msgid "" -"Properties \"uuid\" and \"network\" are both set to the network " -"\"%(network)s\" for the server \"%(server)s\". The \"uuid\" property is " -"deprecated. Use only \"network\" property." +"Properties \"%(uuid)s\" and \"%(id)s\" are both set to the network " +"\"%(network)s\" for the server \"%(server)s\". The \"%(uuid)s\" property " +"is deprecated. Use only \"%(id)s\" property." msgstr "" -#: heat/engine/resources/server.py:490 +#: heat/engine/resources/server.py:550 #, python-format msgid "" -"For the server \"%(server)s\" the \"uuid\" property is set to network " -"\"%(network)s\". \"uuid\" property is deprecated. Use \"network\" " +"For the server \"%(server)s\" the \"%(uuid)s\" property is set to network" +" \"%(network)s\". \"%(uuid)s\" property is deprecated. Use \"%(id)s\" " "property instead." msgstr "" -#: heat/engine/resources/server.py:527 heat/engine/resources/server.py:573 +#: heat/engine/resources/server.py:566 +#, 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:601 heat/engine/resources/server.py:647 #, python-format msgid "Failed to find server %s" msgstr "" -#: heat/engine/resources/server.py:530 +#: heat/engine/resources/server.py:604 #, python-format msgid "suspending server %s" msgstr "" -#: heat/engine/resources/server.py:547 +#: heat/engine/resources/server.py:621 #, python-format msgid "%(name)s check_suspend_complete status = %(status)s" msgstr "" -#: heat/engine/resources/server.py:554 +#: heat/engine/resources/server.py:628 #, python-format msgid "Suspend of server %(server)s failed with unknown status: %(status)s" msgstr "" -#: heat/engine/resources/server.py:576 +#: heat/engine/resources/server.py:650 #, python-format msgid "resuming server %s" msgstr "" @@ -2813,7 +2918,7 @@ msgstr "" msgid "The set of parameters passed to this nested stack." msgstr "" -#: heat/engine/resources/stack.py:68 heat/engine/resources/stack.py:101 +#: heat/engine/resources/stack.py:74 heat/engine/resources/stack.py:108 #, python-format msgid "Could not fetch remote template '%(url)s': %(exc)s" msgstr "" @@ -2898,257 +3003,252 @@ msgstr "" msgid "SwiftContainer delete container %s" msgstr "" -#: heat/engine/resources/swift.py:153 +#: heat/engine/resources/swift.py:152 #, python-format msgid "Head container failed: %s" msgstr "" -#: heat/engine/resources/template_resource.py:53 +#: heat/engine/resources/template_resource.py:54 msgid "Only Templates with an extension of .yaml or .template are supported" msgstr "" -#: heat/engine/resources/template_resource.py:141 +#: heat/engine/resources/template_resource.py:150 #, python-format msgid "Could not fetch remote template '%(name)s': %(exc)s" msgstr "" -#: heat/engine/resources/template_resource.py:154 +#: heat/engine/resources/template_resource.py:163 #, python-format msgid "Unknown error retrieving %s" msgstr "" -#: heat/engine/resources/template_resource.py:163 +#: heat/engine/resources/template_resource.py:172 #, python-format msgid "Required property %(n)s for facade %(type)s missing in provider" msgstr "" -#: heat/engine/resources/template_resource.py:171 +#: heat/engine/resources/template_resource.py:180 #, python-format msgid "" "Property %(n)s type mismatch between facade %(type)s (%(fs_type)s) and " "provider (%(ps_type)s)" msgstr "" -#: heat/engine/resources/template_resource.py:180 +#: heat/engine/resources/template_resource.py:189 #, python-format msgid "Provider requires property %(n)s unknown in facade %(type)s" msgstr "" -#: heat/engine/resources/template_resource.py:187 +#: heat/engine/resources/template_resource.py:196 #, python-format msgid "Attribute %(attr)s for facade %(type)s missing in provider" msgstr "" -#: heat/engine/resources/template_resource.py:200 +#: heat/engine/resources/template_resource.py:209 #, python-format msgid "Failed to retrieve template data: %s" msgstr "" -#: heat/engine/resources/user.py:57 +#: heat/engine/resources/user.py:59 msgid "A login profile for the user." msgstr "" -#: heat/engine/resources/user.py:66 +#: heat/engine/resources/user.py:68 msgid "Access policies to apply to the user." msgstr "" -#: heat/engine/resources/user.py:81 heat/engine/resources/user.py:151 +#: heat/engine/resources/user.py:83 heat/engine/resources/user.py:153 #, python-format msgid "Ignoring policy %s, must be string resource name" msgstr "" -#: heat/engine/resources/user.py:88 +#: heat/engine/resources/user.py:90 #, 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:96 #, python-format msgid "Policy %s is not an AccessPolicy resource" msgstr "" -#: heat/engine/resources/user.py:117 +#: heat/engine/resources/user.py:119 msgid "Cannot delete User resource before user created!" msgstr "" -#: heat/engine/resources/user.py:127 +#: heat/engine/resources/user.py:129 msgid "Cannot suspend User resource before user created!" msgstr "" -#: heat/engine/resources/user.py:134 +#: heat/engine/resources/user.py:136 msgid "Cannot resume User resource before user created!" msgstr "" -#: heat/engine/resources/user.py:175 +#: heat/engine/resources/user.py:177 msgid "The name of the user that the new key will belong to." msgstr "" -#: heat/engine/resources/user.py:209 +#: heat/engine/resources/user.py:213 #, python-format msgid "could not find user %s" msgstr "" -#: heat/engine/resources/user.py:227 +#: heat/engine/resources/user.py:242 #, python-format msgid "Error deleting %s - user not found" msgstr "" -#: heat/engine/resources/user.py:244 heat/engine/resources/user.py:253 +#: heat/engine/resources/user.py:259 heat/engine/resources/user.py:282 #, python-format msgid "could not get secret for %(username)s Error:%(msg)s" msgstr "" -#: heat/engine/resources/user.py:261 -#, python-format -msgid "Unexpected ec2 keypair, for %(id)s access %(access)s" -msgstr "" - -#: heat/engine/resources/user.py:299 +#: heat/engine/resources/user.py:325 msgid "" "Resources that users are allowed to access by the DescribeStackResource " "API." msgstr "" -#: heat/engine/resources/user.py:310 +#: heat/engine/resources/user.py:336 #, python-format msgid "AccessPolicy resource %s not in stack" msgstr "" -#: heat/engine/resources/volume.py:55 heat/engine/resources/volume.py:373 +#: heat/engine/resources/volume.py:51 heat/engine/resources/volume.py:369 msgid "The availability zone in which the volume will be created." msgstr "" -#: heat/engine/resources/volume.py:60 heat/engine/resources/volume.py:377 -#: heat/engine/resources/volume.py:422 +#: heat/engine/resources/volume.py:56 heat/engine/resources/volume.py:373 +#: heat/engine/resources/volume.py:421 msgid "The size of the volume in GB." msgstr "" -#: heat/engine/resources/volume.py:64 +#: heat/engine/resources/volume.py:60 msgid "If specified, the backup used as the source to create the volume." msgstr "" -#: heat/engine/resources/volume.py:69 +#: heat/engine/resources/volume.py:65 msgid "The list of tags to associate with the volume." msgstr "" -#: heat/engine/resources/volume.py:159 +#: heat/engine/resources/volume.py:155 msgid "cant delete volume when in-use" msgstr "" -#: heat/engine/resources/volume.py:160 +#: heat/engine/resources/volume.py:156 msgid "Volume in use" msgstr "" -#: heat/engine/resources/volume.py:227 +#: heat/engine/resources/volume.py:223 #, python-format msgid "%(name)s - volume status: %(status)s" msgstr "" -#: heat/engine/resources/volume.py:235 +#: heat/engine/resources/volume.py:231 #, python-format msgid "%s - complete" msgstr "" -#: heat/engine/resources/volume.py:268 heat/engine/resources/volume.py:301 +#: heat/engine/resources/volume.py:264 heat/engine/resources/volume.py:297 #, python-format msgid "%s - volume not found" msgstr "" -#: heat/engine/resources/volume.py:284 +#: heat/engine/resources/volume.py:280 #, python-format msgid "%s - volume still in use" msgstr "" -#: heat/engine/resources/volume.py:295 +#: heat/engine/resources/volume.py:291 #, python-format msgid "%(name)s - status: %(status)s" msgstr "" -#: heat/engine/resources/volume.py:314 +#: heat/engine/resources/volume.py:310 msgid "The ID of the instance to which the volume attaches." msgstr "" -#: heat/engine/resources/volume.py:381 +#: heat/engine/resources/volume.py:380 msgid "If specified, the snapshot to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:385 +#: heat/engine/resources/volume.py:384 msgid "If specified, the backup to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:389 +#: heat/engine/resources/volume.py:388 msgid "A name used to distinguish the volume." msgstr "" -#: heat/engine/resources/volume.py:393 +#: heat/engine/resources/volume.py:392 msgid "A description of the volume." msgstr "" -#: heat/engine/resources/volume.py:397 +#: heat/engine/resources/volume.py:396 msgid "If specified, the type of volume to use, mapping to a specific backend." msgstr "" -#: heat/engine/resources/volume.py:402 +#: heat/engine/resources/volume.py:401 msgid "Key/value pairs to associate with the volume." msgstr "" -#: heat/engine/resources/volume.py:406 +#: heat/engine/resources/volume.py:405 msgid "DEPRECATED: use \"image\" instead." msgstr "" -#: heat/engine/resources/volume.py:410 +#: heat/engine/resources/volume.py:409 msgid "If specified, the name or ID of the image to create the volume from." msgstr "" -#: heat/engine/resources/volume.py:415 +#: heat/engine/resources/volume.py:414 msgid "If specified, the volume to use as source." msgstr "" -#: heat/engine/resources/volume.py:420 +#: heat/engine/resources/volume.py:419 msgid "The availability zone in which the volume is located." msgstr "" -#: heat/engine/resources/volume.py:423 +#: heat/engine/resources/volume.py:422 msgid "The snapshot the volume was created from, if any." msgstr "" -#: heat/engine/resources/volume.py:424 +#: heat/engine/resources/volume.py:423 msgid "Name of the volume." msgstr "" -#: heat/engine/resources/volume.py:425 +#: heat/engine/resources/volume.py:424 msgid "Description of the volume." msgstr "" -#: heat/engine/resources/volume.py:426 +#: heat/engine/resources/volume.py:425 msgid "The type of the volume mapping to a backend, if any." msgstr "" -#: heat/engine/resources/volume.py:428 +#: heat/engine/resources/volume.py:427 msgid "Key/value pairs associated with the volume." msgstr "" -#: heat/engine/resources/volume.py:429 +#: heat/engine/resources/volume.py:428 msgid "The volume used as source, if any." msgstr "" -#: heat/engine/resources/volume.py:430 +#: heat/engine/resources/volume.py:429 msgid "The current status of the volume." msgstr "" -#: heat/engine/resources/volume.py:431 +#: heat/engine/resources/volume.py:430 msgid "The timestamp indicating volume creation." msgstr "" -#: heat/engine/resources/volume.py:432 +#: heat/engine/resources/volume.py:431 msgid "Boolean indicating if the volume can be booted or not." msgstr "" -#: heat/engine/resources/volume.py:482 +#: heat/engine/resources/volume.py:481 msgid "The ID of the server to which the volume attaches." msgstr "" -#: heat/engine/resources/volume.py:492 +#: heat/engine/resources/volume.py:491 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-" @@ -3175,228 +3275,236 @@ msgstr "" msgid "Multiple routers found with name %s" msgstr "" -#: heat/engine/resources/wait_condition.py:76 +#: heat/engine/resources/wait_condition.py:80 #, python-format msgid "Overwriting Metadata item for UniqueId %s!" msgstr "" -#: heat/engine/resources/wait_condition.py:86 +#: heat/engine/resources/wait_condition.py:90 #, python-format msgid "Metadata failed validation for %s" msgstr "" -#: heat/engine/resources/wait_condition.py:87 +#: heat/engine/resources/wait_condition.py:91 msgid "Metadata format invalid" msgstr "" -#: heat/engine/resources/wait_condition.py:125 +#: heat/engine/resources/wait_condition.py:142 #, python-format msgid "%(len)d of %(count)d received" msgstr "" -#: heat/engine/resources/wait_condition.py:144 +#: heat/engine/resources/wait_condition.py:161 msgid "" "A reference to the wait condition handle used to signal this wait " "condition." msgstr "" -#: heat/engine/resources/wait_condition.py:150 +#: heat/engine/resources/wait_condition.py:167 msgid "The number of seconds to wait for the correct number of signals to arrive." msgstr "" -#: heat/engine/resources/wait_condition.py:159 +#: heat/engine/resources/wait_condition.py:176 msgid "" "The number of success signals that must be received before the stack " "creation process continues." msgstr "" -#: heat/engine/resources/wait_condition.py:178 +#: heat/engine/resources/wait_condition.py:195 #, python-format msgid "WaitCondition invalid Handle tenant %s" msgstr "" -#: heat/engine/resources/wait_condition.py:181 -#: heat/engine/resources/wait_condition.py:184 +#: heat/engine/resources/wait_condition.py:198 +#: heat/engine/resources/wait_condition.py:201 #, python-format msgid "WaitCondition invalid Handle stack %s" msgstr "" -#: heat/engine/resources/wait_condition.py:187 -#: heat/engine/resources/wait_condition.py:191 +#: 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:205 +#: heat/engine/resources/wait_condition.py:222 #, python-format msgid "%(name)s Timed out (%(timeout)s)" msgstr "" -#: heat/engine/resources/wait_condition.py:213 +#: heat/engine/resources/wait_condition.py:230 #, python-format msgid "%(name)s Failed (%(failure)s)" msgstr "" -#: heat/engine/resources/wait_condition.py:218 +#: heat/engine/resources/wait_condition.py:235 #, python-format msgid "%s Succeeded" msgstr "" #: heat/engine/resources/ceilometer/alarm.py:40 -msgid "Operator used to compare specified statistic with threshold." -msgstr "" - -#: heat/engine/resources/ceilometer/alarm.py:56 -msgid "Meter name watched by the alarm." -msgstr "" - -#: heat/engine/resources/ceilometer/alarm.py:67 -msgid "Meter statistic to evaluate." +msgid "True if alarm evaluation/actioning is enabled." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:83 +#: heat/engine/resources/ceilometer/alarm.py:46 msgid "A list of URLs (webhooks) to invoke when state transitions to alarm." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:89 +#: heat/engine/resources/ceilometer/alarm.py:52 msgid "A list of URLs (webhooks) to invoke when state transitions to ok." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:95 +#: heat/engine/resources/ceilometer/alarm.py:58 msgid "" "A list of URLs (webhooks) to invoke when state transitions to " "insufficient-data." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:106 -msgid "True if alarm evaluation/actioning is enabled." -msgstr "" - -#: heat/engine/resources/ceilometer/alarm.py:112 +#: heat/engine/resources/ceilometer/alarm.py:64 msgid "" "False to trigger actions when the threshold is reached AND the alarm's " "state has changed. By default, actions are called each time the threshold" " is reached." msgstr "" -#: heat/engine/resources/ceilometer/alarm.py:120 +#: heat/engine/resources/ceilometer/alarm.py:108 +msgid "Operator used to compare specified statistic with threshold." +msgstr "" + +#: heat/engine/resources/ceilometer/alarm.py:122 +msgid "Meter name watched by the alarm." +msgstr "" + +#: heat/engine/resources/ceilometer/alarm.py:132 +msgid "Meter statistic to evaluate." +msgstr "" + +#: heat/engine/resources/ceilometer/alarm.py:147 msgid "" "Meter should match this resource metadata (key=value) additionally to the" " meter_name." msgstr "" -#: heat/engine/resources/neutron/firewall.py:62 +#: heat/engine/resources/ceilometer/alarm.py:213 +msgid "List of alarm identifiers to combine." +msgstr "" + +#: heat/engine/resources/ceilometer/alarm.py:219 +msgid "Operator used to combine the alarms." +msgstr "" + +#: heat/engine/resources/neutron/firewall.py:61 msgid "Name for the Firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:63 +#: heat/engine/resources/neutron/firewall.py:62 msgid "Description of the Firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:64 +#: heat/engine/resources/neutron/firewall.py:63 msgid "The administrative state of the Firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:65 +#: heat/engine/resources/neutron/firewall.py:64 msgid "Unique identifier of the FirewallPolicy used to create the Firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:67 +#: heat/engine/resources/neutron/firewall.py:66 msgid "The status of the Firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:68 -#: heat/engine/resources/neutron/firewall.py:268 +#: heat/engine/resources/neutron/firewall.py:67 +#: heat/engine/resources/neutron/firewall.py:265 msgid "Id of the tenant owning the Firewall." msgstr "" -#: heat/engine/resources/neutron/firewall.py:69 +#: heat/engine/resources/neutron/firewall.py:68 #: heat/engine/resources/neutron/floatingip.py:69 #: heat/engine/resources/neutron/loadbalancer.py:118 -#: heat/engine/resources/neutron/loadbalancer.py:423 -#: heat/engine/resources/neutron/net.py:79 -#: heat/engine/resources/neutron/port.py:141 -#: heat/engine/resources/neutron/router.py:89 -#: heat/engine/resources/neutron/subnet.py:119 -#: heat/engine/resources/neutron/vpnservice.py:83 +#: heat/engine/resources/neutron/loadbalancer.py:475 +#: heat/engine/resources/neutron/net.py:78 +#: heat/engine/resources/neutron/port.py:140 +#: heat/engine/resources/neutron/router.py:88 +#: heat/engine/resources/neutron/subnet.py:118 +#: heat/engine/resources/neutron/vpnservice.py:82 msgid "All attributes." msgstr "" -#: heat/engine/resources/neutron/firewall.py:139 +#: heat/engine/resources/neutron/firewall.py:137 msgid "Name for the FirewallPolicy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:140 +#: heat/engine/resources/neutron/firewall.py:138 msgid "Description of the FirewallPolicy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:141 +#: heat/engine/resources/neutron/firewall.py:139 msgid "List of FirewallRules in this FirewallPolicy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:142 +#: heat/engine/resources/neutron/firewall.py:140 msgid "Shared status of this FirewallPolicy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:143 +#: heat/engine/resources/neutron/firewall.py:141 msgid "Audit status of this FirewallPolicy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:144 +#: heat/engine/resources/neutron/firewall.py:142 msgid "Id of the tenant owning the FirewallPolicy." msgstr "" -#: heat/engine/resources/neutron/firewall.py:253 +#: heat/engine/resources/neutron/firewall.py:250 msgid "Name for the FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:254 +#: heat/engine/resources/neutron/firewall.py:251 msgid "Description of the FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:255 +#: heat/engine/resources/neutron/firewall.py:252 msgid "" "Unique identifier of the FirewallPolicy to which this FirewallRule " "belongs." msgstr "" -#: heat/engine/resources/neutron/firewall.py:257 +#: heat/engine/resources/neutron/firewall.py:254 msgid "Shared status of this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:258 +#: heat/engine/resources/neutron/firewall.py:255 msgid "Protocol value for this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:259 +#: heat/engine/resources/neutron/firewall.py:256 msgid "Ip_version for this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:260 +#: heat/engine/resources/neutron/firewall.py:257 msgid "Source ip_address for this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:261 +#: heat/engine/resources/neutron/firewall.py:258 msgid "Destination ip_address for this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:263 +#: heat/engine/resources/neutron/firewall.py:260 msgid "Source port range for this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:264 +#: heat/engine/resources/neutron/firewall.py:261 msgid "Destination port range for this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:265 +#: heat/engine/resources/neutron/firewall.py:262 msgid "Allow or deny action for this FirewallRule." msgstr "" -#: heat/engine/resources/neutron/firewall.py:266 +#: heat/engine/resources/neutron/firewall.py:263 msgid "Indicates whether this FirewallRule is enabled or not." msgstr "" -#: heat/engine/resources/neutron/firewall.py:267 +#: heat/engine/resources/neutron/firewall.py:264 msgid "Position of the rule within the FirewallPolicy." msgstr "" @@ -3412,14 +3520,14 @@ msgid "" msgstr "" #: heat/engine/resources/neutron/floatingip.py:50 -#: heat/engine/resources/neutron/floatingip.py:117 +#: heat/engine/resources/neutron/floatingip.py:116 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:55 -#: heat/engine/resources/neutron/floatingip.py:122 +#: heat/engine/resources/neutron/floatingip.py:121 msgid "IP address to use if the port has multiple addresses." msgstr "" @@ -3447,7 +3555,7 @@ msgstr "" msgid "ID of the port associated with this IP." msgstr "" -#: heat/engine/resources/neutron/floatingip.py:112 +#: heat/engine/resources/neutron/floatingip.py:111 msgid "ID of the floating IP to associate." msgstr "" @@ -3506,360 +3614,424 @@ msgstr "" msgid "Tenant owning the health monitor." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:172 +#: heat/engine/resources/neutron/loadbalancer.py:177 msgid "Protocol for balancing." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:180 -#: heat/engine/resources/neutron/loadbalancer.py:257 +#: heat/engine/resources/neutron/loadbalancer.py:185 +#: heat/engine/resources/neutron/loadbalancer.py:282 msgid "The subnet on which the members of the pool will be located." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:185 -#: heat/engine/resources/neutron/loadbalancer.py:259 +#: heat/engine/resources/neutron/loadbalancer.py:190 +#: heat/engine/resources/neutron/loadbalancer.py:284 msgid "The algorithm used to distribute load between the members of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:196 -#: heat/engine/resources/neutron/loadbalancer.py:255 +#: heat/engine/resources/neutron/loadbalancer.py:201 +#: heat/engine/resources/neutron/loadbalancer.py:280 msgid "Name of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:200 -#: heat/engine/resources/neutron/loadbalancer.py:261 +#: heat/engine/resources/neutron/loadbalancer.py:205 +#: heat/engine/resources/neutron/loadbalancer.py:286 msgid "Description of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:205 -#: heat/engine/resources/neutron/loadbalancer.py:254 +#: heat/engine/resources/neutron/loadbalancer.py:210 +#: heat/engine/resources/neutron/loadbalancer.py:279 msgid "The administrative state of this pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:211 +#: heat/engine/resources/neutron/loadbalancer.py:216 msgid "IP address and port of the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:215 +#: heat/engine/resources/neutron/loadbalancer.py:220 msgid "Name of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:219 +#: heat/engine/resources/neutron/loadbalancer.py:224 msgid "Description of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:223 +#: heat/engine/resources/neutron/loadbalancer.py:228 msgid "IP address of the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:227 +#: heat/engine/resources/neutron/loadbalancer.py:232 msgid "The maximum number of connections per second allowed for the vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:232 +#: heat/engine/resources/neutron/loadbalancer.py:237 msgid "" "TCP port on which to listen for client traffic that is associated with " "the vip address." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:238 +#: heat/engine/resources/neutron/loadbalancer.py:243 +msgid "Configuration of session persistence." +msgstr "" + +#: heat/engine/resources/neutron/loadbalancer.py:247 +msgid "Method of implementation of session persistence feature." +msgstr "" + +#: heat/engine/resources/neutron/loadbalancer.py:256 +msgid "Name of the cookie, required if type is APP_COOKIE." +msgstr "" + +#: heat/engine/resources/neutron/loadbalancer.py:263 msgid "The administrative state of this vip." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:246 +#: heat/engine/resources/neutron/loadbalancer.py:271 msgid "List of health monitors associated with the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:256 +#: heat/engine/resources/neutron/loadbalancer.py:281 msgid "Protocol to balance." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:262 +#: heat/engine/resources/neutron/loadbalancer.py:287 msgid "Tenant owning the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:263 +#: heat/engine/resources/neutron/loadbalancer.py:288 msgid "Vip associated with the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:381 -#: heat/engine/resources/neutron/loadbalancer.py:420 -#: heat/engine/resources/neutron/loadbalancer.py:482 +#: heat/engine/resources/neutron/loadbalancer.py:306 +#: heat/tests/test_neutron_loadbalancer.py:468 +msgid "" +"Property cookie_name is required, when session_persistence type is set to" +" APP_COOKIE." +msgstr "" + +#: heat/engine/resources/neutron/loadbalancer.py:433 +#: heat/engine/resources/neutron/loadbalancer.py:472 +#: heat/engine/resources/neutron/loadbalancer.py:533 msgid "The ID of the load balancing pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:387 +#: heat/engine/resources/neutron/loadbalancer.py:439 msgid "IP address of the pool member on the pool network." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:392 +#: heat/engine/resources/neutron/loadbalancer.py:444 msgid "TCP port on which the pool member listens for requests or connections." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:401 +#: heat/engine/resources/neutron/loadbalancer.py:453 msgid "Weight of pool member in the pool (default to 1)." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:409 +#: heat/engine/resources/neutron/loadbalancer.py:461 msgid "The administrative state of the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:415 +#: heat/engine/resources/neutron/loadbalancer.py:467 msgid "The administrative state of this pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:417 +#: heat/engine/resources/neutron/loadbalancer.py:469 msgid "Tenant owning the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:418 +#: heat/engine/resources/neutron/loadbalancer.py:470 msgid "Weight of the pool member in the pool." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:419 +#: heat/engine/resources/neutron/loadbalancer.py:471 msgid "IP address of the pool member." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:421 +#: heat/engine/resources/neutron/loadbalancer.py:473 msgid "TCP port on which the pool member listens forrequests or connections." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:488 +#: heat/engine/resources/neutron/loadbalancer.py:539 msgid "Port number on which the servers are running on the members." msgstr "" -#: heat/engine/resources/neutron/loadbalancer.py:493 +#: heat/engine/resources/neutron/loadbalancer.py:544 msgid "The list of Nova server IDs load balanced." msgstr "" -#: heat/engine/resources/neutron/net.py:38 +#: heat/engine/resources/neutron/metering.py:36 +#: heat/engine/resources/neutron/metering.py:45 +msgid "Name of the metering label." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:40 +#: heat/engine/resources/neutron/metering.py:46 +msgid "Description of the metering label." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:86 +msgid "The metering label ID to associate with this metering rule." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:91 +msgid "Indicates remote IP prefix to be associated with this metering rule." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:97 +msgid "The direction in which metering rule is applied, either ingress or egress." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:105 +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 +msgid "The direction in which metering rule is applied." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:114 +msgid "Exclude state for cidr." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:115 +msgid "The metering label ID to associate with this metering rule.." +msgstr "" + +#: heat/engine/resources/neutron/metering.py:117 +msgid "CIDR to be associated with this metering rule." +msgstr "" + +#: heat/engine/resources/neutron/net.py:37 msgid "" "A string specifying a symbolic name for the network, which is not " "required to be unique." msgstr "" -#: heat/engine/resources/neutron/net.py:44 +#: heat/engine/resources/neutron/net.py:43 msgid "" "Extra parameters to include in the \"network\" object in the creation " "request. Parameters are often specific to installed hardware or " "extensions." msgstr "" -#: heat/engine/resources/neutron/net.py:52 +#: heat/engine/resources/neutron/net.py:51 msgid "A boolean value specifying the administrative status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:59 +#: heat/engine/resources/neutron/net.py:58 msgid "" "The ID of the tenant which will own the network. Only administrative " "users can set the tenant identifier; this cannot be changed using " "authorization policies." msgstr "" -#: heat/engine/resources/neutron/net.py:65 +#: heat/engine/resources/neutron/net.py:64 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 status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:75 +#: heat/engine/resources/neutron/net.py:74 msgid "The name of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:76 +#: heat/engine/resources/neutron/net.py:75 msgid "Subnets of this network." msgstr "" -#: heat/engine/resources/neutron/net.py:77 +#: heat/engine/resources/neutron/net.py:76 msgid "The administrative status of the network." msgstr "" -#: heat/engine/resources/neutron/net.py:78 +#: heat/engine/resources/neutron/net.py:77 msgid "The tenant owning this network." msgstr "" -#: heat/engine/resources/neutron/net.py:134 +#: heat/engine/resources/neutron/net.py:133 msgid "" "The ID of the network you want to be scheduled by the dhcp_agent. Note " "that the default policy setting in Neutron restricts usage of this " "property to administrative users only." msgstr "" -#: heat/engine/resources/neutron/net.py:142 +#: heat/engine/resources/neutron/net.py:141 msgid "" "The ID 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/neutron.py:123 +#: heat/engine/resources/neutron/neutron.py:124 #, 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:63 +#: heat/engine/resources/neutron/port.py:62 msgid "" "Extra parameters to include in the \"port\" object in the creation " "request." msgstr "" -#: heat/engine/resources/neutron/port.py:69 -#: heat/engine/resources/neutron/port.py:129 +#: heat/engine/resources/neutron/port.py:68 +#: heat/engine/resources/neutron/port.py:128 msgid "The administrative state of this port." msgstr "" -#: heat/engine/resources/neutron/port.py:75 +#: heat/engine/resources/neutron/port.py:74 msgid "Desired IPs for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:82 +#: heat/engine/resources/neutron/port.py:81 msgid "Subnet in which to allocate the IP address for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:87 +#: heat/engine/resources/neutron/port.py:86 msgid "IP address desired in the subnet for this port." msgstr "" -#: heat/engine/resources/neutron/port.py:95 +#: heat/engine/resources/neutron/port.py:94 msgid "MAC address to give to this port." msgstr "" -#: heat/engine/resources/neutron/port.py:99 +#: heat/engine/resources/neutron/port.py:98 msgid "Device ID of this port." msgstr "" -#: heat/engine/resources/neutron/port.py:103 +#: heat/engine/resources/neutron/port.py:102 msgid "Security group IDs to associate with this port." msgstr "" -#: heat/engine/resources/neutron/port.py:109 +#: heat/engine/resources/neutron/port.py:108 msgid "Additional MAC/IP address pairs allowed to pass through the port." msgstr "" -#: heat/engine/resources/neutron/port.py:116 +#: heat/engine/resources/neutron/port.py:115 msgid "MAC address to allow through this port." msgstr "" -#: heat/engine/resources/neutron/port.py:120 +#: heat/engine/resources/neutron/port.py:119 msgid "IP address to allow through this port." msgstr "" -#: heat/engine/resources/neutron/port.py:130 +#: heat/engine/resources/neutron/port.py:129 msgid "Unique identifier for the device." msgstr "" -#: heat/engine/resources/neutron/port.py:131 +#: heat/engine/resources/neutron/port.py:130 msgid "Name of the network owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:132 +#: heat/engine/resources/neutron/port.py:131 msgid "Fixed IP addresses." msgstr "" -#: heat/engine/resources/neutron/port.py:133 +#: heat/engine/resources/neutron/port.py:132 msgid "MAC address of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:134 +#: heat/engine/resources/neutron/port.py:133 msgid "Friendly name of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:135 +#: heat/engine/resources/neutron/port.py:134 msgid "Unique identifier for the network owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:136 +#: heat/engine/resources/neutron/port.py:135 msgid "A list of security groups for the port." msgstr "" -#: heat/engine/resources/neutron/port.py:137 +#: heat/engine/resources/neutron/port.py:136 msgid "The status of the port." msgstr "" -#: heat/engine/resources/neutron/port.py:138 +#: heat/engine/resources/neutron/port.py:137 msgid "Tenant owning the port." msgstr "" -#: heat/engine/resources/neutron/port.py:139 +#: heat/engine/resources/neutron/port.py:138 msgid "Additional MAC/IP address pairs allowed to pass through a port." msgstr "" -#: heat/engine/resources/neutron/port.py:214 +#: heat/engine/resources/neutron/port.py:215 #, python-format msgid "updating port with %s" 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 +#: heat/engine/resources/neutron/router.py:63 msgid "Enables Source NAT on the router gateway." msgstr "" -#: heat/engine/resources/neutron/router.py:84 +#: heat/engine/resources/neutron/router.py:83 msgid "The status of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:85 +#: heat/engine/resources/neutron/router.py:84 msgid "Gateway network for the router." msgstr "" -#: heat/engine/resources/neutron/router.py:86 +#: heat/engine/resources/neutron/router.py:85 msgid "Friendly name of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:87 +#: heat/engine/resources/neutron/router.py:86 msgid "Administrative state of the router." msgstr "" -#: heat/engine/resources/neutron/router.py:88 +#: heat/engine/resources/neutron/router.py:87 msgid "Tenant owning the router." msgstr "" -#: heat/engine/resources/neutron/router.py:145 +#: heat/engine/resources/neutron/router.py:143 msgid "The router id." msgstr "" -#: heat/engine/resources/neutron/router.py:150 +#: heat/engine/resources/neutron/router.py:148 msgid "The subnet id, either subnet_id or port_id should be specified." msgstr "" -#: heat/engine/resources/neutron/router.py:155 +#: heat/engine/resources/neutron/router.py:153 msgid "The port id, either subnet_id or port_id should be specified." msgstr "" -#: heat/engine/resources/neutron/router.py:216 +#: heat/engine/resources/neutron/router.py:213 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:294 +#: heat/engine/resources/neutron/router.py:290 msgid "" "The ID of the router you want to be scheduled by the l3_agent. Note that " "the default policy setting in Neutron restricts usage of this property to" " administrative users only." msgstr "" -#: heat/engine/resources/neutron/router.py:302 +#: heat/engine/resources/neutron/router.py:298 msgid "" "The ID of the l3-agent to schedule the router. Note that the default " "policy setting in Neutron restricts usage of this property to " @@ -3930,383 +4102,383 @@ msgstr "" msgid "Security groups cannot be assigned the name \"default\"." msgstr "" -#: heat/engine/resources/neutron/subnet.py:108 +#: heat/engine/resources/neutron/subnet.py:107 msgid "Friendly name of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:109 +#: heat/engine/resources/neutron/subnet.py:108 msgid "Parent network of the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:110 +#: heat/engine/resources/neutron/subnet.py:109 msgid "Tenant owning the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:111 +#: heat/engine/resources/neutron/subnet.py:110 msgid "Ip allocation pools and their ranges." msgstr "" -#: heat/engine/resources/neutron/subnet.py:112 +#: heat/engine/resources/neutron/subnet.py:111 msgid "Ip of the subnet's gateway." msgstr "" -#: heat/engine/resources/neutron/subnet.py:113 +#: heat/engine/resources/neutron/subnet.py:112 msgid "Ip version for the subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:114 +#: heat/engine/resources/neutron/subnet.py:113 msgid "CIDR block notation for this subnet." msgstr "" -#: heat/engine/resources/neutron/subnet.py:116 +#: heat/engine/resources/neutron/subnet.py:115 msgid "List of dns nameservers." msgstr "" -#: heat/engine/resources/neutron/subnet.py:117 +#: heat/engine/resources/neutron/subnet.py:116 msgid "'true' if DHCP is enabled for this subnet; 'false' otherwise." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:44 +#: heat/engine/resources/neutron/vpnservice.py:43 msgid "Name for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:49 +#: heat/engine/resources/neutron/vpnservice.py:48 msgid "Description for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:54 +#: heat/engine/resources/neutron/vpnservice.py:53 msgid "Administrative state for the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:60 +#: heat/engine/resources/neutron/vpnservice.py:59 msgid "Unique identifier for the subnet in which the vpn service will be created." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:66 +#: heat/engine/resources/neutron/vpnservice.py:65 msgid "" "Unique identifier for the router to which the vpn service will be " "inserted." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:73 +#: heat/engine/resources/neutron/vpnservice.py:72 msgid "The administrative state of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:74 +#: heat/engine/resources/neutron/vpnservice.py:73 msgid "The description of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:75 +#: heat/engine/resources/neutron/vpnservice.py:74 msgid "The name 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 router to which the vpn service was inserted." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:78 +#: heat/engine/resources/neutron/vpnservice.py:77 msgid "The status of the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:79 +#: heat/engine/resources/neutron/vpnservice.py:78 msgid "The unique identifier of the subnet in which the vpn service was created." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:81 +#: heat/engine/resources/neutron/vpnservice.py:80 msgid "The unique identifier of the tenant owning the vpn service." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:139 +#: heat/engine/resources/neutron/vpnservice.py:137 msgid "Name for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:144 +#: heat/engine/resources/neutron/vpnservice.py:142 msgid "Description for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:149 +#: heat/engine/resources/neutron/vpnservice.py:147 msgid "Remote branch router public IPv4 address or IPv6 address or FQDN." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:155 +#: heat/engine/resources/neutron/vpnservice.py:153 msgid "Remote branch router identity." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:160 +#: heat/engine/resources/neutron/vpnservice.py:158 msgid "Remote subnet(s) in CIDR format." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:165 +#: heat/engine/resources/neutron/vpnservice.py:163 msgid "Maximum transmission unit size (in bytes) for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:171 +#: heat/engine/resources/neutron/vpnservice.py:169 msgid "Dead Peer Detection protocol configuration for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:176 +#: heat/engine/resources/neutron/vpnservice.py:174 msgid "Controls DPD protocol mode." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:186 +#: heat/engine/resources/neutron/vpnservice.py:184 msgid "Number of seconds for the DPD delay." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:191 +#: heat/engine/resources/neutron/vpnservice.py:189 msgid "Number of seconds for the DPD timeout." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:198 +#: heat/engine/resources/neutron/vpnservice.py:196 msgid "Pre-shared key string for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:203 +#: heat/engine/resources/neutron/vpnservice.py:201 msgid "Initiator state in lowercase for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:211 +#: heat/engine/resources/neutron/vpnservice.py:209 msgid "Administrative state for the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:217 +#: heat/engine/resources/neutron/vpnservice.py:215 msgid "" "Unique identifier for the ike policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:223 +#: heat/engine/resources/neutron/vpnservice.py:221 msgid "" "Unique identifier for the ipsec policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:229 +#: heat/engine/resources/neutron/vpnservice.py:227 msgid "" "Unique identifier for the vpn service associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:236 +#: heat/engine/resources/neutron/vpnservice.py:234 msgid "The administrative state of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:238 +#: heat/engine/resources/neutron/vpnservice.py:236 msgid "The authentication mode of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:240 +#: heat/engine/resources/neutron/vpnservice.py:238 msgid "The description of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:241 +#: heat/engine/resources/neutron/vpnservice.py:239 msgid "" "The dead peer detection protocol configuration of the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:243 +#: heat/engine/resources/neutron/vpnservice.py:241 msgid "" "The unique identifier of ike policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:245 +#: heat/engine/resources/neutron/vpnservice.py:243 msgid "The initiator of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:246 +#: heat/engine/resources/neutron/vpnservice.py:244 msgid "" "The unique identifier of ipsec policy associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:248 +#: heat/engine/resources/neutron/vpnservice.py:246 msgid "" "The maximum transmission unit size (in bytes) of the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:250 +#: heat/engine/resources/neutron/vpnservice.py:248 msgid "The name of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:251 +#: heat/engine/resources/neutron/vpnservice.py:249 msgid "The remote branch router public IPv4 address or IPv6 address or FQDN." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:253 +#: heat/engine/resources/neutron/vpnservice.py:251 msgid "The remote subnet(s) in CIDR format of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:255 +#: heat/engine/resources/neutron/vpnservice.py:253 msgid "The remote branch router identity of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:257 +#: heat/engine/resources/neutron/vpnservice.py:255 msgid "The pre-shared key string of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:258 +#: heat/engine/resources/neutron/vpnservice.py:256 msgid "The route mode of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:259 +#: heat/engine/resources/neutron/vpnservice.py:257 msgid "The status of the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:260 +#: heat/engine/resources/neutron/vpnservice.py:258 msgid "The unique identifier of the tenant owning the ipsec site connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:262 +#: heat/engine/resources/neutron/vpnservice.py:260 msgid "" "The unique identifier of vpn service associated with the ipsec site " "connection." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:318 +#: heat/engine/resources/neutron/vpnservice.py:315 msgid "Name for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:323 +#: heat/engine/resources/neutron/vpnservice.py:320 msgid "Description for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:328 +#: heat/engine/resources/neutron/vpnservice.py:325 msgid "Authentication hash algorithm for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:336 +#: heat/engine/resources/neutron/vpnservice.py:333 msgid "Encryption algorithm for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:345 +#: heat/engine/resources/neutron/vpnservice.py:342 msgid "Negotiation mode for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:353 +#: heat/engine/resources/neutron/vpnservice.py:350 msgid "Safety assessment lifetime configuration for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:357 -#: heat/engine/resources/neutron/vpnservice.py:505 +#: heat/engine/resources/neutron/vpnservice.py:354 +#: heat/engine/resources/neutron/vpnservice.py:501 msgid "Safety assessment lifetime units." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:365 -#: heat/engine/resources/neutron/vpnservice.py:514 +#: heat/engine/resources/neutron/vpnservice.py:362 +#: heat/engine/resources/neutron/vpnservice.py:510 msgid "Safety assessment lifetime value in specified units." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:373 +#: heat/engine/resources/neutron/vpnservice.py:370 msgid "Perfect forward secrecy in lowercase for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:381 +#: heat/engine/resources/neutron/vpnservice.py:378 msgid "Version for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:390 +#: heat/engine/resources/neutron/vpnservice.py:387 msgid "The authentication hash algorithm used by the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:392 +#: heat/engine/resources/neutron/vpnservice.py:389 msgid "The description of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:393 +#: heat/engine/resources/neutron/vpnservice.py:390 msgid "The encryption algorithm used by the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:395 +#: heat/engine/resources/neutron/vpnservice.py:392 msgid "The version of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:396 +#: heat/engine/resources/neutron/vpnservice.py:393 msgid "The safety assessment lifetime configuration for the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:398 +#: heat/engine/resources/neutron/vpnservice.py:395 msgid "The name of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:399 +#: heat/engine/resources/neutron/vpnservice.py:396 msgid "The perfect forward secrecy of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:400 +#: heat/engine/resources/neutron/vpnservice.py:397 msgid "The negotiation mode of the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:402 +#: heat/engine/resources/neutron/vpnservice.py:399 msgid "The unique identifier of the tenant owning the ike policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:457 +#: heat/engine/resources/neutron/vpnservice.py:453 msgid "Name for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:462 +#: heat/engine/resources/neutron/vpnservice.py:458 msgid "Description for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:467 +#: heat/engine/resources/neutron/vpnservice.py:463 msgid "Transform protocol for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:475 +#: heat/engine/resources/neutron/vpnservice.py:471 msgid "Encapsulation mode for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:483 +#: heat/engine/resources/neutron/vpnservice.py:479 msgid "Authentication hash algorithm for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:491 +#: heat/engine/resources/neutron/vpnservice.py:487 msgid "Encryption algorithm for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:500 +#: heat/engine/resources/neutron/vpnservice.py:496 msgid "Safety assessment lifetime configuration for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:522 +#: heat/engine/resources/neutron/vpnservice.py:518 msgid "Perfect forward secrecy for the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:531 +#: heat/engine/resources/neutron/vpnservice.py:527 msgid "The authentication hash algorithm of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:533 +#: heat/engine/resources/neutron/vpnservice.py:529 msgid "The description of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:534 +#: heat/engine/resources/neutron/vpnservice.py:530 msgid "The encapsulation mode of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:535 +#: heat/engine/resources/neutron/vpnservice.py:531 msgid "The encryption algorithm of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:537 +#: heat/engine/resources/neutron/vpnservice.py:533 msgid "The safety assessment lifetime configuration of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:539 +#: heat/engine/resources/neutron/vpnservice.py:535 msgid "The name of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:540 +#: heat/engine/resources/neutron/vpnservice.py:536 msgid "The perfect forward secrecy of the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:541 +#: heat/engine/resources/neutron/vpnservice.py:537 msgid "The unique identifier of the tenant owning the ipsec policy." msgstr "" -#: heat/engine/resources/neutron/vpnservice.py:543 +#: heat/engine/resources/neutron/vpnservice.py:539 msgid "The transform protocol of the ipsec policy." msgstr "" @@ -4325,47 +4497,57 @@ msgstr "" msgid "Unexpected exception occurred %d time(s)... retrying." msgstr "" -#: heat/openstack/common/fileutils.py:63 +#: heat/openstack/common/fileutils.py:62 #, python-format msgid "Reloading cached file %s" msgstr "" -#: heat/openstack/common/lockutils.py:103 +#: heat/openstack/common/gettextutils.py:263 +msgid "Message objects do not support addition." +msgstr "" + +#: heat/openstack/common/gettextutils.py:272 +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 "Could not release the acquired lock `%s`" +msgid "Created lock path: %s" msgstr "" -#: heat/openstack/common/lockutils.py:168 +#: heat/openstack/common/lockutils.py:93 #, python-format -msgid "Got semaphore \"%(lock)s\"" +msgid "Got file lock \"%s\"" msgstr "" -#: heat/openstack/common/lockutils.py:177 +#: heat/openstack/common/lockutils.py:108 #, python-format -msgid "Attempting to grab file lock \"%(lock)s\"" +msgid "Could not release the acquired lock `%s`" msgstr "" -#: heat/openstack/common/lockutils.py:187 +#: heat/openstack/common/lockutils.py:110 #, python-format -msgid "Created lock path: %s" +msgid "Released file lock \"%s\"" msgstr "" -#: heat/openstack/common/lockutils.py:205 +#: heat/openstack/common/lockutils.py:148 #, python-format -msgid "Got file lock \"%(lock)s\" at %(path)s" +msgid "Attempting to grab external lock \"%(lock)s\"" msgstr "" -#: heat/openstack/common/lockutils.py:209 +#: heat/openstack/common/lockutils.py:174 #, python-format -msgid "Released file lock \"%(lock)s\" at %(path)s" +msgid "Got semaphore \"%(lock)s\"" msgstr "" -#: heat/openstack/common/lockutils.py:247 +#: heat/openstack/common/lockutils.py:231 #, python-format msgid "Got semaphore / lock \"%(function)s\"" msgstr "" -#: heat/openstack/common/lockutils.py:251 +#: heat/openstack/common/lockutils.py:235 #, python-format msgid "Semaphore / lock released \"%(function)s\"" msgstr "" @@ -4375,17 +4557,17 @@ msgstr "" msgid "Deprecated: %s" msgstr "" -#: heat/openstack/common/log.py:402 +#: heat/openstack/common/log.py:404 #, python-format msgid "Error loading logging config %(log_config)s: %(err_msg)s" msgstr "" -#: heat/openstack/common/log.py:453 +#: heat/openstack/common/log.py:455 #, python-format msgid "syslog facility must be one of: %s" msgstr "" -#: heat/openstack/common/log.py:623 +#: heat/openstack/common/log.py:625 #, python-format msgid "Fatal call to deprecated config: %(msg)s" msgstr "" @@ -4489,57 +4671,57 @@ msgstr "" msgid "process_input not supported over SSH" msgstr "" -#: heat/openstack/common/service.py:134 heat/openstack/common/service.py:346 +#: heat/openstack/common/service.py:166 heat/openstack/common/service.py:384 msgid "Full set of CONF:" msgstr "" -#: heat/openstack/common/service.py:143 heat/openstack/common/service.py:231 +#: heat/openstack/common/service.py:175 heat/openstack/common/service.py:269 #, python-format msgid "Caught %s, exiting" msgstr "" -#: heat/openstack/common/service.py:155 +#: heat/openstack/common/service.py:187 msgid "Exception during rpc cleanup." msgstr "" -#: heat/openstack/common/service.py:200 +#: heat/openstack/common/service.py:238 msgid "Parent process has died unexpectedly, exiting" msgstr "" -#: heat/openstack/common/service.py:237 +#: heat/openstack/common/service.py:275 msgid "Unhandled exception" msgstr "" -#: heat/openstack/common/service.py:270 +#: heat/openstack/common/service.py:308 msgid "Forking too fast, sleeping" msgstr "" -#: heat/openstack/common/service.py:289 +#: heat/openstack/common/service.py:327 #, python-format msgid "Started child %d" msgstr "" -#: heat/openstack/common/service.py:316 +#: heat/openstack/common/service.py:354 #, python-format msgid "Child %(pid)d killed by signal %(sig)d" msgstr "" -#: heat/openstack/common/service.py:320 +#: heat/openstack/common/service.py:358 #, python-format msgid "Child %(pid)s exited with status %(code)d" msgstr "" -#: heat/openstack/common/service.py:324 +#: heat/openstack/common/service.py:362 #, python-format msgid "pid %d not in child list" msgstr "" -#: heat/openstack/common/service.py:354 +#: heat/openstack/common/service.py:392 #, python-format msgid "Caught %s, stopping children" msgstr "" -#: heat/openstack/common/service.py:372 +#: heat/openstack/common/service.py:410 #, python-format msgid "Waiting on %d children to exit" msgstr "" @@ -4569,16 +4751,30 @@ msgstr "" msgid "Unrecognized value '%(val)s', acceptable values are: %(acceptable)s" msgstr "" -#: heat/openstack/common/strutils.py:182 +#: heat/openstack/common/strutils.py:188 #, python-format msgid "Invalid string format: %s" msgstr "" -#: heat/openstack/common/strutils.py:189 +#: heat/openstack/common/strutils.py:195 #, python-format msgid "Unknown byte multiplier: %s" msgstr "" +#: heat/openstack/common/versionutils.py:69 +#, python-format +msgid "" +"%(what)s is deprecated as of %(as_of)s in favor of %(in_favor_of)s and " +"may be removed in %(remove_in)s." +msgstr "" + +#: heat/openstack/common/versionutils.py:73 +#, python-format +msgid "" +"%(what)s is deprecated as of %(as_of)s and may be removed in " +"%(remove_in)s. It will not be superseded." +msgstr "" + #: heat/openstack/common/crypto/utils.py:27 msgid "An unknown error occurred in crypto utils." msgstr "" @@ -4597,20 +4793,40 @@ msgstr "" msgid "Invalid Parameter: Unicode is not supported by the current database." msgstr "" -#: heat/openstack/common/db/sqlalchemy/migration.py:252 -msgid "Upgrade DB using Essex release first." +#: heat/openstack/common/db/sqlalchemy/migration.py:219 +msgid "version should be an integer" +msgstr "" + +#: heat/openstack/common/db/sqlalchemy/migration.py:242 +#, 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 +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:551 +#: heat/openstack/common/db/sqlalchemy/session.py:596 msgid "DB exception wrapped." msgstr "" -#: heat/openstack/common/db/sqlalchemy/session.py:619 +#: heat/openstack/common/db/sqlalchemy/session.py:665 #, python-format msgid "Database server has gone away: %s" msgstr "" -#: heat/openstack/common/db/sqlalchemy/session.py:702 +#: 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/session.py:767 #, python-format msgid "SQL connection failed. %s attempts left." msgstr "" @@ -4692,14 +4908,6 @@ msgstr "" msgid "Could not send notification to %(topic)s. Payload=%(message)s" msgstr "" -#: heat/openstack/common/rpc/__init__.py:103 -#, python-format -msgid "" -"A RPC is being made while holding a lock. The locks currently held are " -"%(locks)s. This is probably a bug. Please report it. Include the " -"following: [%(stack)s]." -msgstr "" - #: heat/openstack/common/rpc/amqp.py:75 msgid "Pool creating new connection" msgstr "" @@ -4831,7 +5039,7 @@ msgstr "" msgid "Specified RPC version cap, %(version_cap)s, is too low" msgstr "" -#: heat/openstack/common/rpc/common.py:288 +#: heat/openstack/common/rpc/common.py:292 #, python-format msgid "Returning exception %s to caller" msgstr "" @@ -5095,25 +5303,25 @@ msgstr "" msgid "rpc_zmq_matchmaker = %(orig)s is deprecated; use %(new)s instead" msgstr "" -#: heat/openstack/common/rpc/matchmaker.py:45 +#: heat/openstack/common/rpc/matchmaker.py:46 msgid "Match not found by MatchMaker." msgstr "" -#: heat/openstack/common/rpc/matchmaker.py:79 +#: heat/openstack/common/rpc/matchmaker.py:80 msgid "Matchmaker does not implement registration or heartbeat." msgstr "" -#: heat/openstack/common/rpc/matchmaker.py:215 +#: heat/openstack/common/rpc/matchmaker.py:216 #, python-format msgid "Matchmaker unregistered: %(key)s, %(host)s" msgstr "" -#: heat/openstack/common/rpc/matchmaker.py:227 +#: heat/openstack/common/rpc/matchmaker.py:228 msgid "Register before starting heartbeat." msgstr "" -#: heat/openstack/common/rpc/matchmaker_ring.py:75 -#: heat/openstack/common/rpc/matchmaker_ring.py:93 +#: 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 "" @@ -5148,7 +5356,7 @@ msgstr "" msgid "Resuming generic resource (Type \"%s\")" msgstr "" -#: heat/tests/generic_resource.py:70 +#: heat/tests/generic_resource.py:113 #, python-format msgid "Signaled resource (Type \"%(type)s\") %(details)s" msgstr "" @@ -5158,6 +5366,14 @@ msgstr "" msgid "Testing message %(text)s" msgstr "" +#: heat/tests/test_server.py:418 +#, python-format +msgid "" +"Properties \"uuid\" and \"network\" are both set to the network " +"\"%(network)s\" for the server \"%(server)s\". The \"uuid\" property is " +"deprecated. Use only \"network\" property." +msgstr "" + #~ msgid "" #~ msgstr "" @@ -5482,3 +5698,86 @@ msgstr "" #~ msgid "SwiftContainer create container %(container)s with headers %(headers)s" #~ msgstr "" +#~ msgid "Service temporarily unvavailable" +#~ msgstr "" + +#~ msgid "Keystone v2 API connection failed, no password or auth_token!" +#~ msgstr "" + +#~ msgid "v2 trust token re-scoping failed!" +#~ msgstr "" + +#~ msgid "Keystone v3 API connection failed, no password or auth_token!" +#~ msgstr "" + +#~ msgid "Problem deleting user %(user)s: %(reason)s" +#~ msgstr "" + +#~ msgid "Unexpected number of ec2 credentials %(len)s for %(user)s" +#~ msgstr "" + +#~ msgid "%(schema)s supplied for for %(type)s %(data)s" +#~ msgstr "" + +#~ msgid "value is not an integer" +#~ msgstr "" + +#~ msgid "access_key % not found!" +#~ msgstr "" + +#~ msgid "Cannot access resource from wrong stack!" +#~ msgstr "" + +#~ msgid "Cannot access resource, invalid credentials!" +#~ msgstr "" + +#~ msgid "Failed to parse %(dir)s/%(name)s" +#~ msgstr "" + +#~ msgid "Failed to read %(dir)s/%(name)s" +#~ msgstr "" + +#~ msgid "%(name)s Alarm, adjusting Group %(group)s by %(filter)s" +#~ msgstr "" + +#~ msgid "Optional server name." +#~ msgstr "" + +#~ msgid "" +#~ "Arbitrary key/value metadata to store " +#~ "for this server. A maximum of five" +#~ " entries is allowed, and both keys" +#~ " and values must be 255 characters" +#~ " or less." +#~ msgstr "" + +#~ msgid "" +#~ "For the server \"%(server)s\" the " +#~ "\"uuid\" property is set to network " +#~ "\"%(network)s\". \"uuid\" property is " +#~ "deprecated. Use \"network\" property instead." +#~ msgstr "" + +#~ msgid "Unexpected ec2 keypair, for %(id)s access %(access)s" +#~ msgstr "" + +#~ msgid "Attempting to grab file lock \"%(lock)s\"" +#~ msgstr "" + +#~ msgid "Got file lock \"%(lock)s\" at %(path)s" +#~ msgstr "" + +#~ msgid "Released file lock \"%(lock)s\" at %(path)s" +#~ msgstr "" + +#~ msgid "Upgrade DB using Essex release first." +#~ msgstr "" + +#~ msgid "" +#~ "A RPC is being made while holding" +#~ " a lock. The locks currently held " +#~ "are %(locks)s. This is probably a " +#~ "bug. Please report it. Include the " +#~ "following: [%(stack)s]." +#~ msgstr "" + |