]> Frank Brehm's Git Trees - pixelpark/create-terraform.git/commitdiff
Fixing typos and making translations
authorFrank Brehm <frank.brehm@pixelpark.com>
Fri, 10 Nov 2023 15:49:23 +0000 (16:49 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Fri, 10 Nov 2023 15:49:23 +0000 (16:49 +0100)
lib/cr_tf/config.py
lib/cr_tf/handler/dns.py
locale/create_terraform.pot
locale/de_DE/LC_MESSAGES/create_terraform.po
locale/en_US/LC_MESSAGES/create_terraform.po

index 59df6554e979abb35e8796c22e5ef75b445229fc..f9baf849f358e265dc93237608274a654c5aab04 100644 (file)
@@ -32,7 +32,7 @@ from .vs_config import VsphereConfig
 
 from .xlate import XLATOR
 
-__version__ = '1.8.2'
+__version__ = '1.8.3'
 LOG = logging.getLogger(__name__)
 
 _ = XLATOR.gettext
@@ -351,11 +351,11 @@ class CrTfConfiguration(BaseConfiguration):
     @rhsm_password.setter
     def rhsm_password(self, value):
         if value is None:
-            msg = _("The password of the ser used for subscribing at RedHat may not be None.")
+            msg = _("The password of the user used for subscribing at RedHat may not be None.")
             raise CrTfConfigError(msg)
         val = str(value).strip()
         if val == '':
-            msg = _("The password of the ser used for subscribing at RedHat may not be None.")
+            msg = _("The password of the user used for subscribing at RedHat may not be empty.")
             raise CrTfConfigError(msg)
         self._rhsm_password = val
 
index 612aa818e808302346a602eba578e1404fa55227..c432a52d36f474ee9703246bf9cffd819ad4cc86 100644 (file)
@@ -23,7 +23,7 @@ from ..errors import AbortExecution
 
 from ..xlate import XLATOR
 
-__version__ = '0.1.0'
+__version__ = '0.1.1'
 LOG = logging.getLogger(__name__)
 
 _ = XLATOR.gettext
@@ -92,7 +92,7 @@ class CrTfHandlerDnsMixin():
     def perform_dns(self):
 
         if self.config.no_pdns:
-            LOG.debug(_("Power DNS actions are not eceuted."))
+            LOG.debug(_("Power DNS actions are not executed."))
             return
 
         print()
index 423bac2454c43e6c4ffca22bce38caf7adf4542b..a4edc85b5afd8083ef6045fe272e51e8ab611f15 100644 (file)
 # Translations template for create_terraform.
-# Copyright (C) 2021 Frank Brehm, Pixelpark GmbH, Berlin
+# Copyright (C) 2023 Frank Brehm, Pixelpark GmbH, Berlin
 # This file is distributed under the same license as the create_terraform project.
-# Frank Brehm <frank.brehm@pixelpark.com>, 2021.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2023.
 #
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: create_terraform 1.5.4\n"
+"Project-Id-Version: create_terraform 1.7.2\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2021-09-10 13:21+0200\n"
+"POT-Creation-Date: 2023-11-10 16:48+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.13.1\n"
 
-#: lib/cr_tf/app.py:86 lib/cr_tf/app.py:112
+#: lib/cr_tf/app.py:81 lib/cr_tf/app.py:107
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/cr_tf/app.py:89 lib/cr_tf/app.py:115
+#: lib/cr_tf/app.py:84 lib/cr_tf/app.py:110
 msgid "File {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_tf/app.py:141
+#: lib/cr_tf/app.py:136
 msgid "The following steps to interrupt the execution after are available:"
 msgstr ""
 
-#: lib/cr_tf/app.py:144
+#: lib/cr_tf/app.py:139
 msgid "<no description>"
 msgstr ""
 
-#: lib/cr_tf/app.py:179
+#: lib/cr_tf/app.py:176
 msgid "Creates or updates a directory with a terraform environment on base of a given YAML file."
 msgstr ""
 
-#: lib/cr_tf/app.py:210
+#: lib/cr_tf/app.py:207
 msgid "Searching for config file {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:254
+#: lib/cr_tf/app.py:233
 msgid ""
 "Config file {f!r} not found, using defaults.\n"
 "To avoid this message, you may copy {d!r} to {c1!r}, {c2!r} or {c3!r} and fill out all necessary"
 " entries, e.g. the passwords and API keys."
 msgstr ""
 
-#: lib/cr_tf/app.py:271
+#: lib/cr_tf/app.py:247
 msgid "Error in configuration:"
 msgstr ""
 
-#: lib/cr_tf/app.py:274
+#: lib/cr_tf/app.py:250
 msgid "Read configuration:"
 msgstr ""
 
-#: lib/cr_tf/app.py:284
+#: lib/cr_tf/app.py:291
 msgid "Removing allowed puppet environments ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:288
+#: lib/cr_tf/app.py:295
 msgid "Removing puppet environment {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:292
+#: lib/cr_tf/app.py:299
 msgid "Adding allowed puppet environments ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:296
+#: lib/cr_tf/app.py:303
 msgid "Adding puppet environment {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:301
+#: lib/cr_tf/app.py:308
 msgid "Allowed puppet environments:"
 msgstr ""
 
-#: lib/cr_tf/app.py:313
+#: lib/cr_tf/app.py:320
 msgid "PowerDNS API key for {!r}"
 msgstr ""
 
-#: lib/cr_tf/app.py:316
+#: lib/cr_tf/app.py:323
 msgid "PowerDNS API key"
 msgstr ""
 
-#: lib/cr_tf/app.py:396
+#: lib/cr_tf/app.py:403
 msgid "STEP"
 msgstr ""
 
-#: lib/cr_tf/app.py:398
+#: lib/cr_tf/app.py:405
 msgid ""
 "Name of the step, where to interrupt the execution of this script. Use {!r} to show a list of "
 "all avaliable steps."
 msgstr ""
 
-#: lib/cr_tf/app.py:404
+#: lib/cr_tf/app.py:411
 msgid "FILE"
 msgstr ""
 
-#: lib/cr_tf/app.py:406
+#: lib/cr_tf/app.py:413
 msgid "Configuration file (default: {!r})"
 msgstr ""
 
-#: lib/cr_tf/app.py:410
+#: lib/cr_tf/app.py:417
 msgid "PowerDNS options"
 msgstr ""
 
-#: lib/cr_tf/app.py:413
+#: lib/cr_tf/app.py:421
+msgid ""
+"Don't execute any PowerDNS checks or actions. In this case it's on yours to ensure existence of "
+"all necessary IP addresses."
+msgstr ""
+
+#: lib/cr_tf/app.py:427
 msgid "HOST"
 msgstr ""
 
-#: lib/cr_tf/app.py:414
+#: lib/cr_tf/app.py:428
 msgid "The hostname or address of the PowerDNS master server (Default: {!r})."
 msgstr ""
 
-#: lib/cr_tf/app.py:420
+#: lib/cr_tf/app.py:434
 msgid "PORT"
 msgstr ""
 
-#: lib/cr_tf/app.py:421
+#: lib/cr_tf/app.py:435
 msgid "The port number of the PowerDNS API (Default: {})."
 msgstr ""
 
-#: lib/cr_tf/app.py:426
+#: lib/cr_tf/app.py:440
 msgid "KEY"
 msgstr ""
 
-#: lib/cr_tf/app.py:427
+#: lib/cr_tf/app.py:441
 msgid "The key accessing to the PDNS API."
 msgstr ""
 
-#: lib/cr_tf/app.py:432
+#: lib/cr_tf/app.py:446
 msgid "Should PDNS API requests executed per HTTPS?"
 msgstr ""
 
-#: lib/cr_tf/app.py:436
+#: lib/cr_tf/app.py:450
 msgid "PATH"
 msgstr ""
 
-#: lib/cr_tf/app.py:437
+#: lib/cr_tf/app.py:451
 msgid "The path prefix in the URL for PDNS API requests (Default: {!r})."
 msgstr ""
 
-#: lib/cr_tf/app.py:443
+#: lib/cr_tf/app.py:457
 msgid "YAML_FILE"
 msgstr ""
 
-#: lib/cr_tf/app.py:444
+#: lib/cr_tf/app.py:458
 msgid "The YAML-file with the definition of the VMs to create with terraform."
 msgstr ""
 
-#: lib/cr_tf/app.py:486
+#: lib/cr_tf/app.py:502
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:495
+#: lib/cr_tf/app.py:511
 msgid "Create Terraform environment"
 msgstr ""
 
-#: lib/cr_tf/app.py:502
+#: lib/cr_tf/app.py:518
 msgid "No handler object available."
 msgstr ""
 
-#: lib/cr_tf/app.py:509
+#: lib/cr_tf/app.py:525
 msgid "Please input the {}."
 msgstr ""
 
-#: lib/cr_tf/app.py:510 lib/cr_tf/app.py:514
+#: lib/cr_tf/app.py:526 lib/cr_tf/app.py:530
 msgid "vSphere user name"
 msgstr ""
 
-#: lib/cr_tf/app.py:512
+#: lib/cr_tf/app.py:528
 msgid "Name"
 msgstr ""
 
-#: lib/cr_tf/app.py:514 lib/cr_tf/app.py:536
+#: lib/cr_tf/app.py:530 lib/cr_tf/app.py:552
 msgid "No {} given."
 msgstr ""
 
-#: lib/cr_tf/app.py:518
+#: lib/cr_tf/app.py:534
 msgid "Setting user for vSphere {vs!r} to {usr!r}."
 msgstr ""
 
-#: lib/cr_tf/app.py:529
+#: lib/cr_tf/app.py:545
 msgid "User password of {!r}"
 msgstr ""
 
-#: lib/cr_tf/app.py:531
+#: lib/cr_tf/app.py:547
 msgid "Password for user {u!r} of vSphere {n} on {h!r}"
 msgstr ""
 
-#: lib/cr_tf/app.py:536
+#: lib/cr_tf/app.py:552
 msgid "password of vSphere user"
 msgstr ""
 
-#: lib/cr_tf/app.py:540
+#: lib/cr_tf/app.py:556
 msgid "Setting passwort of vSphere {vs!r} user {usr!r}."
 msgstr ""
 
-#: lib/cr_tf/app.py:559
+#: lib/cr_tf/app.py:575
 msgid "Executing {} ..."
 msgstr ""
 
-#: lib/cr_tf/config.py:160
-msgid "a port may not be less than 1: {}."
-msgstr ""
-
-#: lib/cr_tf/config.py:164
-msgid "a port may not be greater than {m}: {v}."
-msgstr ""
-
-#: lib/cr_tf/config.py:168
-msgid "Wrong port number {v!r}: {e}"
-msgstr ""
-
-#: lib/cr_tf/config.py:273
-msgid "may not be less than 10: {:0.1f}."
-msgstr ""
-
-#: lib/cr_tf/config.py:277
-msgid "may not be greater than {m}: {v:0.1f}."
-msgstr ""
-
-#: lib/cr_tf/config.py:281
-msgid "Wrong minimum root size in GiB {v!r}: {e}"
-msgstr ""
-
-#: lib/cr_tf/config.py:352
-msgid "Comparing {} objects ..."
-msgstr ""
-
-#: lib/cr_tf/config.py:385
-msgid "unknown"
-msgstr ""
-
-#: lib/cr_tf/config.py:389
-msgid "Checking validity of {o}-object {n!r} ..."
-msgstr ""
-
-#: lib/cr_tf/config.py:400
-msgid "Attribute {a!r} of the {o}-object {n!r} is not set."
-msgstr ""
-
-#: lib/cr_tf/config.py:409
-msgid "Found an error in VSPhere configuration"
-msgid_plural "Found {} errors in VSPhere configuration"
-msgstr[0] ""
-msgstr[1] ""
-
-#: lib/cr_tf/config.py:419
-msgid ""
-"Attribute {a!r} of the {o}-object {n!r} is not set, it will be requestet during this script and "
-"on starting terraform."
-msgstr ""
-
-#: lib/cr_tf/config.py:475
+#: lib/cr_tf/config.py:92
 msgid "Invalid value {v!r} for {n!r} configuration ({f!r}:[{s}]): {e}"
 msgstr ""
 
-#: lib/cr_tf/config.py:476
+#: lib/cr_tf/config.py:93
 msgid "Invalid value {v} for {n!r} configuration ({f!r}:[{s}]): must be equal or greater than zero."
 msgstr ""
 
-#: lib/cr_tf/config.py:587
+#: lib/cr_tf/config.py:218
 msgid "Invalid timeout {t!r} for requesting the PowerDNS API, must be 0 < SECONDS < {m}."
 msgstr ""
 
-#: lib/cr_tf/config.py:621
+#: lib/cr_tf/config.py:252
 msgid "The default size of the data disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:625
+#: lib/cr_tf/config.py:256
 msgid "The default size of the data disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:638
+#: lib/cr_tf/config.py:269
 msgid "The minimal size of the data disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:642
+#: lib/cr_tf/config.py:273
 msgid "The minimal size of the data disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:655
+#: lib/cr_tf/config.py:286
 msgid "The maximal size of the data disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:659
+#: lib/cr_tf/config.py:290
 msgid "The maximal size of the data disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:672
+#: lib/cr_tf/config.py:303
 msgid "The minimal size of the root disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:676
+#: lib/cr_tf/config.py:307
 msgid "The minimal size of the root disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:689
+#: lib/cr_tf/config.py:320
 msgid "The maximal size of the root disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:693
+#: lib/cr_tf/config.py:324
 msgid "The maximal size of the root disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:716 lib/cr_tf/config.py:885
+#: lib/cr_tf/config.py:354
+msgid "The password of the user used for subscribing at RedHat may not be None."
+msgstr ""
+
+#: lib/cr_tf/config.py:358
+msgid "The password of the user used for subscribing at RedHat may not be empty."
+msgstr ""
+
+#: lib/cr_tf/config.py:381 lib/cr_tf/config.py:566
 msgid "Creating a {}-object with parameters:"
 msgstr ""
 
-#: lib/cr_tf/config.py:721 lib/cr_tf/config.py:890
+#: lib/cr_tf/config.py:386 lib/cr_tf/config.py:571
 msgid "Created object:"
 msgstr ""
 
-#: lib/cr_tf/config.py:774
+#: lib/cr_tf/config.py:449
 msgid "Checking config section {!r}:"
 msgstr ""
 
-#: lib/cr_tf/config.py:785
+#: lib/cr_tf/config.py:460
 msgid "Empty VSPhere name found."
 msgstr ""
 
-#: lib/cr_tf/config.py:837
+#: lib/cr_tf/config.py:518
 msgid "Checking config section {s!r} ({n}) ..."
 msgstr ""
 
-#: lib/cr_tf/config.py:879 lib/cr_tf/config.py:927
+#: lib/cr_tf/config.py:560 lib/cr_tf/config.py:608
 msgid "Unknown configuration parameter {k!r} with value {v!r} for VSPhere {n!r} found."
 msgstr ""
 
-#: lib/cr_tf/config.py:933
+#: lib/cr_tf/config.py:614
 msgid "Updated object:"
 msgstr ""
 
-#: lib/cr_tf/config.py:945 lib/cr_tf/config.py:986
+#: lib/cr_tf/config.py:626 lib/cr_tf/config.py:667
 msgid "Checking config section {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/config.py:1034
+#: lib/cr_tf/config.py:715
 msgid "Invalid puppet environment {env!r} found in {k!r}."
 msgstr ""
 
-#: lib/cr_tf/errors.py:72
+#: lib/cr_tf/errors.py:73
+msgid ""
+"There should be too many disks ({gd}) assigned to a VM. There are max. {maxd} disks allowed to "
+"assign to a VM."
+msgstr ""
+
+#: lib/cr_tf/errors.py:92
 msgid "The network {!r} is not existing."
 msgstr ""
 
-#: lib/cr_tf/handler.py:128
+#: lib/cr_tf/errors.py:114
 msgid "<some unknown step>"
 msgstr ""
 
-#: lib/cr_tf/handler.py:133
+#: lib/cr_tf/errors.py:119
 msgid "Aborting after {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:170
+#: lib/cr_tf/handler/__init__.py:94
 msgid "After initialization of all objects and handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:171
+#: lib/cr_tf/handler/__init__.py:95
 msgid "After initialisation of VSPhere handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:172
+#: lib/cr_tf/handler/__init__.py:96
 msgid "After reading the given YAML file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:173
+#: lib/cr_tf/handler/__init__.py:97
 msgid "After retrieving all DNS zones from PowerDNS."
 msgstr ""
 
-#: lib/cr_tf/handler.py:174
+#: lib/cr_tf/handler/__init__.py:98
 msgid "After testing VSPhere handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:175
+#: lib/cr_tf/handler/__init__.py:99
 msgid "After collecting all VMWare and local folders."
 msgstr ""
 
-#: lib/cr_tf/handler.py:176
+#: lib/cr_tf/handler/__init__.py:100
 msgid "After collecting all VMWare clusters."
 msgstr ""
 
-#: lib/cr_tf/handler.py:177
+#: lib/cr_tf/handler/__init__.py:101
 msgid "After collecting all VMWare datastores."
 msgstr ""
 
-#: lib/cr_tf/handler.py:178
+#: lib/cr_tf/handler/__init__.py:102
 msgid "After collecting all VMWare datastore clusters."
 msgstr ""
 
-#: lib/cr_tf/handler.py:179
+#: lib/cr_tf/handler/__init__.py:103
 msgid "After collecting all VMWare networks."
 msgstr ""
 
-#: lib/cr_tf/handler.py:180
+#: lib/cr_tf/handler/__init__.py:104
 msgid "After validating all given VMWare templates."
 msgstr ""
 
-#: lib/cr_tf/handler.py:181
+#: lib/cr_tf/handler/__init__.py:105
 msgid "After syntax validating of data from loaded YAML file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:182
+#: lib/cr_tf/handler/__init__.py:106
 msgid "After validating all given storage data."
 msgstr ""
 
-#: lib/cr_tf/handler.py:183
+#: lib/cr_tf/handler/__init__.py:107
 msgid "After validating all given network interface data."
 msgstr ""
 
-#: lib/cr_tf/handler.py:184
+#: lib/cr_tf/handler/__init__.py:108
 msgid "After validating all given DNS data."
 msgstr ""
 
-#: lib/cr_tf/handler.py:185
+#: lib/cr_tf/handler/__init__.py:109
 msgid "After performing all necessary actions in DNS."
 msgstr ""
 
-#: lib/cr_tf/handler.py:186
+#: lib/cr_tf/handler/__init__.py:110
 msgid "After ensuring availability of the project directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:187
+#: lib/cr_tf/handler/__init__.py:111
 msgid "After creation of the Terraform project files."
 msgstr ""
 
-#: lib/cr_tf/handler.py:188
+#: lib/cr_tf/handler/__init__.py:112
 msgid "After ensuring availability of VM folders in VMWare vSphere."
 msgstr ""
 
-#: lib/cr_tf/handler.py:274
+#: lib/cr_tf/handler/__init__.py:202
 msgid "Given configuration:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:278
+#: lib/cr_tf/handler/__init__.py:206
 msgid "Directory for postinstall scripts: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:280
+#: lib/cr_tf/handler/__init__.py:208
 msgid "Directory for postinstall scripts {!r} does not exists."
 msgstr ""
 
-#: lib/cr_tf/handler.py:284
+#: lib/cr_tf/handler/__init__.py:212
 msgid "Path {!r} for postinstall scripts exists, but is not a directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:297
-msgid "Setting simulate of all subsequent objects to {!r} ..."
-msgstr ""
-
-#: lib/cr_tf/handler.py:323
-msgid "Invalid step name {!r} for interrupting execution."
+#: lib/cr_tf/handler/__init__.py:217
+msgid "Directory for SSH deploy keys: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:379
-msgid "Invalid time zone name {!r}."
+#: lib/cr_tf/handler/__init__.py:219
+msgid "Directory for SSH deploy keys {!r} does not exists."
 msgstr ""
 
-#: lib/cr_tf/handler.py:381
-msgid "Setting time zone to {!r}."
+#: lib/cr_tf/handler/__init__.py:223
+msgid "Path {!r} for SSH deploy keys exists, but is not a directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:403
-msgid "No configuration given before initialisation of handlers."
+#: lib/cr_tf/handler/__init__.py:228
+msgid "Filename of the private SSH deploy key: {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:407
-msgid "{n} is not a {e}-instance, but a {w}-instance instead."
+#: lib/cr_tf/handler/__init__.py:230
+msgid "Private SSH deploy key file {!r} does not exists or is not a regular file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:418
-msgid "Initialize some additional handlers."
-msgstr ""
-
-#: lib/cr_tf/handler.py:446
-msgid "Checking the terraform version ..."
-msgstr ""
-
-#: lib/cr_tf/handler.py:450 lib/cr_tf/handler.py:2921
-msgid "Executing {!r} ..."
-msgstr ""
-
-#: lib/cr_tf/handler.py:453 lib/cr_tf/handler.py:2932 lib/cr_tf/handler.py:2961
-msgid "Completed process:"
-msgstr ""
-
-#: lib/cr_tf/handler.py:456
-msgid "No output on command {!r}."
-msgstr ""
-
-#: lib/cr_tf/handler.py:461
-msgid "First line:"
-msgstr ""
-
-#: lib/cr_tf/handler.py:464
-msgid "Could not evaluate version output of terraform:"
+#: lib/cr_tf/handler/__init__.py:244
+msgid "Setting simulate of all subsequent objects to {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:468
-msgid "Terraform version: {!r}."
+#: lib/cr_tf/handler/__init__.py:270
+msgid "Invalid step name {!r} for interrupting execution."
 msgstr ""
 
-#: lib/cr_tf/handler.py:471 lib/cr_tf/handler.py:479
-msgid "Checking for {o}{m!r} ..."
+#: lib/cr_tf/handler/__init__.py:326
+msgid "Invalid time zone name {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:474 lib/cr_tf/handler.py:482
-msgid "Invalid version {c!r} of terraform, expected {o}{m!r}."
+#: lib/cr_tf/handler/__init__.py:328
+msgid "Setting time zone to {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:490
+#: lib/cr_tf/handler/__init__.py:336
 msgid "Self destruction."
 msgstr ""
 
-#: lib/cr_tf/handler.py:503 lib/cr_tf/handler.py:528
+#: lib/cr_tf/handler/__init__.py:349 lib/cr_tf/handler/first.py:153
 msgid "{}-object not initialized."
 msgstr ""
 
-#: lib/cr_tf/handler.py:509
-msgid "Go ahead..."
-msgstr ""
-
-#: lib/cr_tf/handler.py:514
-msgid "Initialising VSPhere handlers."
-msgstr ""
-
-#: lib/cr_tf/handler.py:534
+#: lib/cr_tf/handler/__init__.py:355
 msgid "Simulation mode"
 msgstr ""
 
-#: lib/cr_tf/handler.py:536
+#: lib/cr_tf/handler/__init__.py:357
 msgid "Necessary DNS records are not created."
 msgstr ""
 
-#: lib/cr_tf/handler.py:537
+#: lib/cr_tf/handler/__init__.py:358
 msgid "Terraform files are not created."
 msgstr ""
 
-#: lib/cr_tf/handler.py:560
+#: lib/cr_tf/handler/__init__.py:381
 msgid "Cpllecting first information from vSPhere."
 msgstr ""
 
-#: lib/cr_tf/handler.py:566
+#: lib/cr_tf/handler/__init__.py:387
 msgid "Retrieving information from vSphere."
 msgstr ""
 
-#: lib/cr_tf/handler.py:584
+#: lib/cr_tf/handler/__init__.py:405
 msgid "Validated VMs:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:590
+#: lib/cr_tf/handler/__init__.py:411
 msgid "There is one existing virtual machine."
 msgid_plural "There are {c} existing virtual machines."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_tf/handler.py:595
+#: lib/cr_tf/handler/__init__.py:416
 msgid "Existing virtual machine:"
 msgid_plural "Existing virtual machines:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_tf/handler.py:598
+#: lib/cr_tf/handler/__init__.py:419
 msgid "No existing virtual machines found in YAML file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:606
+#: lib/cr_tf/handler/__init__.py:427
 msgid "Finished all steps."
 msgstr ""
 
-#: lib/cr_tf/handler.py:616
+#: lib/cr_tf/handler/__init__.py:437
 msgid "And how I said before - it was only a simulation!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:627
-msgid "Current {} object:"
+#: lib/cr_tf/handler/__init__.py:447 lib/cr_tf/handler/first.py:112
+msgid "Executing {!r} ..."
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:458 lib/cr_tf/handler/__init__.py:487 lib/cr_tf/handler/first.py:115
+msgid "Completed process:"
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:462
+msgid "Importing existing virtual machines ..."
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:468
+msgid "Importing VM {!r}."
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:485
+msgid "Error on importing VM {!r}:"
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:507
+msgid "Congratulations!"
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:509
+msgid "Now you are ready to deploy the following virtual machines:"
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:513
+msgid "To start the deployment process change to directory {}"
+msgstr ""
+
+#: lib/cr_tf/handler/__init__.py:516
+msgid "and enter: {}"
+msgstr ""
+
+#: lib/cr_tf/handler/dns.py:47
+msgid "Retrieving informations from PowerDNS ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:629 lib/cr_tf/handler.py:648 lib/cr_tf/handler.py:702 lib/cr_tf/handler.py:723
-#: lib/cr_tf/handler.py:751 lib/cr_tf/handler.py:821 lib/cr_tf/handler.py:860 lib/cr_tf/handler.py:883
-#: lib/cr_tf/handler.py:906 lib/cr_tf/handler.py:926 lib/cr_tf/handler.py:944 lib/cr_tf/handler.py:968
-#: lib/cr_tf/handler.py:1012 lib/cr_tf/handler.py:1030 lib/cr_tf/handler.py:1048
-#: lib/cr_tf/handler.py:1060 lib/cr_tf/handler.py:1073 lib/cr_tf/handler.py:1085
-#: lib/cr_tf/handler.py:1097
+#: lib/cr_tf/handler/dns.py:51
+msgid "Found one error in exploring PowerDNS zones."
+msgid_plural "Found {n} errors in exploring PowerDNS zones."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/dns.py:57 lib/cr_tf/handler/dns.py:75 lib/cr_tf/handler/dns.py:87
+#: lib/cr_tf/handler/files.py:51 lib/cr_tf/handler/files.py:63 lib/cr_tf/handler/first.py:182
+#: lib/cr_tf/handler/read.py:54 lib/cr_tf/handler/vmware.py:95 lib/cr_tf/handler/vmware.py:123
+#: lib/cr_tf/handler/vmware.py:198 lib/cr_tf/handler/vmware.py:237 lib/cr_tf/handler/vmware.py:260
+#: lib/cr_tf/handler/vmware.py:286 lib/cr_tf/handler/vmware.py:306 lib/cr_tf/handler/vmware.py:324
+#: lib/cr_tf/handler/vmware.py:348 lib/cr_tf/handler/vmware.py:392 lib/cr_tf/handler/vmware.py:410
+#: lib/cr_tf/handler/vmware.py:422
 msgid "Finished step {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:642
-msgid "Found one error in evaluation of YAML data of {f!r}."
-msgid_plural "Found {n} errors in evaluation of YAML data of {f!r}."
+#: lib/cr_tf/handler/dns.py:69
+msgid "Found one error in validating DNS mappings."
+msgid_plural "Found {n} errors in validating DNS mappings."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_tf/handler.py:658
-msgid "Collecting all VMWare and local folders ..."
+#: lib/cr_tf/handler/dns.py:95
+msgid "Power DNS actions are not executed."
 msgstr ""
 
-#: lib/cr_tf/handler.py:659
-msgid "Get vSphere datacenter ..."
+#: lib/cr_tf/handler/dns.py:99
+msgid "Performing DNS actions ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:663
-msgid "Collecting vSphere folders."
+#: lib/cr_tf/handler/dns.py:115
+msgid "There was one error in creating DNS mappings."
+msgid_plural "There were {n} errors in creating DNS mappings."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/dns.py:121
+msgid "No errors in creating DNS mappings."
 msgstr ""
 
-#: lib/cr_tf/handler.py:670
-msgid "Collected vSphere folders:"
+#: lib/cr_tf/handler/dns.py:131
+msgid "Increasing serial of zone {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:678
-msgid "Project name is {!r}."
+#: lib/cr_tf/handler/dns.py:150
+msgid "Got zone {z!r} for FQDN {f!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:680
-msgid "Project directory is: {!r}."
+#: lib/cr_tf/handler/dns.py:153
+msgid "Did not found zone to insert {t}-record for {f!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:696
-msgid "Did not found root terraform directory above {!r}."
+#: lib/cr_tf/handler/dns.py:171
+msgid "Trying to create PTR-record {a!r} => {f!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:700
-msgid "Full project name: {!r}"
+#: lib/cr_tf/handler/dns.py:176
+msgid "PTR of {a!r}: {p!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:713
-msgid "Retrieving informations from PowerDNS ..."
+#: lib/cr_tf/handler/dns.py:181
+msgid "Got reverse zone {z!r} for address {a!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:717
-msgid "Found one error in exploring PowerDNS zones."
-msgid_plural "Found {n} errors in exploring PowerDNS zones."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:184
+msgid "Did not found zone to insert PTR-record {p!r} ({a})."
+msgstr ""
 
-#: lib/cr_tf/handler.py:741
-msgid "There is only one, unique VSPhere definition allowed in a project file."
+#: lib/cr_tf/handler/dns.py:197
+msgid "Validating DNS mappings ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:743
-msgid "In {f!r} were found {nr} different VSPhere definitions:"
+#: lib/cr_tf/handler/dns.py:207 lib/cr_tf/handler/dns.py:217
+msgid "None"
 msgstr ""
 
-#: lib/cr_tf/handler.py:763
-msgid "VSPhere {!r} not defined in configuration."
+#: lib/cr_tf/handler/dns.py:208
+msgid "Forward DNS entries to create:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:790
-msgid "Initialising a {}-object with params:"
+#: lib/cr_tf/handler/dns.py:218
+msgid "Reverse DNS entries to create:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:814
-msgid "Created {}-object:"
+#: lib/cr_tf/handler/dns.py:226
+msgid "Validating forward DNS mappings ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:830
-msgid "Assigning not defined templates and clusters of VMs by their appropriate default values."
+#: lib/cr_tf/handler/dns.py:231
+msgid "Validating {f!r} => {a!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:839
-msgid "Setting cluster of {n!r} to {c!r} ..."
+#: lib/cr_tf/handler/dns.py:257
+msgid "Found existing addresses for {f!r}:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:846
-msgid "Setting template of {n!r} to {t!r} ..."
+#: lib/cr_tf/handler/dns.py:259
+msgid "Did not found existing addresses for {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:857
-msgid "Searching for clusters in VSPhere {!r} ..."
+#: lib/cr_tf/handler/dns.py:266 lib/cr_tf/handler/dns.py:274
+msgid "FQDN {f!r} already points to {a!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:873
-msgid "Searching for datastores in VSPhere {!r} ..."
+#: lib/cr_tf/handler/dns.py:279
+msgid "FQDN {f!r} has already existing addresses, but none of them are {a!r}:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:878
-msgid "Found one datastore."
-msgid_plural "Found {n} datastores."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:295
+msgid "Validating reverse DNS mappings ..."
+msgstr ""
 
-#: lib/cr_tf/handler.py:881
-msgid "No VSPhere datastores found."
+#: lib/cr_tf/handler/dns.py:300
+msgid "Validating {a!r} => {f!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:896
-msgid "Searching for datastore clusters in VSPhere {!r} ..."
+#: lib/cr_tf/handler/dns.py:307
+msgid "Got reverse info:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:901
-msgid "Found one datastore cluster."
-msgid_plural "Found {n} datastore clusters."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:314
+msgid "Did not found reverse pointer for {!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:904
-msgid "No VSPhere datastore clusters found."
+#: lib/cr_tf/handler/dns.py:322
+msgid "Found reverse pointer {a!r} => {f!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:917
-msgid "Searching for networks in VSPhere {!r} ..."
+#: lib/cr_tf/handler/dns.py:325
+msgid "Reverse pointer for {!r} was already existing."
 msgstr ""
 
-#: lib/cr_tf/handler.py:920
-msgid "Found one error in exploring vSphere {v!r} resources."
-msgid_plural "Found {n} errors in exploring vSphere {v!r} resources."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:329
+msgid "Address {a!r} has already an existing reverse pointer to {p!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:938
-msgid "Found one error in exploring vSphere templates."
-msgid_plural "Found {n} errors in exploring vSphere templates."
+#: lib/cr_tf/handler/files.py:74 lib/cr_tf/handler/files.py:95 lib/cr_tf/handler/files.py:116
+msgid "Method {c}.{m} expected at most one argument, got {n}."
+msgid_plural "Method {c}.{m} expected at most {e} arguments, got {n}."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_tf/handler.py:955
-msgid "Validating information from YAML file ..."
+#: lib/cr_tf/handler/files.py:86
+msgid "Did not found network {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:959
-msgid "Found one error in validating vSphere computing clusters."
-msgid_plural "Found {n} errors in validating vSphere computing clusters."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/files.py:107
+msgid "Did not found datastore cluster {!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:975
-msgid "Got a list of all VMs and templates ..."
+#: lib/cr_tf/handler/files.py:128
+msgid "Did not found datastore {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:994
-msgid "All existing VMs and templates:"
+#: lib/cr_tf/handler/files.py:134
+msgid "Ensuring existence of directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1006
-msgid "Found one error in validating VM storages."
-msgid_plural "Found {n} errors in validating VM storages."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/files.py:138
+msgid "Directory {!r} already exists."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1024
-msgid "Found one error in validating VM interfaces."
-msgid_plural "Found {n} errors in validating VM interfaces."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/files.py:140
+msgid "Path {!r} exists, but is not a directory."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1042
-msgid "Found one error in validating DNS mappings."
-msgid_plural "Found {n} errors in validating DNS mappings."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/files.py:143
+msgid "Creating directory {!r} ..."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1104
-msgid "Reading YAML file {!r} ..."
+#: lib/cr_tf/handler/files.py:145
+msgid "Simulation mode - directory will not be created."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1115
-msgid "Error in YAML file {f!r}: {e}."
+#: lib/cr_tf/handler/files.py:150
+msgid "Could not create directory {d!r}: {e}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1119
-msgid "Error position: {li}:{c}"
+#: lib/cr_tf/handler/files.py:158
+msgid "Directory {!r} does not exists ?!?!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1124
-msgid "Read data from YAML file:"
+#: lib/cr_tf/handler/files.py:162
+msgid "No write access to directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1127
-msgid "Data read from YAML file {f!r} are not a dictionary, but a {c} object instead."
+#: lib/cr_tf/handler/files.py:165
+msgid "Changing into directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1143
-msgid "Searching for default VM definition ..."
+#: lib/cr_tf/handler/files.py:170
+msgid "Script-Dir relative to project dir: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1152
-msgid "Searching for VM definitions ..."
+#: lib/cr_tf/handler/files.py:173
+msgid "Permissions of {k!r} are {m:04o}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1169
-msgid "Evaluated VMs:"
+#: lib/cr_tf/handler/files.py:176
+msgid "Setting permissions of {k!r} from {o:04o} to {m:04o}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1183
-msgid "{c} in evaluating template VM: {e}"
+#: lib/cr_tf/handler/files.py:182
+msgid "Directory for SSH deploy keys relative to project dir: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1189
-msgid "Defined Terraform Template VM {n!r}:"
+#: lib/cr_tf/handler/files.py:186
+msgid "Filename of the private SSH deploy key relative to project dir: {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1207
-msgid "{c} in evaluating VM: {e}"
+#: lib/cr_tf/handler/files.py:191
+msgid "Checking {!r} for a previous terraform configuration."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1212
-msgid "Defined Terraform-VM {n!r}:"
+#: lib/cr_tf/handler/files.py:196
+msgid "In {d!r} there exists already {w!r}, but this is not a directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1216
-msgid "VM {!r} is already defined."
+#: lib/cr_tf/handler/files.py:202
+msgid "In {d!r} there exists already {w!r}, but this not a file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1226
-msgid "Group definition list is not a list:"
+#: lib/cr_tf/handler/files.py:207
+msgid ""
+"In directory {d!r} there are already existing both {w1!r} and {w2!r}. Is this an old terraform "
+"project?"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1232
-msgid "Maximum recursion depth for VM groups of {} reached."
+#: lib/cr_tf/handler/files.py:217
+msgid "Cleaning project directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1236
-msgid "Evaluating group list:"
+#: lib/cr_tf/handler/files.py:226
+msgid "Directory {!r} is already clean."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1238
-msgid "Used template: {!r}"
+#: lib/cr_tf/handler/files.py:231
+msgid "Removing recursive directory {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1247 lib/cr_tf/terraform/vm.py:259
-msgid "VM definition is not a dictionary:"
+#: lib/cr_tf/handler/files.py:235
+msgid "Removing {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1261
-msgid "No group name defined."
+#: lib/cr_tf/handler/files.py:244
+msgid "Creating all necessary files for terraform."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1265
-msgid "Searching for group default VM definition in group {!r} ..."
+#: lib/cr_tf/handler/files.py:265 lib/cr_tf/handler/files.py:323 lib/cr_tf/handler/files.py:399
+#: lib/cr_tf/handler/files.py:416 lib/cr_tf/handler/files.py:515
+msgid "Creating {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1280
-msgid "Used template for creating VMs in group {g!r}: {n!r}"
+#: lib/cr_tf/handler/files.py:271 lib/cr_tf/handler/files.py:418
+msgid "Creating {w} for VSPhere {v!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1283
-msgid "Used template structure:"
+#: lib/cr_tf/handler/files.py:540
+msgid "No minimum version of Terraform defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1286
-msgid "Searching for VM definitions in group {!r} ..."
+#: lib/cr_tf/handler/files.py:555
+msgid "Creating terraform files for VM instances."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1303
-msgid "Exploring all vSphere templates ..."
+#: lib/cr_tf/handler/files.py:566
+msgid "Creating file {f!r} for VM instance {n!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1318
-msgid "VM {!r} has not template defined."
+#: lib/cr_tf/handler/files.py:574
+msgid "Using template:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1321
-msgid "All {} VSPhere templates to explore:"
+#: lib/cr_tf/handler/files.py:592
+msgid "Writing {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1330
-msgid "Searching for template {t!r} in VSPhere {v!r} ..."
+#: lib/cr_tf/handler/files.py:609
+msgid "Generating global definitions of {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1340
-msgid "Template {t!r} not found in VSPhere {v!r}."
+#: lib/cr_tf/handler/files.py:617
+msgid "Cluster {!r} not found - this shouldn't be happened."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1345
-msgid "All explored vSphere templates:"
+#: lib/cr_tf/handler/files.py:674
+msgid "Generating interface definition {i} of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1358
-msgid "Validating existence of computing clusters of the VMs."
+#: lib/cr_tf/handler/files.py:695
+msgid "Generating disk definition {n} of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1379
-msgid "Checking existence of computing cluster {c!r} in VSPhere {v!r} ..."
+#: lib/cr_tf/handler/files.py:715
+msgid "Generating customization of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1387
-msgid "Found computing cluster {cl!r} in VSPhere {v!r} (defined for VMs {vms})."
+#: lib/cr_tf/handler/files.py:759 lib/cr_tf/handler/files.py:780
+msgid "Generating file provisioner for {f!r} of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1391
-msgid "Computing cluster {cl!r} (defined for VMs {vms}) in VSPhere {v!r} not found."
+#: lib/cr_tf/handler/first.py:64
+msgid "No configuration given before initialisation of handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1400
-msgid "Validating existence of VMs in VMWare."
+#: lib/cr_tf/handler/first.py:68
+msgid "{n} is not a {e}-instance, but a {w}-instance instead."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1417
-msgid "[{m}]  - VM is already existing in VSphere {v!r}, path {p!r}."
+#: lib/cr_tf/handler/first.py:79
+msgid "Initialize some additional handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1425
-msgid "VM info:"
+#: lib/cr_tf/handler/first.py:108
+msgid "Checking the terraform version ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1427
-msgid "Datastore of VM {vm!r}: {ds!r}."
+#: lib/cr_tf/handler/first.py:118
+msgid "No output on command {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1447
-msgid "CAUTION!"
+#: lib/cr_tf/handler/first.py:123
+msgid "First line:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1451
-msgid "Did not found any VM to deploy!"
+#: lib/cr_tf/handler/first.py:126
+msgid "Could not evaluate version output of terraform:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1454
-msgid "No VMs to deploy"
+#: lib/cr_tf/handler/first.py:130
+msgid "Terraform version: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1470
-msgid "Used datastore clusters:"
+#: lib/cr_tf/handler/first.py:133 lib/cr_tf/handler/first.py:141
+msgid "Checking for {o}{m!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1472
-msgid "No datastore clusters are used."
+#: lib/cr_tf/handler/first.py:136 lib/cr_tf/handler/first.py:144
+msgid "Invalid version {c!r} of terraform, expected {o}{m!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1479
-msgid "Used datastors:"
+#: lib/cr_tf/handler/first.py:159
+msgid "Go ahead..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1481
-msgid "No datastores are used."
+#: lib/cr_tf/handler/first.py:164
+msgid "Initialising VSPhere handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1486
-msgid "Validating given datastore clusters of VMs ..."
+#: lib/cr_tf/handler/first.py:180
+msgid "Current {} object:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1511
-msgid "Found datastore cluster {c!r} in VSphere {v!r} for VM {n!r}."
+#: lib/cr_tf/handler/read.py:48
+msgid "Found one error in evaluation of YAML data of {f!r}."
+msgid_plural "Found {n} errors in evaluation of YAML data of {f!r}."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/read.py:61
+msgid "Reading YAML file {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1515
-msgid "Setting datastore cluster for VM {n!r} to {c!r} ..."
+#: lib/cr_tf/handler/read.py:72
+msgid "Error in YAML file {f!r}: {e}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1520
-msgid "Free space of cluster {c!r} in VSphere {v!r} before provisioning: {a:0.1f} GiB."
+#: lib/cr_tf/handler/read.py:76
+msgid "Error position: {li}:{c}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1525
-msgid ""
-"Datastore cluster {d!r} in VSphere {v!r} has not sufficient space for storage of VM {vm!r} "
-"(needed {n:0.1f} GiB, available {a:0.1f} GiB)."
+#: lib/cr_tf/handler/read.py:81
+msgid "Read data from YAML file:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1535
-msgid "Free space in cluster {c!r} in VSphere {v!r} after provisioning: {a:0.1f} GiB."
+#: lib/cr_tf/handler/read.py:84
+msgid "Data read from YAML file {f!r} are not a dictionary, but a {c} object instead."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1547
-msgid "Datastore cluster {c!r} of VM {n!r} not found in VSphere {v!r}."
+#: lib/cr_tf/handler/read.py:100
+msgid "Searching for default VM definition ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1554
-msgid "Validating given datastores of VMs and assign failing ..."
+#: lib/cr_tf/handler/read.py:109
+msgid "Searching for VM definitions ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1560
-msgid "Removing defined datastore {d!r} for VM {n!r} ..."
+#: lib/cr_tf/handler/read.py:126
+msgid "Evaluated VMs:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1585 lib/cr_tf/handler.py:1693
-msgid "Did not found cluster object {c!r} for VM {n!r}."
+#: lib/cr_tf/handler/read.py:140
+msgid "{c} in evaluating template VM: {e}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1595 lib/cr_tf/handler.py:1630
-msgid "Found datastore {d!r} for VM {n!r} in VSPhere {v!r}."
+#: lib/cr_tf/handler/read.py:146
+msgid "Defined Terraform Template VM {n!r}:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1598
-msgid "Datastore {d!r} not available in cluster {c!r}."
+#: lib/cr_tf/handler/read.py:164
+msgid "{c} in evaluating VM: {e}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1602
-msgid "Setting datastore for VM {n!r} to {d!r} ..."
+#: lib/cr_tf/handler/read.py:169
+msgid "Defined Terraform-VM {n!r}:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1607
-msgid ""
-"Datastore {d!r} has not sufficient space for storage of VM {v!r} (needed {n:0.1f} GiB, available"
-" {a:0.1f} GiB)."
+#: lib/cr_tf/handler/read.py:173
+msgid "VM {!r} is already defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1618
-msgid "Datastore {d!r} of VM {n!r} not found in VSPhere {v!r}."
+#: lib/cr_tf/handler/read.py:183
+msgid "Group definition list is not a list:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1643
-msgid "Validating interfaces of VMs and assign networks ..."
+#: lib/cr_tf/handler/read.py:189
+msgid "Maximum recursion depth for VM groups of {} reached."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1648
-msgid "Validated FQDNs:"
+#: lib/cr_tf/handler/read.py:193
+msgid "Evaluating group list:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1649
-msgid "Validated Addresses:"
+#: lib/cr_tf/handler/read.py:195
+msgid "Used template: {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1659
-msgid "Used networks:"
+#: lib/cr_tf/handler/read.py:204 lib/cr_tf/terraform/vm.py:267
+msgid "VM definition is not a dictionary:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1665
-msgid "Used forward DNS entries:"
+#: lib/cr_tf/handler/read.py:218
+msgid "No group name defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1671
-msgid "Used reverse DNS entries:"
+#: lib/cr_tf/handler/read.py:222
+msgid "Searching for group default VM definition in group {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1677
-msgid "Checking interfaces of VM {n!r} in VSPhere {v!r} ..."
+#: lib/cr_tf/handler/read.py:237
+msgid "Used template for creating VMs in group {g!r}: {n!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1681
-msgid "No interfaces defined for VM {!r}."
+#: lib/cr_tf/handler/read.py:240
+msgid "Used template structure:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1709
-msgid "Checking interface {i} of VM {n!r} ..."
+#: lib/cr_tf/handler/read.py:243
+msgid "Searching for VM definitions in group {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1713
-msgid "Interface {i} of VM {n!r} has no defined address."
+#: lib/cr_tf/handler/vmware.py:51
+msgid "Collecting all VMWare and local folders ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1719
-msgid "Interface {i} of VM {n!r} has no defined FQDN."
+#: lib/cr_tf/handler/vmware.py:52
+msgid "Get vSphere datacenter ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1725
-msgid "FQDN {f!r} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+#: lib/cr_tf/handler/vmware.py:56
+msgid "Collecting vSphere folders."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1737
-msgid "IPv4 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+#: lib/cr_tf/handler/vmware.py:63
+msgid "Collected vSphere folders:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1752
-msgid "IPv6 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+#: lib/cr_tf/handler/vmware.py:71
+msgid "Project name is {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1768
-msgid "Could not find network {n!r} for VM {v!r}, interface {i}."
+#: lib/cr_tf/handler/vmware.py:73
+msgid "Project directory is: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1780
-msgid "Found network {n!r} for interface {i} of VM {v!r}."
+#: lib/cr_tf/handler/vmware.py:89
+msgid "Did not found root terraform directory above {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1784
-msgid "Network {n!r} for interface {i} of VM {v!r} not available in cluster {c!r}."
+#: lib/cr_tf/handler/vmware.py:93
+msgid "Full project name: {!r}"
+msgstr ""
+
+#: lib/cr_tf/handler/vmware.py:113
+msgid "There is only one, unique VSPhere definition allowed in a project file."
+msgstr ""
+
+#: lib/cr_tf/handler/vmware.py:115
+msgid "In {f!r} were found {nr} different VSPhere definitions:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1789
-msgid "Network {n!r} is available in cluster {c!r}."
+#: lib/cr_tf/handler/vmware.py:135
+msgid "VSPhere {!r} not defined in configuration."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1794
-msgid "Setting gateway of interface {i} of VM {v!r} to {g}."
+#: lib/cr_tf/handler/vmware.py:167
+msgid "Initialising a {}-object with params:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1814
-msgid "Validating DNS mappings ..."
+#: lib/cr_tf/handler/vmware.py:191
+msgid "Created {}-object:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1824 lib/cr_tf/handler.py:1834
-msgid "None"
+#: lib/cr_tf/handler/vmware.py:207
+msgid "Assigning not defined templates and clusters of VMs by their appropriate default values."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1825
-msgid "Forward DNS entries to create:"
+#: lib/cr_tf/handler/vmware.py:216
+msgid "Setting cluster of {n!r} to {c!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1835
-msgid "Reverse DNS entries to create:"
+#: lib/cr_tf/handler/vmware.py:223
+msgid "Setting template of {n!r} to {t!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1843
-msgid "Validating forward DNS mappings ..."
+#: lib/cr_tf/handler/vmware.py:234
+msgid "Searching for clusters in VSPhere {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1848
-msgid "Validating {f!r} => {a!r}."
+#: lib/cr_tf/handler/vmware.py:250
+msgid "Searching for datastores in VSPhere {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1874
-msgid "Found existing addresses for {f!r}:"
+#: lib/cr_tf/handler/vmware.py:255
+msgid "Found one datastore."
+msgid_plural "Found {n} datastores."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:258
+msgid "No VSPhere datastores found."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1876
-msgid "Did not found existing addresses for {!r}."
+#: lib/cr_tf/handler/vmware.py:273
+msgid "Searching for datastore clusters in VSPhere {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1883 lib/cr_tf/handler.py:1891
-msgid "FQDN {f!r} already points to {a!r}."
+#: lib/cr_tf/handler/vmware.py:278
+msgid "Found one datastore cluster."
+msgid_plural "Found {n} datastore clusters."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:284
+msgid "No VSPhere datastore clusters found."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1896
-msgid "FQDN {f!r} has already existing addresses, but none of them are {a!r}:"
+#: lib/cr_tf/handler/vmware.py:297
+msgid "Searching for networks in VSPhere {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1912
-msgid "Validating reverse DNS mappings ..."
+#: lib/cr_tf/handler/vmware.py:300
+msgid "Found one error in exploring vSphere {v!r} resources."
+msgid_plural "Found {n} errors in exploring vSphere {v!r} resources."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:318
+msgid "Found one error in exploring vSphere templates."
+msgid_plural "Found {n} errors in exploring vSphere templates."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:335
+msgid "Validating information from YAML file ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1917
-msgid "Validating {a!r} => {f!r}."
+#: lib/cr_tf/handler/vmware.py:339
+msgid "Found one error in validating vSphere computing clusters."
+msgid_plural "Found {n} errors in validating vSphere computing clusters."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:355
+msgid "Got a list of all VMs and templates ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1924
-msgid "Got reverse info:"
+#: lib/cr_tf/handler/vmware.py:374
+msgid "All existing VMs and templates:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1931
-msgid "Did not found reverse pointer for {!r}."
+#: lib/cr_tf/handler/vmware.py:386
+msgid "Found one error in validating VM storages."
+msgid_plural "Found {n} errors in validating VM storages."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:404
+msgid "Found one error in validating VM interfaces."
+msgid_plural "Found {n} errors in validating VM interfaces."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:429
+msgid "Exploring all vSphere templates ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1939
-msgid "Found reverse pointer {a!r} => {f!r}."
+#: lib/cr_tf/handler/vmware.py:444
+msgid "VM {!r} has not template defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1942
-msgid "Reverse pointer for {!r} was already existing."
+#: lib/cr_tf/handler/vmware.py:447
+msgid "All {} VSPhere templates to explore:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1946
-msgid "Address {a!r} has already an existing reverse pointer to {p!r}."
+#: lib/cr_tf/handler/vmware.py:456
+msgid "Searching for template {t!r} in VSPhere {v!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1957 lib/cr_tf/handler.py:1978 lib/cr_tf/handler.py:1999
-msgid "Method {c}.{m} expected at most one argument, got {n}."
-msgid_plural "Method {c}.{m} expected at most {e} arguments, got {n}."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/vmware.py:466
+msgid "Template {t!r} not found in VSPhere {v!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1969
-msgid "Did not found network {!r}."
+#: lib/cr_tf/handler/vmware.py:471
+msgid "All explored vSphere templates:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1990
-msgid "Did not found datastore cluster {!r}."
+#: lib/cr_tf/handler/vmware.py:484
+msgid "Validating existence of computing clusters of the VMs."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2011
-msgid "Did not found datastore {!r}."
+#: lib/cr_tf/handler/vmware.py:505
+msgid "Checking existence of computing cluster {c!r} in VSPhere {v!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2017
-msgid "Performing DNS actions ..."
+#: lib/cr_tf/handler/vmware.py:513
+msgid "Found computing cluster {cl!r} in VSPhere {v!r} (defined for VMs {vms})."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2033
-msgid "There was one error in creating DNS mappings."
-msgid_plural "There were {n} errors in creating DNS mappings."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/vmware.py:517
+msgid "Computing cluster {cl!r} (defined for VMs {vms}) in VSPhere {v!r} not found."
+msgstr ""
 
-#: lib/cr_tf/handler.py:2039
-msgid "No errors in creating DNS mappings."
+#: lib/cr_tf/handler/vmware.py:526
+msgid "Validating existence of VMs in VMWare."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2049
-msgid "Increasing serial of zone {!r}."
+#: lib/cr_tf/handler/vmware.py:543
+msgid "[{m}]  - VM is already existing in VSphere {v!r}, path {p!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2068
-msgid "Got zone {z!r} for FQDN {f!r}."
+#: lib/cr_tf/handler/vmware.py:551
+msgid "VM info:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2071
-msgid "Did not found zone to insert {t}-record for {f!r}."
+#: lib/cr_tf/handler/vmware.py:553
+msgid "Datastore of VM {vm!r}: {ds!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2089
-msgid "Trying to create PTR-record {a!r} => {f!r}."
+#: lib/cr_tf/handler/vmware.py:573
+msgid "CAUTION!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2094
-msgid "PTR of {a!r}: {p!r}."
+#: lib/cr_tf/handler/vmware.py:577
+msgid "Did not found any VM to deploy!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2099
-msgid "Got reverse zone {z!r} for address {a!r}."
+#: lib/cr_tf/handler/vmware.py:580
+msgid "No VMs to deploy"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2102
-msgid "Did not found zone to insert PTR-record {p!r} ({a})."
+#: lib/cr_tf/handler/vmware.py:596
+msgid "Used datastore clusters:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2116
-msgid "Ensuring existence of directory {!r}."
+#: lib/cr_tf/handler/vmware.py:598
+msgid "No datastore clusters are used."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2120
-msgid "Directory {!r} already exists."
+#: lib/cr_tf/handler/vmware.py:605
+msgid "Used datastors:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2122
-msgid "Path {!r} exists, but is not a directory."
+#: lib/cr_tf/handler/vmware.py:607
+msgid "No datastores are used."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2125
-msgid "Creating directory {!r} ..."
+#: lib/cr_tf/handler/vmware.py:612
+msgid "Validating given datastore clusters of VMs ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2127
-msgid "Simulation mode - directory will not be created."
+#: lib/cr_tf/handler/vmware.py:640
+msgid "Found datastore cluster {c!r} in VSphere {v!r} for VM {n!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2132
-msgid "Could not create directory {d!r}: {e}"
+#: lib/cr_tf/handler/vmware.py:644
+msgid "Setting datastore cluster for VM {n!r} to {c!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2140
-msgid "Directory {!r} does not exists ?!?!"
+#: lib/cr_tf/handler/vmware.py:649
+msgid "Free space of cluster {c!r} in VSphere {v!r} before provisioning: {a:0.1f} GiB."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2144
-msgid "No write access to directory {!r}."
+#: lib/cr_tf/handler/vmware.py:654
+msgid ""
+"Datastore cluster {d!r} in VSphere {v!r} has not sufficient space for storage of VM {vm!r} "
+"(needed {n:0.1f} GiB, available {a:0.1f} GiB)."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2147
-msgid "Changing into directory {!r}."
+#: lib/cr_tf/handler/vmware.py:664
+msgid "Free space in cluster {c!r} in VSphere {v!r} after provisioning: {a:0.1f} GiB."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2152
-msgid "Script-Dir relative to project dir: {!r}."
+#: lib/cr_tf/handler/vmware.py:676
+msgid "Datastore cluster {c!r} of VM {n!r} not found in VSphere {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2155
-msgid "Checking {!r} for a previous terraform configuration."
+#: lib/cr_tf/handler/vmware.py:683
+msgid "Validating given datastores of VMs and assign failing ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2160
-msgid "In {d!r} there exists already {w!r}, but this is not a directory."
+#: lib/cr_tf/handler/vmware.py:689
+msgid "Removing defined datastore {d!r} for VM {n!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2166
-msgid "In {d!r} there exists already {w!r}, but this not a file."
+#: lib/cr_tf/handler/vmware.py:714 lib/cr_tf/handler/vmware.py:822
+msgid "Did not found cluster object {c!r} for VM {n!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2171
-msgid ""
-"In directory {d!r} there are already existing both {w1!r} and {w2!r}. Is this an old terraform "
-"project?"
+#: lib/cr_tf/handler/vmware.py:724 lib/cr_tf/handler/vmware.py:759
+msgid "Found datastore {d!r} for VM {n!r} in VSPhere {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2181
-msgid "Cleaning project directory {!r}."
+#: lib/cr_tf/handler/vmware.py:727
+msgid "Datastore {d!r} not available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2190
-msgid "Directory {!r} is already clean."
+#: lib/cr_tf/handler/vmware.py:731
+msgid "Setting datastore for VM {n!r} to {d!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2195
-msgid "Removing recursive directory {!r} ..."
+#: lib/cr_tf/handler/vmware.py:736
+msgid ""
+"Datastore {d!r} has not sufficient space for storage of VM {v!r} (needed {n:0.1f} GiB, available"
+" {a:0.1f} GiB)."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2199
-msgid "Removing {!r} ..."
+#: lib/cr_tf/handler/vmware.py:747
+msgid "Datastore {d!r} of VM {n!r} not found in VSPhere {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2208
-msgid "Creating all necessary files for terraform."
+#: lib/cr_tf/handler/vmware.py:772
+msgid "Validating interfaces of VMs and assign networks ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2229 lib/cr_tf/handler.py:2279 lib/cr_tf/handler.py:2340
-#: lib/cr_tf/handler.py:2357 lib/cr_tf/handler.py:2456
-msgid "Creating {!r} ..."
+#: lib/cr_tf/handler/vmware.py:777
+msgid "Validated FQDNs:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2235 lib/cr_tf/handler.py:2359
-msgid "Creating {w} for VSPhere {v!r} ..."
+#: lib/cr_tf/handler/vmware.py:778
+msgid "Validated Addresses:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2481
-msgid "No minimum version of Terraform defined."
+#: lib/cr_tf/handler/vmware.py:788
+msgid "Used networks:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2496
-msgid "Creating terraform files for VM instances."
+#: lib/cr_tf/handler/vmware.py:794
+msgid "Used forward DNS entries:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2507
-msgid "Creating file {f!r} for VM instance {n!r}."
+#: lib/cr_tf/handler/vmware.py:800
+msgid "Used reverse DNS entries:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2515
-msgid "Using template:"
+#: lib/cr_tf/handler/vmware.py:806
+msgid "Checking interfaces of VM {n!r} in VSPhere {v!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2540
-msgid "Writing {!r}"
+#: lib/cr_tf/handler/vmware.py:810
+msgid "No interfaces defined for VM {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2557
-msgid "Generating global definitions of {!r}."
+#: lib/cr_tf/handler/vmware.py:838
+msgid "Checking interface {i} of VM {n!r} ..."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2565
-msgid "Cluster {!r} not found - this shouldn't be happened."
+#: lib/cr_tf/handler/vmware.py:842
+msgid "Interface {i} of VM {n!r} has no defined address."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2620
-msgid "Generating interface definition {i} of {v!r}."
+#: lib/cr_tf/handler/vmware.py:848
+msgid "Interface {i} of VM {n!r} has no defined FQDN."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2641
-msgid "Generating disk definition {i} of {v!r}."
+#: lib/cr_tf/handler/vmware.py:854
+msgid "FQDN {f!r} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2661
-msgid "Generating customization of {v!r}."
+#: lib/cr_tf/handler/vmware.py:866
+msgid "IPv4 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2703
-msgid "Generating file provisioner for {f!r} of {v!r}."
+#: lib/cr_tf/handler/vmware.py:881
+msgid "IPv6 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2912
-msgid "Ensuring existence of all necessary vSphere VM folders."
+#: lib/cr_tf/handler/vmware.py:897
+msgid "Could not find network {n!r} for VM {v!r}, interface {i}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2936
-msgid "Importing existing virtual machines ..."
+#: lib/cr_tf/handler/vmware.py:909
+msgid "Found network {n!r} for interface {i} of VM {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2942
-msgid "Importing VM {!r}."
+#: lib/cr_tf/handler/vmware.py:913
+msgid "Network {n!r} for interface {i} of VM {v!r} not available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2959
-msgid "Error on importing VM {!r}:"
+#: lib/cr_tf/handler/vmware.py:918
+msgid "Network {n!r} is available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2981
-msgid "Congratulations!"
+#: lib/cr_tf/handler/vmware.py:923
+msgid "Setting gateway of interface {i} of VM {v!r} to {g}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2983
-msgid "Now you are ready to deploy the following virtual machines:"
+#: lib/cr_tf/handler/vmware.py:949
+msgid "Ensuring existence of all necessary vSphere VM folders."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2987
-msgid "To start the deployment process change to directory {}"
+#: lib/cr_tf/terraform/disk.py:55 lib/cr_tf/terraform/disk.py:235
+msgid "Object {o!r} is not a {e} object."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2990
-msgid "and enter: {}"
+#: lib/cr_tf/terraform/disk.py:91
+msgid "The name of a disk don't may be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:46 lib/cr_tf/terraform/disk.py:183
-msgid "Object {o!r} is not a {e} object."
+#: lib/cr_tf/terraform/disk.py:95
+msgid "The name of a disk don't may be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:93
+#: lib/cr_tf/terraform/disk.py:124
 msgid "Invalid disk size {n} - size must be {min} <= SIZE <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:127
+#: lib/cr_tf/terraform/disk.py:177
 msgid "A root disk must have always the unit number 0 (given {!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:131
+#: lib/cr_tf/terraform/disk.py:181
 msgid "Invalid unit number {n} - number must be {min} <= NUMBER <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:142
+#: lib/cr_tf/terraform/disk.py:192
 msgid "Copying Terraform disk object with unit ID {}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:178
+#: lib/cr_tf/terraform/disk.py:230
 msgid "Invalid disk type {{!r}} to set, only {} allowed."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:180
-msgid "The key {k!r} must be equal to the unit_number of the disk {u}."
+#: lib/cr_tf/terraform/disk.py:232
+msgid "The key {k!r} must be equal to the name of the disk {n!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:181
+#: lib/cr_tf/terraform/disk.py:233
 msgid "None type as key is not allowed."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:182
+#: lib/cr_tf/terraform/disk.py:234
 msgid "Empty key {!r} is not allowed."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:410
+#: lib/cr_tf/terraform/disk.py:466
 msgid "Copying Terraform disk dictionary ..."
 msgstr ""
 
@@ -1406,7 +1423,7 @@ msgstr ""
 msgid "IP address {!r} is not an IPv6 address."
 msgstr ""
 
-#: lib/cr_tf/terraform/interface.py:198 lib/cr_tf/terraform/vm.py:728
+#: lib/cr_tf/terraform/interface.py:198 lib/cr_tf/terraform/vm.py:804
 msgid "The hostname {!r} is no a valid FQDN."
 msgstr ""
 
@@ -1434,7 +1451,7 @@ msgstr ""
 msgid "Interface definition is not a dictionary:"
 msgstr ""
 
-#: lib/cr_tf/terraform/interface.py:379 lib/cr_tf/terraform/vm.py:299
+#: lib/cr_tf/terraform/interface.py:379 lib/cr_tf/terraform/vm.py:311
 msgid "Evaluating key {k!r}: {v}"
 msgstr ""
 
@@ -1442,290 +1459,350 @@ msgstr ""
 msgid "Copying Terraform interface object with address {}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:233
+#: lib/cr_tf/terraform/vm.py:241
 msgid "A VM template definition may not have a FQDN (found: {!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:237
+#: lib/cr_tf/terraform/vm.py:245
 msgid "A VM template definition must have a name."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:241
+#: lib/cr_tf/terraform/vm.py:249
 msgid "A VM definition (no template) must have a FQDN."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:256
+#: lib/cr_tf/terraform/vm.py:264
 msgid "Trying to instantiate VM from data:"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:264
+#: lib/cr_tf/terraform/vm.py:272
 msgid "Given parameter {!r} is not a TerraformVm object."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:334
+#: lib/cr_tf/terraform/vm.py:346
 msgid "Could not evaluate nameservers from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:345
+#: lib/cr_tf/terraform/vm.py:357
 msgid "Could not evaluate search domains from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:361
+#: lib/cr_tf/terraform/vm.py:373
 msgid "Template definitions may not have interface definitions."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:369
+#: lib/cr_tf/terraform/vm.py:381
 msgid "Could not evaluate interfaces from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:372
+#: lib/cr_tf/terraform/vm.py:384
 msgid "Unknown VM definition key {k!r} with value: {v!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:385
+#: lib/cr_tf/terraform/vm.py:397
 msgid "Applying vSphere {!r} to VM."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:437
+#: lib/cr_tf/terraform/vm.py:455
 msgid "Could not evaluate size of root disk, {!r} is not a dictionary."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:449
+#: lib/cr_tf/terraform/vm.py:468
 msgid "Could not evaluate data disk from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:462
+#: lib/cr_tf/terraform/vm.py:492
 msgid "Data disks for VM {!r} were set to None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:464
+#: lib/cr_tf/terraform/vm.py:494
 msgid "Could not evaluate data disks from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:485
+#: lib/cr_tf/terraform/vm.py:515
 msgid "Key {k!r} has no string value, but a {c!r} instead."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:493
+#: lib/cr_tf/terraform/vm.py:526
 msgid "Invalid contact name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:500 lib/cr_tf/terraform/vm.py:555
+#: lib/cr_tf/terraform/vm.py:533 lib/cr_tf/terraform/vm.py:595
 msgid "Invalid puppet customer name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:507 lib/cr_tf/terraform/vm.py:562
+#: lib/cr_tf/terraform/vm.py:540 lib/cr_tf/terraform/vm.py:602
 msgid "Invalid puppet customer project name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:514 lib/cr_tf/terraform/vm.py:569
+#: lib/cr_tf/terraform/vm.py:547 lib/cr_tf/terraform/vm.py:609
 msgid "Invalid puppet role {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:521 lib/cr_tf/terraform/vm.py:576
+#: lib/cr_tf/terraform/vm.py:558 lib/cr_tf/terraform/vm.py:620
 msgid "Invalid puppet tier {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:528 lib/cr_tf/terraform/vm.py:584
+#: lib/cr_tf/terraform/vm.py:565 lib/cr_tf/terraform/vm.py:628
 msgid "Setting Puppet environment to {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:530 lib/cr_tf/terraform/vm.py:587
+#: lib/cr_tf/terraform/vm.py:567 lib/cr_tf/terraform/vm.py:631
 msgid "Invalid puppet environment {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:543
+#: lib/cr_tf/terraform/vm.py:583
 msgid "Evaluating sub key of {d!r}: {k!r} => {v!r}"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:548
+#: lib/cr_tf/terraform/vm.py:588
 msgid "Invalid puppet contact name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:599
+#: lib/cr_tf/terraform/vm.py:643
 msgid "Template"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:604
+#: lib/cr_tf/terraform/vm.py:648
 msgid "Copying Terraform VM object {!r} ..."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:636 lib/cr_tf/terraform/vm.py:663
+#: lib/cr_tf/terraform/vm.py:680 lib/cr_tf/terraform/vm.py:707
 msgid "Parameter {p} {ns!r} is not iterable."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:645
+#: lib/cr_tf/terraform/vm.py:689
 msgid "There are at most {mx} nameservers accepted, {addr} will not be considered."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:653
+#: lib/cr_tf/terraform/vm.py:697
 msgid "Invalid nameserver address {v!r}: {e}"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:670
+#: lib/cr_tf/terraform/vm.py:714
 msgid "There are at most {mx} search domains accepted, {srv} will not be considered."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:732
+#: lib/cr_tf/terraform/vm.py:730
+msgid "The VM {!r} was no VMware template assigned, assuming the VM should become a RHEL instance."
+msgstr ""
+
+#: lib/cr_tf/terraform/vm.py:740
+msgid "Guessing the VM {fqdn!r} should become a RHEL instance: {ret!r}"
+msgstr ""
+
+#: lib/cr_tf/terraform/vm.py:808
 msgid "The hostname {!r} may not end with a dot '.'."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:751
+#: lib/cr_tf/terraform/vm.py:827
 msgid "The name of a template VM may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:759
+#: lib/cr_tf/terraform/vm.py:835
 msgid "The name of a template VM may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:774
+#: lib/cr_tf/terraform/vm.py:850
 msgid "The name of the VSPhere may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:779
+#: lib/cr_tf/terraform/vm.py:855
 msgid "The name of the VSPhere may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:818
+#: lib/cr_tf/terraform/vm.py:894
 msgid "Invalid number of CPUs {n} - number must be {min} <= NUMBER <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:835
+#: lib/cr_tf/terraform/vm.py:911
 msgid "Trying to detect memory from value {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:839
+#: lib/cr_tf/terraform/vm.py:915
 msgid "Invalid memory {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:849
+#: lib/cr_tf/terraform/vm.py:925
 msgid "Invalid memory {m} - memory must be {min} <= MiBytes <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:854
+#: lib/cr_tf/terraform/vm.py:930
 msgid "Invalid memory {m}, must be a multipe of {c}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:868
+#: lib/cr_tf/terraform/vm.py:944
 msgid "The name of the computing cluster of the VM may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:873
+#: lib/cr_tf/terraform/vm.py:949
 msgid "The name of the computing cluster of the VM may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:887
+#: lib/cr_tf/terraform/vm.py:963
 msgid "A folder name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:892
+#: lib/cr_tf/terraform/vm.py:968
 msgid "A folder name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:906
+#: lib/cr_tf/terraform/vm.py:982
 msgid "Invalid boot delay {b:0.1} - delay must be {min} <= NUMBER <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:963
+#: lib/cr_tf/terraform/vm.py:1039
 msgid "Datastore type {t!r} not allowed, valid datastore types are: {li}"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:977
+#: lib/cr_tf/terraform/vm.py:1053
 msgid "A customer name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:982
+#: lib/cr_tf/terraform/vm.py:1058
 msgid "A customer name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1001
+#: lib/cr_tf/terraform/vm.py:1077
 msgid "A purpose may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1006
+#: lib/cr_tf/terraform/vm.py:1082
 msgid "A purpose may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1019
+#: lib/cr_tf/terraform/vm.py:1095
 msgid "A template VM name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1024
+#: lib/cr_tf/terraform/vm.py:1100
 msgid "A template VM name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1037
+#: lib/cr_tf/terraform/vm.py:1113
 msgid "A puppet contact name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1042
+#: lib/cr_tf/terraform/vm.py:1118
 msgid "A puppet contact name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1055
+#: lib/cr_tf/terraform/vm.py:1131
 msgid "A puppet hiera customer name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1060
+#: lib/cr_tf/terraform/vm.py:1136
 msgid "A puppet hiera customer name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1063
+#: lib/cr_tf/terraform/vm.py:1139
 msgid "A puppet hiera customer name may not contain a slash (/) character."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1076
+#: lib/cr_tf/terraform/vm.py:1152
 msgid "A puppet hiera project name should not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1082
+#: lib/cr_tf/terraform/vm.py:1158
 msgid "A puppet hiera customer project may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1085
+#: lib/cr_tf/terraform/vm.py:1161
 msgid "A puppet hiera customer project may not contain a slash (/) character."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1118
+#: lib/cr_tf/terraform/vm.py:1194
 msgid "A puppet role may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1123
+#: lib/cr_tf/terraform/vm.py:1199
 msgid "A puppet role may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1136
+#: lib/cr_tf/terraform/vm.py:1212
 msgid "A puppet tier name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1141
+#: lib/cr_tf/terraform/vm.py:1217
 msgid "A puppet tier name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1145
+#: lib/cr_tf/terraform/vm.py:1221
 msgid "A puppet tier should be one of {li} (given: {v!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1171
+#: lib/cr_tf/terraform/vm.py:1247
 msgid "A puppet environment should be one of {li} (given: {v!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1195
+#: lib/cr_tf/terraform/vm.py:1271
 msgid "Invalid root disk size {n} - size must be {min} <= SIZE <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1269
+#: lib/cr_tf/terraform/vm.py:1360
 msgid "Resetting root disk."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1296
+#: lib/cr_tf/terraform/vm.py:1393
 msgid "Using parameters for init data disk:"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1304
+#: lib/cr_tf/terraform/vm.py:1402
 msgid "Got data disk:"
 msgstr ""
 
+#: lib/cr_tf/vs_config.py:149
+msgid "a port may not be less than 1: {}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:153
+msgid "a port may not be greater than {m}: {v}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:157
+msgid "Wrong port number {v!r}: {e}"
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:262
+msgid "may not be less than 10: {:0.1f}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:266
+msgid "may not be greater than {m}: {v:0.1f}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:270
+msgid "Wrong minimum root size in GiB {v!r}: {e}"
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:342
+msgid "Comparing {} objects ..."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:375
+msgid "unknown"
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:379
+msgid "Checking validity of {o}-object {n!r} ..."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:390
+msgid "Attribute {a!r} of the {o}-object {n!r} is not set."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:399
+msgid "Found an error in VSPhere configuration"
+msgid_plural "Found {} errors in VSPhere configuration"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/vs_config.py:409
+msgid ""
+"Attribute {a!r} of the {o}-object {n!r} is not set, it will be requestet during this script and "
+"on starting terraform."
+msgstr ""
+
 #: lib/cr_tf/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr ""
index 946ec5da27dda4a01730670caa5b5e46b952ce6d..7643722b64ddfcc148f41e3bc57fdbf831086f99 100644 (file)
@@ -1,50 +1,50 @@
 # German (Germany) translations for create_terraform.
-# Copyright (C) 2021 Frank Brehm, Pixelpark GmbH, Berlin
+# Copyright (C) 2023 Frank Brehm, Pixelpark GmbH, Berlin
 # This file is distributed under the same license as the create_terraform project.
-# Frank Brehm <frank.brehm@pixelpark.com>, 2021.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: create_terraform 1.5.4\n"
+"Project-Id-Version: create_terraform 1.7.2\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2021-09-10 13:21+0200\n"
-"PO-Revision-Date: 2019-12-18 12:30+0100\n"
+"POT-Creation-Date: 2023-11-10 16:48+0100\n"
+"PO-Revision-Date: 2023-11-10 16:30+0100\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: de_DE\n"
 "Language-Team: Frank Brehm <frank.brehm@pixelpark.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.13.1\n"
 
-#: lib/cr_tf/app.py:86 lib/cr_tf/app.py:112
+#: lib/cr_tf/app.py:81 lib/cr_tf/app.py:107
 msgid "File {!r} does not exists."
 msgstr "Die Datei {!r} existiert nicht."
 
-#: lib/cr_tf/app.py:89 lib/cr_tf/app.py:115
+#: lib/cr_tf/app.py:84 lib/cr_tf/app.py:110
 msgid "File {!r} is not a regular file."
 msgstr "Die Datei {!r} ist keine reguläre Datei."
 
-#: lib/cr_tf/app.py:141
+#: lib/cr_tf/app.py:136
 msgid "The following steps to interrupt the execution after are available:"
 msgstr "Die folgenden Schritte, nach denen die Ausführung unterbrochen werden kann, sind verfügbar:"
 
-#: lib/cr_tf/app.py:144
+#: lib/cr_tf/app.py:139
 msgid "<no description>"
 msgstr "<keine Beschreibung>"
 
-#: lib/cr_tf/app.py:179
+#: lib/cr_tf/app.py:176
 msgid "Creates or updates a directory with a terraform environment on base of a given YAML file."
 msgstr ""
 "Erstellt oder aktualisiert ein Verzeichnis mit einer Terraform-Umgebung auf Basis einer "
 "gegebenen YAML-Datei."
 
-#: lib/cr_tf/app.py:210
+#: lib/cr_tf/app.py:207
 msgid "Searching for config file {!r} ..."
 msgstr "Suche nach Netzwerken in VSPhere {!r} …"
 
-#: lib/cr_tf/app.py:254
+#: lib/cr_tf/app.py:233
 msgid ""
 "Config file {f!r} not found, using defaults.\n"
 "To avoid this message, you may copy {d!r} to {c1!r}, {c2!r} or {c3!r} and fill out all necessary"
@@ -53,47 +53,47 @@ msgstr ""
 "Die Konfigurationsdatei {f!r} existiert nicht.\n"
 "Bitte kopiere {d!r} nach {f!r} und fülle alle notwendigen Felder, wie Paßworte und API-Keys, aus."
 
-#: lib/cr_tf/app.py:271
+#: lib/cr_tf/app.py:247
 msgid "Error in configuration:"
 msgstr "Konfigurationsfehler:"
 
-#: lib/cr_tf/app.py:274
+#: lib/cr_tf/app.py:250
 msgid "Read configuration:"
 msgstr "Gelesene Konfiguration:"
 
-#: lib/cr_tf/app.py:284
+#: lib/cr_tf/app.py:291
 msgid "Removing allowed puppet environments ..."
 msgstr "Ungültige Puppet-Umgebung {!r}."
 
-#: lib/cr_tf/app.py:288
+#: lib/cr_tf/app.py:295
 msgid "Removing puppet environment {!r} ..."
 msgstr "Setze Puppet Umgebung auf {!r}."
 
-#: lib/cr_tf/app.py:292
+#: lib/cr_tf/app.py:299
 msgid "Adding allowed puppet environments ..."
 msgstr "Ungültige Puppet-Umgebung {!r}."
 
-#: lib/cr_tf/app.py:296
+#: lib/cr_tf/app.py:303
 msgid "Adding puppet environment {!r} ..."
 msgstr "Ungültige Puppet-Umgebung {!r}."
 
-#: lib/cr_tf/app.py:301
+#: lib/cr_tf/app.py:308
 msgid "Allowed puppet environments:"
 msgstr "Ungültige Puppet-Umgebung {!r}."
 
-#: lib/cr_tf/app.py:313
+#: lib/cr_tf/app.py:320
 msgid "PowerDNS API key for {!r}"
 msgstr "PowerDNS-API-Schlüssel für {!r}"
 
-#: lib/cr_tf/app.py:316
+#: lib/cr_tf/app.py:323
 msgid "PowerDNS API key"
 msgstr "PowerDNS-API-Schlüssel"
 
-#: lib/cr_tf/app.py:396
+#: lib/cr_tf/app.py:403
 msgid "STEP"
 msgstr "SCHRITT"
 
-#: lib/cr_tf/app.py:398
+#: lib/cr_tf/app.py:405
 msgid ""
 "Name of the step, where to interrupt the execution of this script. Use {!r} to show a list of "
 "all avaliable steps."
@@ -101,1327 +101,1347 @@ msgstr ""
 "Name des Schrittes, nach dem die Ausführung dieses Skripts unterbrochen werden soll. Verwende "
 "{!r}, um eine Liste aller verfügbarer Schritte anzuzeigen."
 
-#: lib/cr_tf/app.py:404
+#: lib/cr_tf/app.py:411
 msgid "FILE"
 msgstr "DATEI"
 
-#: lib/cr_tf/app.py:406
+#: lib/cr_tf/app.py:413
 msgid "Configuration file (default: {!r})"
 msgstr "Konfigurationsdatei (Vorgabe: {!r})"
 
-#: lib/cr_tf/app.py:410
+#: lib/cr_tf/app.py:417
 msgid "PowerDNS options"
 msgstr "PowerDNS-Optionen"
 
-#: lib/cr_tf/app.py:413
+#: lib/cr_tf/app.py:421
+msgid ""
+"Don't execute any PowerDNS checks or actions. In this case it's on yours to ensure existence of "
+"all necessary IP addresses."
+msgstr ""
+"Kein Ausführen irgendwelcher PowerDNS-Checks oder -Aktionen. In diesem Fall liegt es an Dir "
+"selbst, die Existenz aller notwendigen IP-Adressen abzusichern."
+
+#: lib/cr_tf/app.py:427
 msgid "HOST"
 msgstr "HOST"
 
-#: lib/cr_tf/app.py:414
+#: lib/cr_tf/app.py:428
 msgid "The hostname or address of the PowerDNS master server (Default: {!r})."
 msgstr "Der Hostname oder die Adresse des PowerDNS-Masterservers (Vorgabe: {!r})."
 
-#: lib/cr_tf/app.py:420
+#: lib/cr_tf/app.py:434
 msgid "PORT"
 msgstr "PORT"
 
-#: lib/cr_tf/app.py:421
+#: lib/cr_tf/app.py:435
 msgid "The port number of the PowerDNS API (Default: {})."
 msgstr "Die Portnummer der PowerDNS-API (Vorgabe: {})."
 
-#: lib/cr_tf/app.py:426
+#: lib/cr_tf/app.py:440
 msgid "KEY"
 msgstr "SCHLÜSSEL"
 
-#: lib/cr_tf/app.py:427
+#: lib/cr_tf/app.py:441
 msgid "The key accessing to the PDNS API."
 msgstr "Der Schlüssel, um auf die PDNS-API zuzugreifen."
 
-#: lib/cr_tf/app.py:432
+#: lib/cr_tf/app.py:446
 msgid "Should PDNS API requests executed per HTTPS?"
 msgstr "Sollen die PDNS-API-Zugriffe mittels HTTP ausgeführt werden?"
 
-#: lib/cr_tf/app.py:436
+#: lib/cr_tf/app.py:450
 msgid "PATH"
 msgstr "PFAD"
 
-#: lib/cr_tf/app.py:437
+#: lib/cr_tf/app.py:451
 msgid "The path prefix in the URL for PDNS API requests (Default: {!r})."
 msgstr "Der Pfad-Präfix in der URL der PDNS-API-Zugriffe (Vorgane: {!r})."
 
-#: lib/cr_tf/app.py:443
+#: lib/cr_tf/app.py:457
 msgid "YAML_FILE"
 msgstr "YAML_DATEI"
 
-#: lib/cr_tf/app.py:444
+#: lib/cr_tf/app.py:458
 msgid "The YAML-file with the definition of the VMs to create with terraform."
 msgstr "Die YAML-Datei mit den Definitionen der mittels Terraform zu erstellenden VMs."
 
-#: lib/cr_tf/app.py:486
+#: lib/cr_tf/app.py:502
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr "Starte {a!r}, Version {v!r} …"
 
-#: lib/cr_tf/app.py:495
+#: lib/cr_tf/app.py:511
 msgid "Create Terraform environment"
 msgstr "Erstelle Terraform-Umgebung"
 
-#: lib/cr_tf/app.py:502
+#: lib/cr_tf/app.py:518
 msgid "No handler object available."
 msgstr "Kein Handler-Objekt verfügbar."
 
-#: lib/cr_tf/app.py:509
+#: lib/cr_tf/app.py:525
 msgid "Please input the {}."
 msgstr "Bitte den {} eingeben."
 
-#: lib/cr_tf/app.py:510 lib/cr_tf/app.py:514
+#: lib/cr_tf/app.py:526 lib/cr_tf/app.py:530
 msgid "vSphere user name"
 msgstr "vSphere-Nutzernamen"
 
-#: lib/cr_tf/app.py:512
+#: lib/cr_tf/app.py:528
 msgid "Name"
 msgstr "Name"
 
-#: lib/cr_tf/app.py:514 lib/cr_tf/app.py:536
+#: lib/cr_tf/app.py:530 lib/cr_tf/app.py:552
 msgid "No {} given."
 msgstr "Kein {} angegeben."
 
-#: lib/cr_tf/app.py:518
+#: lib/cr_tf/app.py:534
 msgid "Setting user for vSphere {vs!r} to {usr!r}."
 msgstr "Setze Cluster von {n!r} auf {c!r} …"
 
-#: lib/cr_tf/app.py:529
+#: lib/cr_tf/app.py:545
 msgid "User password of {!r}"
 msgstr "Nutzerpasswort von {!r}"
 
-#: lib/cr_tf/app.py:531
+#: lib/cr_tf/app.py:547
 msgid "Password for user {u!r} of vSphere {n} on {h!r}"
 msgstr "Passwort für Nutzer {u!r} in vSphere {n} auf {h!r}"
 
-#: lib/cr_tf/app.py:536
+#: lib/cr_tf/app.py:552
 msgid "password of vSphere user"
 msgstr "Passwort des vSphere-Nutzers"
 
-#: lib/cr_tf/app.py:540
+#: lib/cr_tf/app.py:556
 msgid "Setting passwort of vSphere {vs!r} user {usr!r}."
 msgstr "Setze das Passwort von Nutzer {usr!r} in vSphere {vs!r}."
 
-#: lib/cr_tf/app.py:559
+#: lib/cr_tf/app.py:575
 msgid "Executing {} ..."
 msgstr "Führe {} aus …"
 
-#: lib/cr_tf/config.py:160
-msgid "a port may not be less than 1: {}."
-msgstr "eine Portnummer darf nicht kleiner als 1 sein: {}."
-
-#: lib/cr_tf/config.py:164
-msgid "a port may not be greater than {m}: {v}."
-msgstr "eine Portnummer darf nicht größer als {m} sein: {v}."
-
-#: lib/cr_tf/config.py:168
-msgid "Wrong port number {v!r}: {e}"
-msgstr "Ungültige Portnummer {v!r}: {e}"
-
-#: lib/cr_tf/config.py:273
-msgid "may not be less than 10: {:0.1f}."
-msgstr "darf nicht kleiner als 10 sein: {:0.1f}."
-
-#: lib/cr_tf/config.py:277
-msgid "may not be greater than {m}: {v:0.1f}."
-msgstr "darf nicht größer als {m} sein: {v:0.1f}."
-
-#: lib/cr_tf/config.py:281
-msgid "Wrong minimum root size in GiB {v!r}: {e}"
-msgstr "Ungültige Minimalgröße des root-Volumes in GiB {v!r}: {e}"
-
-#: lib/cr_tf/config.py:352
-msgid "Comparing {} objects ..."
-msgstr "Vergleiche {}-Onjekte …"
-
-#: lib/cr_tf/config.py:385
-msgid "unknown"
-msgstr "unbekannt"
-
-#: lib/cr_tf/config.py:389
-msgid "Checking validity of {o}-object {n!r} ..."
-msgstr "Teste Gültigkeit des {o}-Objektes {n!r} …"
-
-#: lib/cr_tf/config.py:400
-msgid "Attribute {a!r} of the {o}-object {n!r} is not set."
-msgstr "Das Attribut {a!r} des {o}-Objektes {n!r} ist nicht gesetzt."
-
-#: lib/cr_tf/config.py:409
-msgid "Found an error in VSPhere configuration"
-msgid_plural "Found {} errors in VSPhere configuration"
-msgstr[0] "Fand einen Fehler in der VSPhere-Konfiguration"
-msgstr[1] "Fand {} Fehler in der VSPhere-Konfiguration"
-
-#: lib/cr_tf/config.py:419
-msgid ""
-"Attribute {a!r} of the {o}-object {n!r} is not set, it will be requestet during this script and "
-"on starting terraform."
-msgstr ""
-"Das Attribut {a!r} des {o}-Objektes {n!r} wurde nicht gesetzt, es wird während der Ausführung "
-"dieses Skripts und beim Start von terraform abgefragt."
-
-#: lib/cr_tf/config.py:475
+#: lib/cr_tf/config.py:92
 msgid "Invalid value {v!r} for {n!r} configuration ({f!r}:[{s}]): {e}"
 msgstr "Ungültiger Wert {v!r} für {n!r}-Konfiguration ({f!r}:[{s}]): {e}"
 
-#: lib/cr_tf/config.py:476
+#: lib/cr_tf/config.py:93
 msgid "Invalid value {v} for {n!r} configuration ({f!r}:[{s}]): must be equal or greater than zero."
 msgstr ""
 "Ungültiger Wert {v!r} für {n!r}-Konfiguration ({f!r}:[{s}]): muss gleich oder größer als Null "
 "sein."
 
-#: lib/cr_tf/config.py:587
+#: lib/cr_tf/config.py:218
 msgid "Invalid timeout {t!r} for requesting the PowerDNS API, must be 0 < SECONDS < {m}."
 msgstr ""
 "Ungültiger Wert {t!r} für den Timeout beim Zugriff auf die PowerDNS-API, dieser muss 0 < "
 "SEKUNDEN {m} sein."
 
-#: lib/cr_tf/config.py:621
+#: lib/cr_tf/config.py:252
 msgid "The default size of the data disk may not be None."
 msgstr "Die Vorgabegröße der Daten-Disk darf nicht None sein."
 
-#: lib/cr_tf/config.py:625
+#: lib/cr_tf/config.py:256
 msgid "The default size of the data disk must be greater or equal to one GB."
 msgstr "Die Vorgabegröße der Daten-Disk muss größer als oder gleich einem GB sein."
 
-#: lib/cr_tf/config.py:638
+#: lib/cr_tf/config.py:269
 msgid "The minimal size of the data disk may not be None."
 msgstr "Die Minimalgröße der Daten-Disk darf nicht None sein."
 
-#: lib/cr_tf/config.py:642
+#: lib/cr_tf/config.py:273
 msgid "The minimal size of the data disk must be greater or equal to one GB."
 msgstr "Die Minimalgröße der Daten-Disk muss größer als oder gleich einem GB sein."
 
-#: lib/cr_tf/config.py:655
+#: lib/cr_tf/config.py:286
 msgid "The maximal size of the data disk may not be None."
 msgstr "Die Maximalgröße der Daten-Disk darf nicht None sein."
 
-#: lib/cr_tf/config.py:659
+#: lib/cr_tf/config.py:290
 msgid "The maximal size of the data disk must be greater or equal to one GB."
 msgstr "Die Maximalgröße der Daten-Disk muss größer als oder gleich einem GB sein."
 
-#: lib/cr_tf/config.py:672
+#: lib/cr_tf/config.py:303
 msgid "The minimal size of the root disk may not be None."
 msgstr "Die Minimalgröße der Root-Disk darf nicht None sein."
 
-#: lib/cr_tf/config.py:676
+#: lib/cr_tf/config.py:307
 msgid "The minimal size of the root disk must be greater or equal to one GB."
 msgstr "Die Minimalgröße der Root-Disk muss größer als oder gleich einem GB sein."
 
-#: lib/cr_tf/config.py:689
+#: lib/cr_tf/config.py:320
 msgid "The maximal size of the root disk may not be None."
 msgstr "Die Maximalgröße der Root-Disk darf nicht None sein."
 
-#: lib/cr_tf/config.py:693
+#: lib/cr_tf/config.py:324
 msgid "The maximal size of the root disk must be greater or equal to one GB."
 msgstr "Die Maximalgröße der Root-Disk muss größer als oder gleich einem GB sein."
 
-#: lib/cr_tf/config.py:716 lib/cr_tf/config.py:885
+#: lib/cr_tf/config.py:354
+msgid "The password of the user used for subscribing at RedHat may not be None."
+msgstr "Das Passwort des Nutzers zum Registrieren bei RedHat darf nicht None sein."
+
+#: lib/cr_tf/config.py:358
+msgid "The password of the user used for subscribing at RedHat may not be empty."
+msgstr "Das Passwort des Nutzers zum Registrieren bei RedHat darf nicht leer sein."
+
+#: lib/cr_tf/config.py:381 lib/cr_tf/config.py:566
 msgid "Creating a {}-object with parameters:"
 msgstr "Erstelle ein {}-Objekt mit den Parametern:"
 
-#: lib/cr_tf/config.py:721 lib/cr_tf/config.py:890
+#: lib/cr_tf/config.py:386 lib/cr_tf/config.py:571
 msgid "Created object:"
 msgstr "Erstelltes Objekt:"
 
-#: lib/cr_tf/config.py:774
+#: lib/cr_tf/config.py:449
 msgid "Checking config section {!r}:"
 msgstr "Überprüfe Konfigurationsabschnitt {!r}:"
 
-#: lib/cr_tf/config.py:785
+#: lib/cr_tf/config.py:460
 msgid "Empty VSPhere name found."
 msgstr "Leeren VSPhere-Namen gefunden."
 
-#: lib/cr_tf/config.py:837
+#: lib/cr_tf/config.py:518
 msgid "Checking config section {s!r} ({n}) ..."
 msgstr "Überprüfe Konfigurations-Abschnitt {s!r} ({n}) …"
 
-#: lib/cr_tf/config.py:879 lib/cr_tf/config.py:927
+#: lib/cr_tf/config.py:560 lib/cr_tf/config.py:608
 msgid "Unknown configuration parameter {k!r} with value {v!r} for VSPhere {n!r} found."
 msgstr "Unbekannten Konfigurations-Parameter {k!r} mit dem Wert {v!r} für die VSPhere {n!r} gefunden."
 
-#: lib/cr_tf/config.py:933
+#: lib/cr_tf/config.py:614
 msgid "Updated object:"
 msgstr "Erstelltes Objekt:"
 
-#: lib/cr_tf/config.py:945 lib/cr_tf/config.py:986
+#: lib/cr_tf/config.py:626 lib/cr_tf/config.py:667
 msgid "Checking config section {!r} ..."
 msgstr "Überprüfe Konfigurationsabschnitt {!r} …"
 
-#: lib/cr_tf/config.py:1034
+#: lib/cr_tf/config.py:715
 msgid "Invalid puppet environment {env!r} found in {k!r}."
 msgstr "Ungültige Puppet-Umgebung {!r}."
 
-#: lib/cr_tf/errors.py:72
+#: lib/cr_tf/errors.py:73
+msgid ""
+"There should be too many disks ({gd}) assigned to a VM. There are max. {maxd} disks allowed to "
+"assign to a VM."
+msgstr ""
+"Es scheinen zu viele Disks ({gd}) der VM zugewiesen zu sein. Es dürfen maximal {maxd} Disks "
+"einer VM zugewiesen werden."
+
+#: lib/cr_tf/errors.py:92
 msgid "The network {!r} is not existing."
 msgstr "Das Netzwerk {!r} existiert nicht."
 
-#: lib/cr_tf/handler.py:128
+#: lib/cr_tf/errors.py:114
 msgid "<some unknown step>"
 msgstr "<irgend ein unbekannter Schritt>"
 
-#: lib/cr_tf/handler.py:133
+#: lib/cr_tf/errors.py:119
 msgid "Aborting after {!r}."
 msgstr "Abbruch nach {!r}."
 
-#: lib/cr_tf/handler.py:170
+#: lib/cr_tf/handler/__init__.py:94
 msgid "After initialization of all objects and handlers."
 msgstr "Nach der Initialisierung aller Objekte und Handler."
 
-#: lib/cr_tf/handler.py:171
+#: lib/cr_tf/handler/__init__.py:95
 msgid "After initialisation of VSPhere handlers."
 msgstr "Nach der Initialisierung des VSPhere-Handlers."
 
-#: lib/cr_tf/handler.py:172
+#: lib/cr_tf/handler/__init__.py:96
 msgid "After reading the given YAML file."
 msgstr "Nach dem Lesen der übergebenen YAML-Datei."
 
-#: lib/cr_tf/handler.py:173
+#: lib/cr_tf/handler/__init__.py:97
 msgid "After retrieving all DNS zones from PowerDNS."
 msgstr "Nach dem Ermitteln aller DNS-Zonen von PowerDNS."
 
-#: lib/cr_tf/handler.py:174
+#: lib/cr_tf/handler/__init__.py:98
 msgid "After testing VSPhere handlers."
 msgstr "Initialisiere VSPhere-Handler."
 
-#: lib/cr_tf/handler.py:175
+#: lib/cr_tf/handler/__init__.py:99
 msgid "After collecting all VMWare and local folders."
 msgstr "Nach dem Sammeln alle VMWare- und lokalen Verzeichnisse."
 
-#: lib/cr_tf/handler.py:176
+#: lib/cr_tf/handler/__init__.py:100
 msgid "After collecting all VMWare clusters."
 msgstr "Nach dem Ermitteln aller VMWare-Cluster."
 
-#: lib/cr_tf/handler.py:177
+#: lib/cr_tf/handler/__init__.py:101
 msgid "After collecting all VMWare datastores."
 msgstr "Nach dem Ermitteln aller VMWare-Datastores."
 
-#: lib/cr_tf/handler.py:178
+#: lib/cr_tf/handler/__init__.py:102
 msgid "After collecting all VMWare datastore clusters."
 msgstr "Nach dem Ermitteln aller VMWare-Datastore-Cluster."
 
-#: lib/cr_tf/handler.py:179
+#: lib/cr_tf/handler/__init__.py:103
 msgid "After collecting all VMWare networks."
 msgstr "Nach dem Ermitteln aller VMWare-Netzwerke."
 
-#: lib/cr_tf/handler.py:180
+#: lib/cr_tf/handler/__init__.py:104
 msgid "After validating all given VMWare templates."
 msgstr "Nach der Validierung aller übergebenen VMWare-Vorlagen."
 
-#: lib/cr_tf/handler.py:181
+#: lib/cr_tf/handler/__init__.py:105
 msgid "After syntax validating of data from loaded YAML file."
 msgstr "Nach der Syntaxüberprüfung der Daten aus der geladenen YAML-Datei."
 
-#: lib/cr_tf/handler.py:182
+#: lib/cr_tf/handler/__init__.py:106
 msgid "After validating all given storage data."
 msgstr "Nach der Validierung aller übergebenen Speicher-Daten."
 
-#: lib/cr_tf/handler.py:183
+#: lib/cr_tf/handler/__init__.py:107
 msgid "After validating all given network interface data."
 msgstr "Nach der Validierung aller übergebenen Netzwerkschnittstellen-Daten."
 
-#: lib/cr_tf/handler.py:184
+#: lib/cr_tf/handler/__init__.py:108
 msgid "After validating all given DNS data."
 msgstr "Nach der Validierung aller übergebenen DNS-Daten."
 
-#: lib/cr_tf/handler.py:185
+#: lib/cr_tf/handler/__init__.py:109
 msgid "After performing all necessary actions in DNS."
 msgstr "Nach der Durchführung aller notwendigen Aktionen im DNS."
 
-#: lib/cr_tf/handler.py:186
+#: lib/cr_tf/handler/__init__.py:110
 msgid "After ensuring availability of the project directory."
 msgstr "Nach der Gewährleistung der Verfügbarkeit des Projekt-Verzeichnisses."
 
-#: lib/cr_tf/handler.py:187
+#: lib/cr_tf/handler/__init__.py:111
 msgid "After creation of the Terraform project files."
 msgstr "Nach der Erstellung der Terraform-Projektdateien."
 
-#: lib/cr_tf/handler.py:188
+#: lib/cr_tf/handler/__init__.py:112
 msgid "After ensuring availability of VM folders in VMWare vSphere."
 msgstr "Nach der Gewährleistung der Verfügbarkeit des VM-Ordners in VMWare vSphere."
 
-#: lib/cr_tf/handler.py:274
+#: lib/cr_tf/handler/__init__.py:202
 msgid "Given configuration:"
 msgstr "Gelesene Konfiguration:"
 
-#: lib/cr_tf/handler.py:278
+#: lib/cr_tf/handler/__init__.py:206
 msgid "Directory for postinstall scripts: {!r}."
 msgstr "Verzeichnis für Postinstall-Skripts: {!r}."
 
-#: lib/cr_tf/handler.py:280
+#: lib/cr_tf/handler/__init__.py:208
 msgid "Directory for postinstall scripts {!r} does not exists."
 msgstr "Das Verzeichnis für Postinstall-Skripts {!r} existiert nicht."
 
-#: lib/cr_tf/handler.py:284
+#: lib/cr_tf/handler/__init__.py:212
 msgid "Path {!r} for postinstall scripts exists, but is not a directory."
 msgstr "Der Pfad {!r} für Postinstall-Skripts existiert, ist aber kein Verzeichnis."
 
-#: lib/cr_tf/handler.py:297
+#: lib/cr_tf/handler/__init__.py:217
+msgid "Directory for SSH deploy keys: {!r}."
+msgstr "Verzeichnis der SSH-Deploy-Schlüssel: {!r}."
+
+#: lib/cr_tf/handler/__init__.py:219
+msgid "Directory for SSH deploy keys {!r} does not exists."
+msgstr "Das Verzeichnis für die SSH-Deploy-Schlüssel {!r} existiert nicht."
+
+#: lib/cr_tf/handler/__init__.py:223
+msgid "Path {!r} for SSH deploy keys exists, but is not a directory."
+msgstr "Der Pfad {!r} für die SSH-Deploy-Schlüssel existiert, ist aber kein Verzeichnis."
+
+#: lib/cr_tf/handler/__init__.py:228
+msgid "Filename of the private SSH deploy key: {!r}"
+msgstr "Dateiname des privaten SSH-Deploy-Schlüssels: {!r}"
+
+#: lib/cr_tf/handler/__init__.py:230
+msgid "Private SSH deploy key file {!r} does not exists or is not a regular file."
+msgstr "Der private SSH-Deploy-Schlüssel {!r} existiert entweder nicht, oder ist keine reguläre Datei."
+
+#: lib/cr_tf/handler/__init__.py:244
 msgid "Setting simulate of all subsequent objects to {!r} ..."
 msgstr "Setze Simulationsmodus aller untergeordneter Objekte auf {!r} …"
 
-#: lib/cr_tf/handler.py:323
+#: lib/cr_tf/handler/__init__.py:270
 msgid "Invalid step name {!r} for interrupting execution."
 msgstr "Ungültiger Schrittname {!r} zur Unterbrechung der Ausführung."
 
-#: lib/cr_tf/handler.py:379
+#: lib/cr_tf/handler/__init__.py:326
 msgid "Invalid time zone name {!r}."
 msgstr "Ungültiger Zeitzonenname {!r}."
 
-#: lib/cr_tf/handler.py:381
+#: lib/cr_tf/handler/__init__.py:328
 msgid "Setting time zone to {!r}."
 msgstr "Setze Zeitzone auf {!r}."
 
-#: lib/cr_tf/handler.py:403
-msgid "No configuration given before initialisation of handlers."
-msgstr "Keine Konfiguration vor der Initialisierung der Handler gegeben."
-
-#: lib/cr_tf/handler.py:407
-msgid "{n} is not a {e}-instance, but a {w}-instance instead."
-msgstr "{n} ist keine {e}-Instanz, statt dessen ist es eine {w}-Instanz."
-
-#: lib/cr_tf/handler.py:418
-msgid "Initialize some additional handlers."
-msgstr "Initialisiere einige zusätzliche Handler."
-
-#: lib/cr_tf/handler.py:446
-msgid "Checking the terraform version ..."
-msgstr "Überprüfe Version von Terraform …"
-
-#: lib/cr_tf/handler.py:450 lib/cr_tf/handler.py:2921
-msgid "Executing {!r} ..."
-msgstr "Führe {!r} aus …"
-
-#: lib/cr_tf/handler.py:453 lib/cr_tf/handler.py:2932 lib/cr_tf/handler.py:2961
-msgid "Completed process:"
-msgstr "Fertiggestellter Prozess:"
-
-#: lib/cr_tf/handler.py:456
-msgid "No output on command {!r}."
-msgstr "Keine Ausgabe auf das Kommando {!r}."
-
-#: lib/cr_tf/handler.py:461
-msgid "First line:"
-msgstr "Erste Zeile:"
-
-#: lib/cr_tf/handler.py:464
-msgid "Could not evaluate version output of terraform:"
-msgstr "Konnte die Versionsausgabe von Terraform nicht analysieren. "
-
-#: lib/cr_tf/handler.py:468
-msgid "Terraform version: {!r}."
-msgstr "Terraform Version: {!r}."
-
-#: lib/cr_tf/handler.py:471 lib/cr_tf/handler.py:479
-msgid "Checking for {o}{m!r} ..."
-msgstr "Teste nach {o}{m!r} …"
-
-#: lib/cr_tf/handler.py:474 lib/cr_tf/handler.py:482
-msgid "Invalid version {c!r} of terraform, expected {o}{m!r}."
-msgstr "Ungültige Version {c!r} von Terraform, erwartet wurde {o}{m!r}."
-
-#: lib/cr_tf/handler.py:490
+#: lib/cr_tf/handler/__init__.py:336
 msgid "Self destruction."
 msgstr "Selbstzerstörung."
 
-#: lib/cr_tf/handler.py:503 lib/cr_tf/handler.py:528
+#: lib/cr_tf/handler/__init__.py:349 lib/cr_tf/handler/first.py:153
 msgid "{}-object not initialized."
 msgstr "Das {}-Objekt ist nicht initialisiert."
 
-#: lib/cr_tf/handler.py:509
-msgid "Go ahead..."
-msgstr "Geht los ……"
-
-#: lib/cr_tf/handler.py:514
-msgid "Initialising VSPhere handlers."
-msgstr "Initialisiere VSPhere-Handler."
-
-#: lib/cr_tf/handler.py:534
+#: lib/cr_tf/handler/__init__.py:355
 msgid "Simulation mode"
 msgstr "Simulationsmodus"
 
-#: lib/cr_tf/handler.py:536
+#: lib/cr_tf/handler/__init__.py:357
 msgid "Necessary DNS records are not created."
 msgstr "Notwendige DNS-Einträge werden nicht erstellt."
 
-#: lib/cr_tf/handler.py:537
+#: lib/cr_tf/handler/__init__.py:358
 msgid "Terraform files are not created."
 msgstr "Terraform-Dateien werden nicht erstellt."
 
-#: lib/cr_tf/handler.py:560
+#: lib/cr_tf/handler/__init__.py:381
 msgid "Cpllecting first information from vSPhere."
 msgstr "Hole Informationen von vSphere."
 
-#: lib/cr_tf/handler.py:566
+#: lib/cr_tf/handler/__init__.py:387
 msgid "Retrieving information from vSphere."
 msgstr "Hole Informationen von vSphere."
 
-#: lib/cr_tf/handler.py:584
+#: lib/cr_tf/handler/__init__.py:405
 msgid "Validated VMs:"
 msgstr "Validierte VMs:"
 
-#: lib/cr_tf/handler.py:590
+#: lib/cr_tf/handler/__init__.py:411
 msgid "There is one existing virtual machine."
 msgid_plural "There are {c} existing virtual machines."
 msgstr[0] "Es gibt eine existierende virtuelle Maschine."
 msgstr[1] "Es gibt {c} existierende virtuelle Maschinen."
 
-#: lib/cr_tf/handler.py:595
+#: lib/cr_tf/handler/__init__.py:416
 msgid "Existing virtual machine:"
 msgid_plural "Existing virtual machines:"
 msgstr[0] "Existierende virtuelle Maschine:"
 msgstr[1] "Existierende virtuelle Maschinen:"
 
-#: lib/cr_tf/handler.py:598
+#: lib/cr_tf/handler/__init__.py:419
 msgid "No existing virtual machines found in YAML file."
 msgstr "Keine existierenden virtuelle Maschinen in der YAML-Datei gefunden."
 
-#: lib/cr_tf/handler.py:606
+#: lib/cr_tf/handler/__init__.py:427
 msgid "Finished all steps."
 msgstr "Alle Schritte beendet."
 
-#: lib/cr_tf/handler.py:616
+#: lib/cr_tf/handler/__init__.py:437
 msgid "And how I said before - it was only a simulation!"
 msgstr "Und wie ich bereits sagte - es war nur eine Simulation!"
 
-#: lib/cr_tf/handler.py:627
-msgid "Current {} object:"
-msgstr "Aktuelles {}-Objekt:"
-
-#: lib/cr_tf/handler.py:629 lib/cr_tf/handler.py:648 lib/cr_tf/handler.py:702 lib/cr_tf/handler.py:723
-#: lib/cr_tf/handler.py:751 lib/cr_tf/handler.py:821 lib/cr_tf/handler.py:860 lib/cr_tf/handler.py:883
-#: lib/cr_tf/handler.py:906 lib/cr_tf/handler.py:926 lib/cr_tf/handler.py:944 lib/cr_tf/handler.py:968
-#: lib/cr_tf/handler.py:1012 lib/cr_tf/handler.py:1030 lib/cr_tf/handler.py:1048
-#: lib/cr_tf/handler.py:1060 lib/cr_tf/handler.py:1073 lib/cr_tf/handler.py:1085
-#: lib/cr_tf/handler.py:1097
-msgid "Finished step {!r}."
-msgstr "Schritt {!r} beendet."
-
-#: lib/cr_tf/handler.py:642
-msgid "Found one error in evaluation of YAML data of {f!r}."
-msgid_plural "Found {n} errors in evaluation of YAML data of {f!r}."
-msgstr[0] "Einen Fehler bei der Auswertung der YAML-Daten von {f!r} gefunden."
-msgstr[1] "Insgesamt {n} Fehler bei der Auswertung der YAML-Daten von {f!r} gefunden."
+#: lib/cr_tf/handler/__init__.py:447 lib/cr_tf/handler/first.py:112
+msgid "Executing {!r} ..."
+msgstr "Führe {!r} aus …"
 
-#: lib/cr_tf/handler.py:658
-msgid "Collecting all VMWare and local folders ..."
-msgstr "Sammle alle VMWare- und lokalen VBerzeichnisse zusammen …"
+#: lib/cr_tf/handler/__init__.py:458 lib/cr_tf/handler/__init__.py:487 lib/cr_tf/handler/first.py:115
+msgid "Completed process:"
+msgstr "Fertiggestellter Prozess:"
 
-#: lib/cr_tf/handler.py:659
-msgid "Get vSphere datacenter ..."
-msgstr "Hole vSphere-Datacenter …"
+#: lib/cr_tf/handler/__init__.py:462
+msgid "Importing existing virtual machines ..."
+msgstr "Importiere Existierende virtuelle Maschinen …"
 
-#: lib/cr_tf/handler.py:663
-msgid "Collecting vSphere folders."
-msgstr "Sammle alle vSphere-Ordner zusammen."
+#: lib/cr_tf/handler/__init__.py:468
+msgid "Importing VM {!r}."
+msgstr "Importiere VM {!r}."
 
-#: lib/cr_tf/handler.py:670
-msgid "Collected vSphere folders:"
-msgstr "Gesammelte vSphere-Ordner:"
+#: lib/cr_tf/handler/__init__.py:485
+msgid "Error on importing VM {!r}:"
+msgstr "Fehler beim Importieren der VM {!r}:"
 
-#: lib/cr_tf/handler.py:678
-msgid "Project name is {!r}."
-msgstr "Der Projektname ist {!r}."
+#: lib/cr_tf/handler/__init__.py:507
+msgid "Congratulations!"
+msgstr "Herzlichen Glückwünschen!"
 
-#: lib/cr_tf/handler.py:680
-msgid "Project directory is: {!r}."
-msgstr "Das Projektverzeichnis ist: {!r}."
+#: lib/cr_tf/handler/__init__.py:509
+msgid "Now you are ready to deploy the following virtual machines:"
+msgstr "Du bist jetzt bereit, die folgenden virtuelle Maschinen zu deployen:"
 
-#: lib/cr_tf/handler.py:696
-msgid "Did not found root terraform directory above {!r}."
-msgstr "Kein Root-Terraform-Verzeichnis oberhalb von {!r} gefunden."
+#: lib/cr_tf/handler/__init__.py:513
+msgid "To start the deployment process change to directory {}"
+msgstr "Um mit dem Deployment-Prozess zu beginnen, wechsle in das Verzeichnis {}"
 
-#: lib/cr_tf/handler.py:700
-msgid "Full project name: {!r}"
-msgstr "Kompletter Projektname: {!r}"
+#: lib/cr_tf/handler/__init__.py:516
+msgid "and enter: {}"
+msgstr "und gib ein: {}"
 
-#: lib/cr_tf/handler.py:713
+#: lib/cr_tf/handler/dns.py:47
 msgid "Retrieving informations from PowerDNS ..."
 msgstr "Hole Informationen von PowerDNS …"
 
-#: lib/cr_tf/handler.py:717
+#: lib/cr_tf/handler/dns.py:51
 msgid "Found one error in exploring PowerDNS zones."
 msgid_plural "Found {n} errors in exploring PowerDNS zones."
 msgstr[0] "Einen Fehler bei der Ermittlung der PowerDNS-Zonen gefunden."
 msgstr[1] "Insgesamt {n} Fehler bei der Ermittlung der PowerDNS-Zonen gefunden."
 
-#: lib/cr_tf/handler.py:741
-msgid "There is only one, unique VSPhere definition allowed in a project file."
-msgstr "Nur eine einzige VSPhere-Definition ist innerhalb einer Projektdatei erlaubt."
+#: lib/cr_tf/handler/dns.py:57 lib/cr_tf/handler/dns.py:75 lib/cr_tf/handler/dns.py:87
+#: lib/cr_tf/handler/files.py:51 lib/cr_tf/handler/files.py:63 lib/cr_tf/handler/first.py:182
+#: lib/cr_tf/handler/read.py:54 lib/cr_tf/handler/vmware.py:95 lib/cr_tf/handler/vmware.py:123
+#: lib/cr_tf/handler/vmware.py:198 lib/cr_tf/handler/vmware.py:237 lib/cr_tf/handler/vmware.py:260
+#: lib/cr_tf/handler/vmware.py:286 lib/cr_tf/handler/vmware.py:306 lib/cr_tf/handler/vmware.py:324
+#: lib/cr_tf/handler/vmware.py:348 lib/cr_tf/handler/vmware.py:392 lib/cr_tf/handler/vmware.py:410
+#: lib/cr_tf/handler/vmware.py:422
+msgid "Finished step {!r}."
+msgstr "Schritt {!r} beendet."
 
-#: lib/cr_tf/handler.py:743
-msgid "In {f!r} were found {nr} different VSPhere definitions:"
-msgstr "In {f!r} wurden {nr} verschiedene VSPhere-Definition gefunden:"
+#: lib/cr_tf/handler/dns.py:69
+msgid "Found one error in validating DNS mappings."
+msgid_plural "Found {n} errors in validating DNS mappings."
+msgstr[0] "Einen Fehler bei der Validierung der DNS-Zuordnungen gefunden."
+msgstr[1] "Insgesamt {n} Fehler bei der Validierung der DNS-Zuordnungen gefunden."
 
-#: lib/cr_tf/handler.py:763
-msgid "VSPhere {!r} not defined in configuration."
-msgstr "Die VSPhere {!r} wurde in der Konfiguration nicht definiert."
+#: lib/cr_tf/handler/dns.py:95
+msgid "Power DNS actions are not executed."
+msgstr "Die PowerDNS-Aktionen werden nicht ausgeführt."
 
-#: lib/cr_tf/handler.py:790
-msgid "Initialising a {}-object with params:"
-msgstr "Initialisiere ein {}-Objekt mit den Parametern:"
+#: lib/cr_tf/handler/dns.py:99
+msgid "Performing DNS actions ..."
+msgstr "Führe DNS-Aktionen aus …"
 
-#: lib/cr_tf/handler.py:814
-msgid "Created {}-object:"
-msgstr "Erstelltes {}-Objekt:"
+#: lib/cr_tf/handler/dns.py:115
+msgid "There was one error in creating DNS mappings."
+msgid_plural "There were {n} errors in creating DNS mappings."
+msgstr[0] "Es ist ein Fehler beim Erstellen der DNS-Zuordnungen aufgetreten."
+msgstr[1] "Es sind {n} ehler beim Erstellen der DNS-Zuordnungen aufgetreten."
 
-#: lib/cr_tf/handler.py:830
-msgid "Assigning not defined templates and clusters of VMs by their appropriate default values."
-msgstr "Weise nicht definierten Vorlagen und Clustern von VMs die entsprechenden Vorgabe-Werte zu."
+#: lib/cr_tf/handler/dns.py:121
+msgid "No errors in creating DNS mappings."
+msgstr "Keine Fehler beim Erstellen der DNS-Zuordnungen."
 
-#: lib/cr_tf/handler.py:839
-msgid "Setting cluster of {n!r} to {c!r} ..."
-msgstr "Setze Cluster von {n!r} auf {c!r} …"
+#: lib/cr_tf/handler/dns.py:131
+msgid "Increasing serial of zone {!r}."
+msgstr "Erhöhe Seriennummer der Zone {!r}."
 
-#: lib/cr_tf/handler.py:846
-msgid "Setting template of {n!r} to {t!r} ..."
-msgstr "Setze Vorlage von {n!r} auf {t!r} …"
+#: lib/cr_tf/handler/dns.py:150
+msgid "Got zone {z!r} for FQDN {f!r}."
+msgstr "Zone {z!r} für FQDN {f!r} erhalten."
 
-#: lib/cr_tf/handler.py:857
-msgid "Searching for clusters in VSPhere {!r} ..."
-msgstr "Suche nach Clustern in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:153
+msgid "Did not found zone to insert {t}-record for {f!r}."
+msgstr "Keine Zone gefunden, um {t}-Einträge für {f!r} einzufügen."
 
-#: lib/cr_tf/handler.py:873
-msgid "Searching for datastores in VSPhere {!r} ..."
-msgstr "Suche nach Datastores in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:171
+msgid "Trying to create PTR-record {a!r} => {f!r}."
+msgstr "Versuche PTR-Eintrag {a!r} => {f!r} zu erstellen."
 
-#: lib/cr_tf/handler.py:878
-msgid "Found one datastore."
-msgid_plural "Found {n} datastores."
-msgstr[0] "Fand einen Datastore."
-msgstr[1] "Insgesamt {n} Datastores gefunden."
+#: lib/cr_tf/handler/dns.py:176
+msgid "PTR of {a!r}: {p!r}."
+msgstr "PTR von {a!r}: {p!r}."
 
-#: lib/cr_tf/handler.py:881
-msgid "No VSPhere datastores found."
-msgstr "Es werden keine Datastores verwendet."
+#: lib/cr_tf/handler/dns.py:181
+msgid "Got reverse zone {z!r} for address {a!r}."
+msgstr "Rückwärts-Zone {z!r} für Adresse {a!r} erhalten."
 
-#: lib/cr_tf/handler.py:896
-msgid "Searching for datastore clusters in VSPhere {!r} ..."
-msgstr "Suche nach Datastore-Clustern in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:184
+msgid "Did not found zone to insert PTR-record {p!r} ({a})."
+msgstr "Keine Zone gefunden, um PTR-Eintrag {p!r} ({a}) einzufügen."
 
-#: lib/cr_tf/handler.py:901
-msgid "Found one datastore cluster."
-msgid_plural "Found {n} datastore clusters."
-msgstr[0] "Fand einen Datastore-Cluster."
-msgstr[1] "Insgesamt {n} Datastore-Clusters gefunden."
+#: lib/cr_tf/handler/dns.py:197
+msgid "Validating DNS mappings ..."
+msgstr "Validieren der DNS-Zuordnungen …"
 
-#: lib/cr_tf/handler.py:904
-msgid "No VSPhere datastore clusters found."
-msgstr "Es werden keine Datastore-Cluster verwendet."
+#: lib/cr_tf/handler/dns.py:207 lib/cr_tf/handler/dns.py:217
+msgid "None"
+msgstr "Keine"
 
-#: lib/cr_tf/handler.py:917
-msgid "Searching for networks in VSPhere {!r} ..."
-msgstr "Suche nach Netzwerken in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:208
+msgid "Forward DNS entries to create:"
+msgstr "Zu erstellende Vorwärts-DNS-Einträge:"
 
-#: lib/cr_tf/handler.py:920
-msgid "Found one error in exploring vSphere {v!r} resources."
-msgid_plural "Found {n} errors in exploring vSphere {v!r} resources."
-msgstr[0] "Fand einen Fehler in der Untersuchung der VSPhere {v!r} Resourcen."
-msgstr[1] "Fand {n} Fehler in der Untersuchung der VSPhere {v!r} Resourcen."
+#: lib/cr_tf/handler/dns.py:218
+msgid "Reverse DNS entries to create:"
+msgstr "Zu erstellende Rückwärts-DNS-Einträge:"
 
-#: lib/cr_tf/handler.py:938
-msgid "Found one error in exploring vSphere templates."
-msgid_plural "Found {n} errors in exploring vSphere templates."
-msgstr[0] "Einen Fehler bei der Ermittlung der vSphere-Vorlagen gefunden."
-msgstr[1] "Insgesamt {n} Fehler bei der Ermittlung der vSphere-Vorlagen gefunden."
+#: lib/cr_tf/handler/dns.py:226
+msgid "Validating forward DNS mappings ..."
+msgstr "Validiere Vorwärts-DNS-Einträge …"
 
-#: lib/cr_tf/handler.py:955
-msgid "Validating information from YAML file ..."
-msgstr "Validiere Informationen aus der YAML-Datei …"
+#: lib/cr_tf/handler/dns.py:231
+msgid "Validating {f!r} => {a!r}."
+msgstr "Validierung {f!r} => {a!r}."
 
-#: lib/cr_tf/handler.py:959
-msgid "Found one error in validating vSphere computing clusters."
-msgid_plural "Found {n} errors in validating vSphere computing clusters."
-msgstr[0] "Einen Fehler bei der Ermittlung der vSphere-Rechencluster gefunden."
-msgstr[1] "Insgesamt {n} Fehler bei der Ermittlung der vSphere-Rechencluster gefunden."
+#: lib/cr_tf/handler/dns.py:257
+msgid "Found existing addresses for {f!r}:"
+msgstr "Existierende Adresse für {f!r} gefunden:"
 
-#: lib/cr_tf/handler.py:975
-msgid "Got a list of all VMs and templates ..."
-msgstr "Habe eine Liste aller VMs und Vorlagen erhalten …"
+#: lib/cr_tf/handler/dns.py:259
+msgid "Did not found existing addresses for {!r}."
+msgstr "Keine existierenden Adressen für {!r} gefunden."
 
-#: lib/cr_tf/handler.py:994
-msgid "All existing VMs and templates:"
-msgstr "Alle existierenden VMs und Vorlagen:"
+#: lib/cr_tf/handler/dns.py:266 lib/cr_tf/handler/dns.py:274
+msgid "FQDN {f!r} already points to {a!r}."
+msgstr "Der FQDN {f!r} zeigt bereits auf {a!r}."
 
-#: lib/cr_tf/handler.py:1006
-msgid "Found one error in validating VM storages."
-msgid_plural "Found {n} errors in validating VM storages."
-msgstr[0] "Einen Fehler bei der Ermittlung der VM-Speicher gefunden."
-msgstr[1] "Insgesamt {n} Fehler bei der Ermittlung der VM-Speicher gefunden."
+#: lib/cr_tf/handler/dns.py:279
+msgid "FQDN {f!r} has already existing addresses, but none of them are {a!r}:"
+msgstr "Der FQDN {f!r} hat bereits existierende Adressen, aber keine von ihnen ist {a!r}:"
 
-#: lib/cr_tf/handler.py:1024
-msgid "Found one error in validating VM interfaces."
-msgid_plural "Found {n} errors in validating VM interfaces."
-msgstr[0] "Einen Fehler bei der Validierung der VM-Netzwerkschnittstellen gefunden."
-msgstr[1] "Insgesamt {n} Fehler bei der Validierung der VM-Netzwerkschnittstellen gefunden."
+#: lib/cr_tf/handler/dns.py:295
+msgid "Validating reverse DNS mappings ..."
+msgstr "Validiere Rückwärts-DNS-Einträge …"
 
-#: lib/cr_tf/handler.py:1042
-msgid "Found one error in validating DNS mappings."
-msgid_plural "Found {n} errors in validating DNS mappings."
-msgstr[0] "Einen Fehler bei der Validierung der DNS-Zuordnungen gefunden."
-msgstr[1] "Insgesamt {n} Fehler bei der Validierung der DNS-Zuordnungen gefunden."
+#: lib/cr_tf/handler/dns.py:300
+msgid "Validating {a!r} => {f!r}."
+msgstr "Validierung {f!r} => {a!r}."
+
+#: lib/cr_tf/handler/dns.py:307
+msgid "Got reverse info:"
+msgstr "Rückwärts-Informationen erhalten:"
+
+#: lib/cr_tf/handler/dns.py:314
+msgid "Did not found reverse pointer for {!r}."
+msgstr "Keinen Rückwärtsverweis für {!r} bekommen:"
+
+#: lib/cr_tf/handler/dns.py:322
+msgid "Found reverse pointer {a!r} => {f!r}."
+msgstr "Rückwärtsverweis {a!r} => {f!r} gefunden."
+
+#: lib/cr_tf/handler/dns.py:325
+msgid "Reverse pointer for {!r} was already existing."
+msgstr "Ein Rückwärtsverweis für {!r} existiert bereits."
+
+#: lib/cr_tf/handler/dns.py:329
+msgid "Address {a!r} has already an existing reverse pointer to {p!r}."
+msgstr "Die Adresse {a!r} besitzt bereits einen Rückwärtsverweis auf {p!r}."
+
+#: lib/cr_tf/handler/files.py:74 lib/cr_tf/handler/files.py:95 lib/cr_tf/handler/files.py:116
+msgid "Method {c}.{m} expected at most one argument, got {n}."
+msgid_plural "Method {c}.{m} expected at most {e} arguments, got {n}."
+msgstr[0] "Die Methode {c}.{m} erwartet höchstens ein Argument, es wurden aber {n} übergeben."
+msgstr[1] "Die Methode {c}.{m} erwartet höchstens {e} Argumente, es wurden aber {n} übergeben."
+
+#: lib/cr_tf/handler/files.py:86
+msgid "Did not found network {!r}."
+msgstr "Netzwerk {!r} wurde nicht gefunden."
+
+#: lib/cr_tf/handler/files.py:107
+msgid "Did not found datastore cluster {!r}."
+msgstr "Datastore-Cluster {!r} wurde nicht gefunden."
+
+#: lib/cr_tf/handler/files.py:128
+msgid "Did not found datastore {!r}."
+msgstr "Datastore {!r} wurde nicht gefunden."
+
+#: lib/cr_tf/handler/files.py:134
+msgid "Ensuring existence of directory {!r}."
+msgstr "Sichere Existenz von Verzeichnis {!r} ab."
+
+#: lib/cr_tf/handler/files.py:138
+msgid "Directory {!r} already exists."
+msgstr "Verzeichnis {!r} exitiert bereits."
+
+#: lib/cr_tf/handler/files.py:140
+msgid "Path {!r} exists, but is not a directory."
+msgstr "Der Pfad {!r} existiert, ist aber kein Verzeichnis."
+
+#: lib/cr_tf/handler/files.py:143
+msgid "Creating directory {!r} ..."
+msgstr "Erstelle Verzeichnis {!r} …"
+
+#: lib/cr_tf/handler/files.py:145
+msgid "Simulation mode - directory will not be created."
+msgstr "Simulationsmodus - Verzeichnis wird nicht erstellt."
+
+#: lib/cr_tf/handler/files.py:150
+msgid "Could not create directory {d!r}: {e}"
+msgstr "Konnte Verzeichnis {d!r} nicht erstellen: {e}"
+
+#: lib/cr_tf/handler/files.py:158
+msgid "Directory {!r} does not exists ?!?!"
+msgstr "Das Verzeichnis {!r} existiert nicht ?!?!"
+
+#: lib/cr_tf/handler/files.py:162
+msgid "No write access to directory {!r}."
+msgstr "Kein Schreibzugriff auf das Verzeichnis {!r}."
+
+#: lib/cr_tf/handler/files.py:165
+msgid "Changing into directory {!r}."
+msgstr "Wechsele in das Verzeichnis {!r}."
+
+#: lib/cr_tf/handler/files.py:170
+msgid "Script-Dir relative to project dir: {!r}."
+msgstr "Skript-Verzeichnis relativ zum Projektverzeichnis: {!r}."
+
+#: lib/cr_tf/handler/files.py:173
+msgid "Permissions of {k!r} are {m:04o}."
+msgstr "Die Berectigungen von {k!r} sind {m:04o}."
+
+#: lib/cr_tf/handler/files.py:176
+msgid "Setting permissions of {k!r} from {o:04o} to {m:04o}."
+msgstr "Setze die Berechtigungen von {k!r} von {o:04o} auf {m:04o}."
+
+#: lib/cr_tf/handler/files.py:182
+msgid "Directory for SSH deploy keys relative to project dir: {!r}."
+msgstr "Verzeichnis der SSH-Deploy-Schlüssel relativ zum Projektverzeichnis: {!r}."
+
+#: lib/cr_tf/handler/files.py:186
+msgid "Filename of the private SSH deploy key relative to project dir: {!r}"
+msgstr "Dateiname des privaten SSH-Deploy-Schlüssels relativ zum Projektverzeichnis: {!r}."
+
+#: lib/cr_tf/handler/files.py:191
+msgid "Checking {!r} for a previous terraform configuration."
+msgstr "Überprüfe {!r} nach einer früheren Terraform-Konfiguration."
+
+#: lib/cr_tf/handler/files.py:196
+msgid "In {d!r} there exists already {w!r}, but this is not a directory."
+msgstr "In {d!r} existiert bereits {w!r}, aber das ist kein Verzeichnis."
+
+#: lib/cr_tf/handler/files.py:202
+msgid "In {d!r} there exists already {w!r}, but this not a file."
+msgstr "In {d!r} existiert bereits {w!r}, aber das ist keine Datei."
+
+#: lib/cr_tf/handler/files.py:207
+msgid ""
+"In directory {d!r} there are already existing both {w1!r} and {w2!r}. Is this an old terraform "
+"project?"
+msgstr ""
+"In Verzeichnis existieren bereits sowohl {w1!r} als auch {w2!r}. Ist das ein altes Terraform-"
+"Projekt?"
+
+#: lib/cr_tf/handler/files.py:217
+msgid "Cleaning project directory {!r}."
+msgstr "Räume Projekt-Verzeichnis {!r} auf."
+
+#: lib/cr_tf/handler/files.py:226
+msgid "Directory {!r} is already clean."
+msgstr "Das Verzeichnis {!r} ist bereits sauber."
+
+#: lib/cr_tf/handler/files.py:231
+msgid "Removing recursive directory {!r} ..."
+msgstr "Lösche rekursiv das Verzeichnis {!r} …"
+
+#: lib/cr_tf/handler/files.py:235
+msgid "Removing {!r} ..."
+msgstr "Lösche {!r} …"
+
+#: lib/cr_tf/handler/files.py:244
+msgid "Creating all necessary files for terraform."
+msgstr "Erstellen aller notwendigen Dateien für Terraform."
+
+#: lib/cr_tf/handler/files.py:265 lib/cr_tf/handler/files.py:323 lib/cr_tf/handler/files.py:399
+#: lib/cr_tf/handler/files.py:416 lib/cr_tf/handler/files.py:515
+msgid "Creating {!r} ..."
+msgstr "Erstelle {!r} …"
+
+#: lib/cr_tf/handler/files.py:271 lib/cr_tf/handler/files.py:418
+msgid "Creating {w} for VSPhere {v!r} ..."
+msgstr "Erstelle {w} für VSPhere {v!r} …"
+
+#: lib/cr_tf/handler/files.py:540
+msgid "No minimum version of Terraform defined."
+msgstr "Es wurde keine Minimalversion für Terraform definiert."
+
+#: lib/cr_tf/handler/files.py:555
+msgid "Creating terraform files for VM instances."
+msgstr "Erstelle Terraform-Dateien für VM-Instanzen."
+
+#: lib/cr_tf/handler/files.py:566
+msgid "Creating file {f!r} for VM instance {n!r}."
+msgstr "Erstelle Datei {f!r} für VM-Instanz {n!r}."
+
+#: lib/cr_tf/handler/files.py:574
+msgid "Using template:"
+msgstr "Verwende Vorlage:"
+
+#: lib/cr_tf/handler/files.py:592
+msgid "Writing {!r}"
+msgstr "Schreibe {!r}"
+
+#: lib/cr_tf/handler/files.py:609
+msgid "Generating global definitions of {!r}."
+msgstr "Generiere globale Definitionen von {!r}."
+
+#: lib/cr_tf/handler/files.py:617
+msgid "Cluster {!r} not found - this shouldn't be happened."
+msgstr "Der Cluster {!r} wurde nicht gefunden - das sollte nicht passieren."
+
+#: lib/cr_tf/handler/files.py:674
+msgid "Generating interface definition {i} of {v!r}."
+msgstr "Generiere Schnittstellen-Definition {i} von {v!r}."
+
+#: lib/cr_tf/handler/files.py:695
+msgid "Generating disk definition {n} of {v!r}."
+msgstr "Generiere Disk-Definition {n} von {v!r}."
+
+#: lib/cr_tf/handler/files.py:715
+msgid "Generating customization of {v!r}."
+msgstr "Generiere Anpassungen von {v!r}."
+
+#: lib/cr_tf/handler/files.py:759 lib/cr_tf/handler/files.py:780
+msgid "Generating file provisioner for {f!r} of {v!r}."
+msgstr "Generiere Datei-Provisionierer für {f!r} von {v!r}."
+
+#: lib/cr_tf/handler/first.py:64
+msgid "No configuration given before initialisation of handlers."
+msgstr "Keine Konfiguration vor der Initialisierung der Handler gegeben."
+
+#: lib/cr_tf/handler/first.py:68
+msgid "{n} is not a {e}-instance, but a {w}-instance instead."
+msgstr "{n} ist keine {e}-Instanz, statt dessen ist es eine {w}-Instanz."
+
+#: lib/cr_tf/handler/first.py:79
+msgid "Initialize some additional handlers."
+msgstr "Initialisiere einige zusätzliche Handler."
+
+#: lib/cr_tf/handler/first.py:108
+msgid "Checking the terraform version ..."
+msgstr "Überprüfe Version von Terraform …"
+
+#: lib/cr_tf/handler/first.py:118
+msgid "No output on command {!r}."
+msgstr "Keine Ausgabe auf das Kommando {!r}."
+
+#: lib/cr_tf/handler/first.py:123
+msgid "First line:"
+msgstr "Erste Zeile:"
+
+#: lib/cr_tf/handler/first.py:126
+msgid "Could not evaluate version output of terraform:"
+msgstr "Konnte die Versionsausgabe von Terraform nicht analysieren. "
+
+#: lib/cr_tf/handler/first.py:130
+msgid "Terraform version: {!r}."
+msgstr "Terraform Version: {!r}."
+
+#: lib/cr_tf/handler/first.py:133 lib/cr_tf/handler/first.py:141
+msgid "Checking for {o}{m!r} ..."
+msgstr "Teste nach {o}{m!r} …"
+
+#: lib/cr_tf/handler/first.py:136 lib/cr_tf/handler/first.py:144
+msgid "Invalid version {c!r} of terraform, expected {o}{m!r}."
+msgstr "Ungültige Version {c!r} von Terraform, erwartet wurde {o}{m!r}."
 
-#: lib/cr_tf/handler.py:1104
+#: lib/cr_tf/handler/first.py:159
+msgid "Go ahead..."
+msgstr "Geht los ……"
+
+#: lib/cr_tf/handler/first.py:164
+msgid "Initialising VSPhere handlers."
+msgstr "Initialisiere VSPhere-Handler."
+
+#: lib/cr_tf/handler/first.py:180
+msgid "Current {} object:"
+msgstr "Aktuelles {}-Objekt:"
+
+#: lib/cr_tf/handler/read.py:48
+msgid "Found one error in evaluation of YAML data of {f!r}."
+msgid_plural "Found {n} errors in evaluation of YAML data of {f!r}."
+msgstr[0] "Einen Fehler bei der Auswertung der YAML-Daten von {f!r} gefunden."
+msgstr[1] "Insgesamt {n} Fehler bei der Auswertung der YAML-Daten von {f!r} gefunden."
+
+#: lib/cr_tf/handler/read.py:61
 msgid "Reading YAML file {!r} ..."
 msgstr "Lese YAML-Datei {!r} …"
 
-#: lib/cr_tf/handler.py:1115
+#: lib/cr_tf/handler/read.py:72
 msgid "Error in YAML file {f!r}: {e}."
 msgstr "Fehler in YAML-Datei {f!r}: {e}."
 
-#: lib/cr_tf/handler.py:1119
+#: lib/cr_tf/handler/read.py:76
 msgid "Error position: {li}:{c}"
 msgstr "Fehler-Position: {li}:{c}"
 
-#: lib/cr_tf/handler.py:1124
+#: lib/cr_tf/handler/read.py:81
 msgid "Read data from YAML file:"
 msgstr "Lese Daten aus YAML-Datei:"
 
-#: lib/cr_tf/handler.py:1127
+#: lib/cr_tf/handler/read.py:84
 msgid "Data read from YAML file {f!r} are not a dictionary, but a {c} object instead."
 msgstr ""
 "Die gelesenen Daten aus der YAML-Datei {f!r} sind kein Dictionary, sondern statt dessen ein "
 "{c}-Objekt."
 
-#: lib/cr_tf/handler.py:1143
+#: lib/cr_tf/handler/read.py:100
 msgid "Searching for default VM definition ..."
 msgstr "Suche nach Vorgabe-VM-Definition …"
 
-#: lib/cr_tf/handler.py:1152
+#: lib/cr_tf/handler/read.py:109
 msgid "Searching for VM definitions ..."
 msgstr "Suche VM-Definitionen …"
 
-#: lib/cr_tf/handler.py:1169
+#: lib/cr_tf/handler/read.py:126
 msgid "Evaluated VMs:"
 msgstr "Ermittelte VMs:"
 
-#: lib/cr_tf/handler.py:1183
+#: lib/cr_tf/handler/read.py:140
 msgid "{c} in evaluating template VM: {e}"
 msgstr "{c} in Ermittlung der Vorlagen-VM gefunden: {e}"
 
-#: lib/cr_tf/handler.py:1189
+#: lib/cr_tf/handler/read.py:146
 msgid "Defined Terraform Template VM {n!r}:"
 msgstr "Definition der Terraform-Vorlagen-VM {n!r}:"
 
-#: lib/cr_tf/handler.py:1207
+#: lib/cr_tf/handler/read.py:164
 msgid "{c} in evaluating VM: {e}"
 msgstr "{c} in Ermittlung der VM gefunden: {e}"
 
-#: lib/cr_tf/handler.py:1212
+#: lib/cr_tf/handler/read.py:169
 msgid "Defined Terraform-VM {n!r}:"
 msgstr "Definition der Terraform-VM {n!r}:"
 
-#: lib/cr_tf/handler.py:1216
+#: lib/cr_tf/handler/read.py:173
 msgid "VM {!r} is already defined."
 msgstr "Die VM {!r} ist bereits definiert."
 
-#: lib/cr_tf/handler.py:1226
+#: lib/cr_tf/handler/read.py:183
 msgid "Group definition list is not a list:"
 msgstr "Die Gruppendefinitionsliste ist keine Liste:"
 
-#: lib/cr_tf/handler.py:1232
+#: lib/cr_tf/handler/read.py:189
 msgid "Maximum recursion depth for VM groups of {} reached."
 msgstr "Maximale Rekursionstiefe für VM-Gruppen von {} erreicht."
 
-#: lib/cr_tf/handler.py:1236
+#: lib/cr_tf/handler/read.py:193
 msgid "Evaluating group list:"
 msgstr "Ermiitle Gruppenliste:"
 
-#: lib/cr_tf/handler.py:1238
+#: lib/cr_tf/handler/read.py:195
 msgid "Used template: {!r}"
 msgstr "Verwendete Vorlage: {!r}"
 
-#: lib/cr_tf/handler.py:1247 lib/cr_tf/terraform/vm.py:259
+#: lib/cr_tf/handler/read.py:204 lib/cr_tf/terraform/vm.py:267
 msgid "VM definition is not a dictionary:"
 msgstr "Die VM-Definition is kein Dictionary:"
 
-#: lib/cr_tf/handler.py:1261
+#: lib/cr_tf/handler/read.py:218
 msgid "No group name defined."
 msgstr "Kein Gruppenname definiert."
 
-#: lib/cr_tf/handler.py:1265
+#: lib/cr_tf/handler/read.py:222
 msgid "Searching for group default VM definition in group {!r} ..."
 msgstr "Suche nach Vorgabe-VM-Definition in Gruppe {!r} …"
 
-#: lib/cr_tf/handler.py:1280
+#: lib/cr_tf/handler/read.py:237
 msgid "Used template for creating VMs in group {g!r}: {n!r}"
 msgstr "Verwendete Vorlage zur Erstellung von VMs in Gruppe {g!r}: {n!r}"
 
-#: lib/cr_tf/handler.py:1283
+#: lib/cr_tf/handler/read.py:240
 msgid "Used template structure:"
 msgstr "Verwendete Vorlagen-Struktur:"
 
-#: lib/cr_tf/handler.py:1286
+#: lib/cr_tf/handler/read.py:243
 msgid "Searching for VM definitions in group {!r} ..."
 msgstr "Suche nach VM-Definitionen in Gruppe {!r} …"
 
-#: lib/cr_tf/handler.py:1303
-msgid "Exploring all vSphere templates ..."
-msgstr "Ermittle alle vSphere-Vorlagen …"
+#: lib/cr_tf/handler/vmware.py:51
+msgid "Collecting all VMWare and local folders ..."
+msgstr "Sammle alle VMWare- und lokalen VBerzeichnisse zusammen …"
 
-#: lib/cr_tf/handler.py:1318
-msgid "VM {!r} has not template defined."
-msgstr "Für die VM {!r} wurde keine Vorlage definiert."
+#: lib/cr_tf/handler/vmware.py:52
+msgid "Get vSphere datacenter ..."
+msgstr "Hole vSphere-Datacenter …"
 
-#: lib/cr_tf/handler.py:1321
-msgid "All {} VSPhere templates to explore:"
-msgstr "Alle {}-VSPhere-Vorlagen zum Ermitteln:"
+#: lib/cr_tf/handler/vmware.py:56
+msgid "Collecting vSphere folders."
+msgstr "Sammle alle vSphere-Ordner zusammen."
 
-#: lib/cr_tf/handler.py:1330
-msgid "Searching for template {t!r} in VSPhere {v!r} ..."
-msgstr "Suche nach Vorlage {t!r} in VSPhere {v!r} …"
+#: lib/cr_tf/handler/vmware.py:63
+msgid "Collected vSphere folders:"
+msgstr "Gesammelte vSphere-Ordner:"
 
-#: lib/cr_tf/handler.py:1340
-msgid "Template {t!r} not found in VSPhere {v!r}."
-msgstr "Die Vorlage {t!r} wurde in VSPhere {v!r} nicht gefunden."
+#: lib/cr_tf/handler/vmware.py:71
+msgid "Project name is {!r}."
+msgstr "Der Projektname ist {!r}."
 
-#: lib/cr_tf/handler.py:1345
-msgid "All explored vSphere templates:"
-msgstr "Alle ermittelten vSphere-Vorlagen:"
+#: lib/cr_tf/handler/vmware.py:73
+msgid "Project directory is: {!r}."
+msgstr "Das Projektverzeichnis ist: {!r}."
 
-#: lib/cr_tf/handler.py:1358
-msgid "Validating existence of computing clusters of the VMs."
-msgstr "Validiere Existenz der vSphere-Rechencluster der VMs."
+#: lib/cr_tf/handler/vmware.py:89
+msgid "Did not found root terraform directory above {!r}."
+msgstr "Kein Root-Terraform-Verzeichnis oberhalb von {!r} gefunden."
 
-#: lib/cr_tf/handler.py:1379
-msgid "Checking existence of computing cluster {c!r} in VSPhere {v!r} ..."
-msgstr "Überprüfe die Existenz des Rechenclusters {c!r} in VSPhere {v!r} …"
+#: lib/cr_tf/handler/vmware.py:93
+msgid "Full project name: {!r}"
+msgstr "Kompletter Projektname: {!r}"
 
-#: lib/cr_tf/handler.py:1387
-msgid "Found computing cluster {cl!r} in VSPhere {v!r} (defined for VMs {vms})."
-msgstr "Fand Rechencluster {cl!r} in VSPhere {v!r} (definiert für die VMs {vms})."
+#: lib/cr_tf/handler/vmware.py:113
+msgid "There is only one, unique VSPhere definition allowed in a project file."
+msgstr "Nur eine einzige VSPhere-Definition ist innerhalb einer Projektdatei erlaubt."
 
-#: lib/cr_tf/handler.py:1391
-msgid "Computing cluster {cl!r} (defined for VMs {vms}) in VSPhere {v!r} not found."
-msgstr "Der Rechencluster {cl!r} (definiert für die VMs {vms}) wurde in VSPhere {v!r} nicht gefunden."
+#: lib/cr_tf/handler/vmware.py:115
+msgid "In {f!r} were found {nr} different VSPhere definitions:"
+msgstr "In {f!r} wurden {nr} verschiedene VSPhere-Definition gefunden:"
 
-#: lib/cr_tf/handler.py:1400
-msgid "Validating existence of VMs in VMWare."
-msgstr "Validiere Existenz der VMs in VMWare."
+#: lib/cr_tf/handler/vmware.py:135
+msgid "VSPhere {!r} not defined in configuration."
+msgstr "Die VSPhere {!r} wurde in der Konfiguration nicht definiert."
 
-#: lib/cr_tf/handler.py:1417
-msgid "[{m}]  - VM is already existing in VSphere {v!r}, path {p!r}."
-msgstr "[{m}]  - die VM existiert bereits in VSphere {v!r}, Pfad {p!r}."
+#: lib/cr_tf/handler/vmware.py:167
+msgid "Initialising a {}-object with params:"
+msgstr "Initialisiere ein {}-Objekt mit den Parametern:"
 
-#: lib/cr_tf/handler.py:1425
-msgid "VM info:"
-msgstr "Informationen zur VM:"
+#: lib/cr_tf/handler/vmware.py:191
+msgid "Created {}-object:"
+msgstr "Erstelltes {}-Objekt:"
 
-#: lib/cr_tf/handler.py:1427
-msgid "Datastore of VM {vm!r}: {ds!r}."
-msgstr "Datastore der VM {vm!r}: {ds!r}."
+#: lib/cr_tf/handler/vmware.py:207
+msgid "Assigning not defined templates and clusters of VMs by their appropriate default values."
+msgstr "Weise nicht definierten Vorlagen und Clustern von VMs die entsprechenden Vorgabe-Werte zu."
 
-#: lib/cr_tf/handler.py:1447
-msgid "CAUTION!"
-msgstr "ACHTUNG!"
+#: lib/cr_tf/handler/vmware.py:216
+msgid "Setting cluster of {n!r} to {c!r} ..."
+msgstr "Setze Cluster von {n!r} auf {c!r} …"
 
-#: lib/cr_tf/handler.py:1451
-msgid "Did not found any VM to deploy!"
-msgstr "Keine VM zum Deploy gefunden!"
+#: lib/cr_tf/handler/vmware.py:223
+msgid "Setting template of {n!r} to {t!r} ..."
+msgstr "Setze Vorlage von {n!r} auf {t!r} …"
 
-#: lib/cr_tf/handler.py:1454
-msgid "No VMs to deploy"
-msgstr "Keine VMs zu deployen"
-
-#: lib/cr_tf/handler.py:1470
-msgid "Used datastore clusters:"
-msgstr "Verwendete Datastore-Cluster:"
+#: lib/cr_tf/handler/vmware.py:234
+msgid "Searching for clusters in VSPhere {!r} ..."
+msgstr "Suche nach Clustern in VSPhere {!r} …"
 
-#: lib/cr_tf/handler.py:1472
-msgid "No datastore clusters are used."
-msgstr "Es werden keine Datastore-Cluster verwendet."
+#: lib/cr_tf/handler/vmware.py:250
+msgid "Searching for datastores in VSPhere {!r} ..."
+msgstr "Suche nach Datastores in VSPhere {!r} …"
 
-#: lib/cr_tf/handler.py:1479
-msgid "Used datastors:"
-msgstr "Verwendete Datastores:"
+#: lib/cr_tf/handler/vmware.py:255
+msgid "Found one datastore."
+msgid_plural "Found {n} datastores."
+msgstr[0] "Fand einen Datastore."
+msgstr[1] "Insgesamt {n} Datastores gefunden."
 
-#: lib/cr_tf/handler.py:1481
-msgid "No datastores are used."
+#: lib/cr_tf/handler/vmware.py:258
+msgid "No VSPhere datastores found."
 msgstr "Es werden keine Datastores verwendet."
 
-#: lib/cr_tf/handler.py:1486
-msgid "Validating given datastore clusters of VMs ..."
-msgstr "Validiere gegebene Datastore-Cluster der VMs …"
-
-#: lib/cr_tf/handler.py:1511
-msgid "Found datastore cluster {c!r} in VSphere {v!r} for VM {n!r}."
-msgstr "Fand Datastore-Cluster {c!r} in VSphere {v!r} für die VM {n!r}."
-
-#: lib/cr_tf/handler.py:1515
-msgid "Setting datastore cluster for VM {n!r} to {c!r} ..."
-msgstr "Setze Datastore-Cluster für VM {n!r} auf {c!r} …"
-
-#: lib/cr_tf/handler.py:1520
-msgid "Free space of cluster {c!r} in VSphere {v!r} before provisioning: {a:0.1f} GiB."
-msgstr "Freier Platz in Cluster {c!r} in VSphere {v!r} vor der Provisionierung: {a:0.1f} GiB."
-
-#: lib/cr_tf/handler.py:1525
-msgid ""
-"Datastore cluster {d!r} in VSphere {v!r} has not sufficient space for storage of VM {vm!r} "
-"(needed {n:0.1f} GiB, available {a:0.1f} GiB)."
-msgstr ""
-"Der Datastore-Cluster {d!r} in VSphere {v!r} hat nicht genügend freien Platz für den Storage der"
-" VM {vm!r} (benötigt {n:0.1f} GiB, verfügbar {a:0.1f} GiB)."
-
-#: lib/cr_tf/handler.py:1535
-msgid "Free space in cluster {c!r} in VSphere {v!r} after provisioning: {a:0.1f} GiB."
-msgstr "Freier Speicher in Cluster {c!r} in VSphere {v!r} nach der Provisionierung: {a:0.1f} GiB."
-
-#: lib/cr_tf/handler.py:1547
-msgid "Datastore cluster {c!r} of VM {n!r} not found in VSphere {v!r}."
-msgstr "Der Datastore-Cluster {d!r} wurde nicht in VSphere {v!r} gefunden."
-
-#: lib/cr_tf/handler.py:1554
-msgid "Validating given datastores of VMs and assign failing ..."
-msgstr "Validiere die übergebenen Datastores der VMs und weise fehlende zu …"
-
-#: lib/cr_tf/handler.py:1560
-msgid "Removing defined datastore {d!r} for VM {n!r} ..."
-msgstr "Entferne definierten Datastore {d!r} für VM {n!r} …"
-
-#: lib/cr_tf/handler.py:1585 lib/cr_tf/handler.py:1693
-msgid "Did not found cluster object {c!r} for VM {n!r}."
-msgstr "Cluster-Objekt {c!r} für VM {n!r} nicht gefunden."
-
-#: lib/cr_tf/handler.py:1595 lib/cr_tf/handler.py:1630
-msgid "Found datastore {d!r} for VM {n!r} in VSPhere {v!r}."
-msgstr "Fand Datastore {d!r} für VM {n!r} in VSPhere {v!r}."
-
-#: lib/cr_tf/handler.py:1598
-msgid "Datastore {d!r} not available in cluster {c!r}."
-msgstr "Der Datastore {d!r} ist im Cluster {c!r} nicht verfügbar."
-
-#: lib/cr_tf/handler.py:1602
-msgid "Setting datastore for VM {n!r} to {d!r} ..."
-msgstr "Setze Datastore für VM auf {d!r} …"
-
-#: lib/cr_tf/handler.py:1607
-msgid ""
-"Datastore {d!r} has not sufficient space for storage of VM {v!r} (needed {n:0.1f} GiB, available"
-" {a:0.1f} GiB)."
-msgstr ""
-"Der Datastore {d!r} hat nicht genügend freien Speicher für die VM {v!r} (benötigt {n:0.1f} GiB, "
-"verfügbar {a:0.1f} GiB)."
-
-#: lib/cr_tf/handler.py:1618
-msgid "Datastore {d!r} of VM {n!r} not found in VSPhere {v!r}."
-msgstr "Der Datastore {d!r} für VM {n!r} wurde nicht in VSphere {v!r} gefunden."
-
-#: lib/cr_tf/handler.py:1643
-msgid "Validating interfaces of VMs and assign networks ..."
-msgstr "Validiere Netzwerkschnittstellen der VMs und weise Netzwerke zu …"
-
-#: lib/cr_tf/handler.py:1648
-msgid "Validated FQDNs:"
-msgstr "Validierte FQDNs:"
-
-#: lib/cr_tf/handler.py:1649
-msgid "Validated Addresses:"
-msgstr "Validierte Adressen:"
-
-#: lib/cr_tf/handler.py:1659
-msgid "Used networks:"
-msgstr "Verwendete Netzwerke:"
-
-#: lib/cr_tf/handler.py:1665
-msgid "Used forward DNS entries:"
-msgstr "Verwendete Vorwärts-DNS-Einträge:"
-
-#: lib/cr_tf/handler.py:1671
-msgid "Used reverse DNS entries:"
-msgstr "Verwendete Rückwärts-DNS-Einträge:"
-
-#: lib/cr_tf/handler.py:1677
-msgid "Checking interfaces of VM {n!r} in VSPhere {v!r} ..."
-msgstr "Überprüfe Netzwerkschnittstellen der VM {n!r} in VSPhere {v!r} …"
-
-#: lib/cr_tf/handler.py:1681
-msgid "No interfaces defined for VM {!r}."
-msgstr "Keine Netzwerkschnittstellen für VM {!r} definiert."
-
-#: lib/cr_tf/handler.py:1709
-msgid "Checking interface {i} of VM {n!r} ..."
-msgstr "Überprüfe Netzwerkschnittstelle {i} der VM {n!r} …"
-
-#: lib/cr_tf/handler.py:1713
-msgid "Interface {i} of VM {n!r} has no defined address."
-msgstr "Für die Netzwerkschnittstelle {i} der VM {n!r} wurde keine Adresse definiert."
-
-#: lib/cr_tf/handler.py:1719
-msgid "Interface {i} of VM {n!r} has no defined FQDN."
-msgstr "Für die Netzwerkschnittstelle {i} der VM {n!r} wurde kein FQDN definiert."
-
-#: lib/cr_tf/handler.py:1725
-msgid "FQDN {f!r} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
-msgstr ""
-"Der FQDN {f!r}, der bereits für die VM {va!r}({ia}) definiert wurde, soll für "
-"Netzwerkschnittstelle {ib} von {vb!r} gesetzt werden."
-
-#: lib/cr_tf/handler.py:1737
-msgid "IPv4 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
-msgstr ""
-"Die IPv4-Adfresse {a}, die bereits für die VM {va!r}({ia}) definiert wurde, soll für "
-"Netzwerkschnittstelle {ib} von {vb!r} gesetzt werden."
-
-#: lib/cr_tf/handler.py:1752
-msgid "IPv6 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
-msgstr ""
-"Die IPv6-Adfresse {a}, die bereits für die VM {va!r}({ia}) definiert wurde, soll für "
-"Netzwerkschnittstelle {ib} von {vb!r} gesetzt werden."
-
-#: lib/cr_tf/handler.py:1768
-msgid "Could not find network {n!r} for VM {v!r}, interface {i}."
-msgstr "Konnte Netzwerk {n!r} für die VM {v!r}, Schnittstelle {i}, nicht finden."
-
-#: lib/cr_tf/handler.py:1780
-msgid "Found network {n!r} for interface {i} of VM {v!r}."
-msgstr "Netzwerk {n!r} für Schnittstelle {i} der VM {v!r} gefunden."
-
-#: lib/cr_tf/handler.py:1784
-msgid "Network {n!r} for interface {i} of VM {v!r} not available in cluster {c!r}."
-msgstr "Das Netzwerk {n!r} für die Schnittstelle {i} der VM {v!r} ist in Cluster {c!r} nicht verfügbar."
-
-#: lib/cr_tf/handler.py:1789
-msgid "Network {n!r} is available in cluster {c!r}."
-msgstr "Das Netzwerk {n!r} ist in Cluster {c!r} verfügbar."
-
-#: lib/cr_tf/handler.py:1794
-msgid "Setting gateway of interface {i} of VM {v!r} to {g}."
-msgstr "Setze Gateway von Schnittstelle {i} der VM {v!r} auf {g}."
-
-#: lib/cr_tf/handler.py:1814
-msgid "Validating DNS mappings ..."
-msgstr "Validieren der DNS-Zuordnungen …"
-
-#: lib/cr_tf/handler.py:1824 lib/cr_tf/handler.py:1834
-msgid "None"
-msgstr "Keine"
-
-#: lib/cr_tf/handler.py:1825
-msgid "Forward DNS entries to create:"
-msgstr "Zu erstellende Vorwärts-DNS-Einträge:"
-
-#: lib/cr_tf/handler.py:1835
-msgid "Reverse DNS entries to create:"
-msgstr "Zu erstellende Rückwärts-DNS-Einträge:"
-
-#: lib/cr_tf/handler.py:1843
-msgid "Validating forward DNS mappings ..."
-msgstr "Validiere Vorwärts-DNS-Einträge …"
-
-#: lib/cr_tf/handler.py:1848
-msgid "Validating {f!r} => {a!r}."
-msgstr "Validierung {f!r} => {a!r}."
-
-#: lib/cr_tf/handler.py:1874
-msgid "Found existing addresses for {f!r}:"
-msgstr "Existierende Adresse für {f!r} gefunden:"
-
-#: lib/cr_tf/handler.py:1876
-msgid "Did not found existing addresses for {!r}."
-msgstr "Keine existierenden Adressen für {!r} gefunden."
-
-#: lib/cr_tf/handler.py:1883 lib/cr_tf/handler.py:1891
-msgid "FQDN {f!r} already points to {a!r}."
-msgstr "Der FQDN {f!r} zeigt bereits auf {a!r}."
+#: lib/cr_tf/handler/vmware.py:273
+msgid "Searching for datastore clusters in VSPhere {!r} ..."
+msgstr "Suche nach Datastore-Clustern in VSPhere {!r} …"
 
-#: lib/cr_tf/handler.py:1896
-msgid "FQDN {f!r} has already existing addresses, but none of them are {a!r}:"
-msgstr "Der FQDN {f!r} hat bereits existierende Adressen, aber keine von ihnen ist {a!r}:"
+#: lib/cr_tf/handler/vmware.py:278
+msgid "Found one datastore cluster."
+msgid_plural "Found {n} datastore clusters."
+msgstr[0] "Fand einen Datastore-Cluster."
+msgstr[1] "Insgesamt {n} Datastore-Clusters gefunden."
 
-#: lib/cr_tf/handler.py:1912
-msgid "Validating reverse DNS mappings ..."
-msgstr "Validiere Rückwärts-DNS-Einträge …"
+#: lib/cr_tf/handler/vmware.py:284
+msgid "No VSPhere datastore clusters found."
+msgstr "Es werden keine Datastore-Cluster verwendet."
 
-#: lib/cr_tf/handler.py:1917
-msgid "Validating {a!r} => {f!r}."
-msgstr "Validierung {f!r} => {a!r}."
+#: lib/cr_tf/handler/vmware.py:297
+msgid "Searching for networks in VSPhere {!r} ..."
+msgstr "Suche nach Netzwerken in VSPhere {!r} …"
 
-#: lib/cr_tf/handler.py:1924
-msgid "Got reverse info:"
-msgstr "Rückwärts-Informationen erhalten:"
+#: lib/cr_tf/handler/vmware.py:300
+msgid "Found one error in exploring vSphere {v!r} resources."
+msgid_plural "Found {n} errors in exploring vSphere {v!r} resources."
+msgstr[0] "Fand einen Fehler in der Untersuchung der VSPhere {v!r} Resourcen."
+msgstr[1] "Fand {n} Fehler in der Untersuchung der VSPhere {v!r} Resourcen."
 
-#: lib/cr_tf/handler.py:1931
-msgid "Did not found reverse pointer for {!r}."
-msgstr "Keinen Rückwärtsverweis für {!r} bekommen:"
+#: lib/cr_tf/handler/vmware.py:318
+msgid "Found one error in exploring vSphere templates."
+msgid_plural "Found {n} errors in exploring vSphere templates."
+msgstr[0] "Einen Fehler bei der Ermittlung der vSphere-Vorlagen gefunden."
+msgstr[1] "Insgesamt {n} Fehler bei der Ermittlung der vSphere-Vorlagen gefunden."
 
-#: lib/cr_tf/handler.py:1939
-msgid "Found reverse pointer {a!r} => {f!r}."
-msgstr "Rückwärtsverweis {a!r} => {f!r} gefunden."
+#: lib/cr_tf/handler/vmware.py:335
+msgid "Validating information from YAML file ..."
+msgstr "Validiere Informationen aus der YAML-Datei …"
 
-#: lib/cr_tf/handler.py:1942
-msgid "Reverse pointer for {!r} was already existing."
-msgstr "Ein Rückwärtsverweis für {!r} existiert bereits."
+#: lib/cr_tf/handler/vmware.py:339
+msgid "Found one error in validating vSphere computing clusters."
+msgid_plural "Found {n} errors in validating vSphere computing clusters."
+msgstr[0] "Einen Fehler bei der Ermittlung der vSphere-Rechencluster gefunden."
+msgstr[1] "Insgesamt {n} Fehler bei der Ermittlung der vSphere-Rechencluster gefunden."
 
-#: lib/cr_tf/handler.py:1946
-msgid "Address {a!r} has already an existing reverse pointer to {p!r}."
-msgstr "Die Adresse {a!r} besitzt bereits einen Rückwärtsverweis auf {p!r}."
+#: lib/cr_tf/handler/vmware.py:355
+msgid "Got a list of all VMs and templates ..."
+msgstr "Habe eine Liste aller VMs und Vorlagen erhalten …"
 
-#: lib/cr_tf/handler.py:1957 lib/cr_tf/handler.py:1978 lib/cr_tf/handler.py:1999
-msgid "Method {c}.{m} expected at most one argument, got {n}."
-msgid_plural "Method {c}.{m} expected at most {e} arguments, got {n}."
-msgstr[0] "Die Methode {c}.{m} erwartet höchstens ein Argument, es wurden aber {n} übergeben."
-msgstr[1] "Die Methode {c}.{m} erwartet höchstens {e} Argumente, es wurden aber {n} übergeben."
+#: lib/cr_tf/handler/vmware.py:374
+msgid "All existing VMs and templates:"
+msgstr "Alle existierenden VMs und Vorlagen:"
 
-#: lib/cr_tf/handler.py:1969
-msgid "Did not found network {!r}."
-msgstr "Netzwerk {!r} wurde nicht gefunden."
+#: lib/cr_tf/handler/vmware.py:386
+msgid "Found one error in validating VM storages."
+msgid_plural "Found {n} errors in validating VM storages."
+msgstr[0] "Einen Fehler bei der Ermittlung der VM-Speicher gefunden."
+msgstr[1] "Insgesamt {n} Fehler bei der Ermittlung der VM-Speicher gefunden."
 
-#: lib/cr_tf/handler.py:1990
-msgid "Did not found datastore cluster {!r}."
-msgstr "Datastore-Cluster {!r} wurde nicht gefunden."
+#: lib/cr_tf/handler/vmware.py:404
+msgid "Found one error in validating VM interfaces."
+msgid_plural "Found {n} errors in validating VM interfaces."
+msgstr[0] "Einen Fehler bei der Validierung der VM-Netzwerkschnittstellen gefunden."
+msgstr[1] "Insgesamt {n} Fehler bei der Validierung der VM-Netzwerkschnittstellen gefunden."
 
-#: lib/cr_tf/handler.py:2011
-msgid "Did not found datastore {!r}."
-msgstr "Datastore {!r} wurde nicht gefunden."
+#: lib/cr_tf/handler/vmware.py:429
+msgid "Exploring all vSphere templates ..."
+msgstr "Ermittle alle vSphere-Vorlagen …"
 
-#: lib/cr_tf/handler.py:2017
-msgid "Performing DNS actions ..."
-msgstr "Führe DNS-Aktionen aus …"
+#: lib/cr_tf/handler/vmware.py:444
+msgid "VM {!r} has not template defined."
+msgstr "Für die VM {!r} wurde keine Vorlage definiert."
 
-#: lib/cr_tf/handler.py:2033
-msgid "There was one error in creating DNS mappings."
-msgid_plural "There were {n} errors in creating DNS mappings."
-msgstr[0] "Es ist ein Fehler beim Erstellen der DNS-Zuordnungen aufgetreten."
-msgstr[1] "Es sind {n} ehler beim Erstellen der DNS-Zuordnungen aufgetreten."
+#: lib/cr_tf/handler/vmware.py:447
+msgid "All {} VSPhere templates to explore:"
+msgstr "Alle {}-VSPhere-Vorlagen zum Ermitteln:"
 
-#: lib/cr_tf/handler.py:2039
-msgid "No errors in creating DNS mappings."
-msgstr "Keine Fehler beim Erstellen der DNS-Zuordnungen."
+#: lib/cr_tf/handler/vmware.py:456
+msgid "Searching for template {t!r} in VSPhere {v!r} ..."
+msgstr "Suche nach Vorlage {t!r} in VSPhere {v!r} …"
 
-#: lib/cr_tf/handler.py:2049
-msgid "Increasing serial of zone {!r}."
-msgstr "Erhöhe Seriennummer der Zone {!r}."
+#: lib/cr_tf/handler/vmware.py:466
+msgid "Template {t!r} not found in VSPhere {v!r}."
+msgstr "Die Vorlage {t!r} wurde in VSPhere {v!r} nicht gefunden."
 
-#: lib/cr_tf/handler.py:2068
-msgid "Got zone {z!r} for FQDN {f!r}."
-msgstr "Zone {z!r} für FQDN {f!r} erhalten."
+#: lib/cr_tf/handler/vmware.py:471
+msgid "All explored vSphere templates:"
+msgstr "Alle ermittelten vSphere-Vorlagen:"
 
-#: lib/cr_tf/handler.py:2071
-msgid "Did not found zone to insert {t}-record for {f!r}."
-msgstr "Keine Zone gefunden, um {t}-Einträge für {f!r} einzufügen."
+#: lib/cr_tf/handler/vmware.py:484
+msgid "Validating existence of computing clusters of the VMs."
+msgstr "Validiere Existenz der vSphere-Rechencluster der VMs."
 
-#: lib/cr_tf/handler.py:2089
-msgid "Trying to create PTR-record {a!r} => {f!r}."
-msgstr "Versuche PTR-Eintrag {a!r} => {f!r} zu erstellen."
+#: lib/cr_tf/handler/vmware.py:505
+msgid "Checking existence of computing cluster {c!r} in VSPhere {v!r} ..."
+msgstr "Überprüfe die Existenz des Rechenclusters {c!r} in VSPhere {v!r} …"
 
-#: lib/cr_tf/handler.py:2094
-msgid "PTR of {a!r}: {p!r}."
-msgstr "PTR von {a!r}: {p!r}."
+#: lib/cr_tf/handler/vmware.py:513
+msgid "Found computing cluster {cl!r} in VSPhere {v!r} (defined for VMs {vms})."
+msgstr "Fand Rechencluster {cl!r} in VSPhere {v!r} (definiert für die VMs {vms})."
 
-#: lib/cr_tf/handler.py:2099
-msgid "Got reverse zone {z!r} for address {a!r}."
-msgstr "Rückwärts-Zone {z!r} für Adresse {a!r} erhalten."
+#: lib/cr_tf/handler/vmware.py:517
+msgid "Computing cluster {cl!r} (defined for VMs {vms}) in VSPhere {v!r} not found."
+msgstr "Der Rechencluster {cl!r} (definiert für die VMs {vms}) wurde in VSPhere {v!r} nicht gefunden."
 
-#: lib/cr_tf/handler.py:2102
-msgid "Did not found zone to insert PTR-record {p!r} ({a})."
-msgstr "Keine Zone gefunden, um PTR-Eintrag {p!r} ({a}) einzufügen."
+#: lib/cr_tf/handler/vmware.py:526
+msgid "Validating existence of VMs in VMWare."
+msgstr "Validiere Existenz der VMs in VMWare."
 
-#: lib/cr_tf/handler.py:2116
-msgid "Ensuring existence of directory {!r}."
-msgstr "Sichere Existenz von Verzeichnis {!r} ab."
+#: lib/cr_tf/handler/vmware.py:543
+msgid "[{m}]  - VM is already existing in VSphere {v!r}, path {p!r}."
+msgstr "[{m}]  - die VM existiert bereits in VSphere {v!r}, Pfad {p!r}."
 
-#: lib/cr_tf/handler.py:2120
-msgid "Directory {!r} already exists."
-msgstr "Verzeichnis {!r} exitiert bereits."
+#: lib/cr_tf/handler/vmware.py:551
+msgid "VM info:"
+msgstr "Informationen zur VM:"
 
-#: lib/cr_tf/handler.py:2122
-msgid "Path {!r} exists, but is not a directory."
-msgstr "Der Pfad {!r} existiert, ist aber kein Verzeichnis."
+#: lib/cr_tf/handler/vmware.py:553
+msgid "Datastore of VM {vm!r}: {ds!r}."
+msgstr "Datastore der VM {vm!r}: {ds!r}."
 
-#: lib/cr_tf/handler.py:2125
-msgid "Creating directory {!r} ..."
-msgstr "Erstelle Verzeichnis {!r} …"
+#: lib/cr_tf/handler/vmware.py:573
+msgid "CAUTION!"
+msgstr "ACHTUNG!"
 
-#: lib/cr_tf/handler.py:2127
-msgid "Simulation mode - directory will not be created."
-msgstr "Simulationsmodus - Verzeichnis wird nicht erstellt."
+#: lib/cr_tf/handler/vmware.py:577
+msgid "Did not found any VM to deploy!"
+msgstr "Keine VM zum Deploy gefunden!"
 
-#: lib/cr_tf/handler.py:2132
-msgid "Could not create directory {d!r}: {e}"
-msgstr "Konnte Verzeichnis {d!r} nicht erstellen: {e}"
+#: lib/cr_tf/handler/vmware.py:580
+msgid "No VMs to deploy"
+msgstr "Keine VMs zu deployen"
 
-#: lib/cr_tf/handler.py:2140
-msgid "Directory {!r} does not exists ?!?!"
-msgstr "Das Verzeichnis {!r} existiert nicht ?!?!"
+#: lib/cr_tf/handler/vmware.py:596
+msgid "Used datastore clusters:"
+msgstr "Verwendete Datastore-Cluster:"
 
-#: lib/cr_tf/handler.py:2144
-msgid "No write access to directory {!r}."
-msgstr "Kein Schreibzugriff auf das Verzeichnis {!r}."
+#: lib/cr_tf/handler/vmware.py:598
+msgid "No datastore clusters are used."
+msgstr "Es werden keine Datastore-Cluster verwendet."
 
-#: lib/cr_tf/handler.py:2147
-msgid "Changing into directory {!r}."
-msgstr "Wechsele in das Verzeichnis {!r}."
+#: lib/cr_tf/handler/vmware.py:605
+msgid "Used datastors:"
+msgstr "Verwendete Datastores:"
 
-#: lib/cr_tf/handler.py:2152
-msgid "Script-Dir relative to project dir: {!r}."
-msgstr "Skript-Verzeichnis relativ zum Projektverzeichnis: {!r}."
+#: lib/cr_tf/handler/vmware.py:607
+msgid "No datastores are used."
+msgstr "Es werden keine Datastores verwendet."
 
-#: lib/cr_tf/handler.py:2155
-msgid "Checking {!r} for a previous terraform configuration."
-msgstr "Überprüfe {!r} nach einer früheren Terraform-Konfiguration."
+#: lib/cr_tf/handler/vmware.py:612
+msgid "Validating given datastore clusters of VMs ..."
+msgstr "Validiere gegebene Datastore-Cluster der VMs …"
 
-#: lib/cr_tf/handler.py:2160
-msgid "In {d!r} there exists already {w!r}, but this is not a directory."
-msgstr "In {d!r} existiert bereits {w!r}, aber das ist kein Verzeichnis."
+#: lib/cr_tf/handler/vmware.py:640
+msgid "Found datastore cluster {c!r} in VSphere {v!r} for VM {n!r}."
+msgstr "Fand Datastore-Cluster {c!r} in VSphere {v!r} für die VM {n!r}."
 
-#: lib/cr_tf/handler.py:2166
-msgid "In {d!r} there exists already {w!r}, but this not a file."
-msgstr "In {d!r} existiert bereits {w!r}, aber das ist keine Datei."
+#: lib/cr_tf/handler/vmware.py:644
+msgid "Setting datastore cluster for VM {n!r} to {c!r} ..."
+msgstr "Setze Datastore-Cluster für VM {n!r} auf {c!r} …"
 
-#: lib/cr_tf/handler.py:2171
+#: lib/cr_tf/handler/vmware.py:649
+msgid "Free space of cluster {c!r} in VSphere {v!r} before provisioning: {a:0.1f} GiB."
+msgstr "Freier Platz in Cluster {c!r} in VSphere {v!r} vor der Provisionierung: {a:0.1f} GiB."
+
+#: lib/cr_tf/handler/vmware.py:654
 msgid ""
-"In directory {d!r} there are already existing both {w1!r} and {w2!r}. Is this an old terraform "
-"project?"
+"Datastore cluster {d!r} in VSphere {v!r} has not sufficient space for storage of VM {vm!r} "
+"(needed {n:0.1f} GiB, available {a:0.1f} GiB)."
 msgstr ""
-"In Verzeichnis existieren bereits sowohl {w1!r} als auch {w2!r}. Ist das ein altes Terraform-"
-"Projekt?"
+"Der Datastore-Cluster {d!r} in VSphere {v!r} hat nicht genügend freien Platz für den Storage der"
+" VM {vm!r} (benötigt {n:0.1f} GiB, verfügbar {a:0.1f} GiB)."
 
-#: lib/cr_tf/handler.py:2181
-msgid "Cleaning project directory {!r}."
-msgstr "Räume Projekt-Verzeichnis {!r} auf."
+#: lib/cr_tf/handler/vmware.py:664
+msgid "Free space in cluster {c!r} in VSphere {v!r} after provisioning: {a:0.1f} GiB."
+msgstr "Freier Speicher in Cluster {c!r} in VSphere {v!r} nach der Provisionierung: {a:0.1f} GiB."
 
-#: lib/cr_tf/handler.py:2190
-msgid "Directory {!r} is already clean."
-msgstr "Das Verzeichnis {!r} ist bereits sauber."
+#: lib/cr_tf/handler/vmware.py:676
+msgid "Datastore cluster {c!r} of VM {n!r} not found in VSphere {v!r}."
+msgstr "Der Datastore-Cluster {d!r} wurde nicht in VSphere {v!r} gefunden."
 
-#: lib/cr_tf/handler.py:2195
-msgid "Removing recursive directory {!r} ..."
-msgstr "Lösche rekursiv das Verzeichnis {!r} …"
+#: lib/cr_tf/handler/vmware.py:683
+msgid "Validating given datastores of VMs and assign failing ..."
+msgstr "Validiere die übergebenen Datastores der VMs und weise fehlende zu …"
 
-#: lib/cr_tf/handler.py:2199
-msgid "Removing {!r} ..."
-msgstr "Lösche {!r} …"
+#: lib/cr_tf/handler/vmware.py:689
+msgid "Removing defined datastore {d!r} for VM {n!r} ..."
+msgstr "Entferne definierten Datastore {d!r} für VM {n!r} …"
 
-#: lib/cr_tf/handler.py:2208
-msgid "Creating all necessary files for terraform."
-msgstr "Erstellen aller notwendigen Dateien für Terraform."
+#: lib/cr_tf/handler/vmware.py:714 lib/cr_tf/handler/vmware.py:822
+msgid "Did not found cluster object {c!r} for VM {n!r}."
+msgstr "Cluster-Objekt {c!r} für VM {n!r} nicht gefunden."
 
-#: lib/cr_tf/handler.py:2229 lib/cr_tf/handler.py:2279 lib/cr_tf/handler.py:2340
-#: lib/cr_tf/handler.py:2357 lib/cr_tf/handler.py:2456
-msgid "Creating {!r} ..."
-msgstr "Erstelle {!r} …"
+#: lib/cr_tf/handler/vmware.py:724 lib/cr_tf/handler/vmware.py:759
+msgid "Found datastore {d!r} for VM {n!r} in VSPhere {v!r}."
+msgstr "Fand Datastore {d!r} für VM {n!r} in VSPhere {v!r}."
 
-#: lib/cr_tf/handler.py:2235 lib/cr_tf/handler.py:2359
-msgid "Creating {w} for VSPhere {v!r} ..."
-msgstr "Erstelle {w} für VSPhere {v!r} …"
+#: lib/cr_tf/handler/vmware.py:727
+msgid "Datastore {d!r} not available in cluster {c!r}."
+msgstr "Der Datastore {d!r} ist im Cluster {c!r} nicht verfügbar."
 
-#: lib/cr_tf/handler.py:2481
-msgid "No minimum version of Terraform defined."
-msgstr "Es wurde keine Minimalversion für Terraform definiert."
+#: lib/cr_tf/handler/vmware.py:731
+msgid "Setting datastore for VM {n!r} to {d!r} ..."
+msgstr "Setze Datastore für VM auf {d!r} …"
 
-#: lib/cr_tf/handler.py:2496
-msgid "Creating terraform files for VM instances."
-msgstr "Erstelle Terraform-Dateien für VM-Instanzen."
+#: lib/cr_tf/handler/vmware.py:736
+msgid ""
+"Datastore {d!r} has not sufficient space for storage of VM {v!r} (needed {n:0.1f} GiB, available"
+" {a:0.1f} GiB)."
+msgstr ""
+"Der Datastore {d!r} hat nicht genügend freien Speicher für die VM {v!r} (benötigt {n:0.1f} GiB, "
+"verfügbar {a:0.1f} GiB)."
 
-#: lib/cr_tf/handler.py:2507
-msgid "Creating file {f!r} for VM instance {n!r}."
-msgstr "Erstelle Datei {f!r} für VM-Instanz {n!r}."
+#: lib/cr_tf/handler/vmware.py:747
+msgid "Datastore {d!r} of VM {n!r} not found in VSPhere {v!r}."
+msgstr "Der Datastore {d!r} für VM {n!r} wurde nicht in VSphere {v!r} gefunden."
 
-#: lib/cr_tf/handler.py:2515
-msgid "Using template:"
-msgstr "Verwende Vorlage:"
+#: lib/cr_tf/handler/vmware.py:772
+msgid "Validating interfaces of VMs and assign networks ..."
+msgstr "Validiere Netzwerkschnittstellen der VMs und weise Netzwerke zu …"
 
-#: lib/cr_tf/handler.py:2540
-msgid "Writing {!r}"
-msgstr "Schreibe {!r}"
+#: lib/cr_tf/handler/vmware.py:777
+msgid "Validated FQDNs:"
+msgstr "Validierte FQDNs:"
 
-#: lib/cr_tf/handler.py:2557
-msgid "Generating global definitions of {!r}."
-msgstr "Generiere globale Definitionen von {!r}."
+#: lib/cr_tf/handler/vmware.py:778
+msgid "Validated Addresses:"
+msgstr "Validierte Adressen:"
 
-#: lib/cr_tf/handler.py:2565
-msgid "Cluster {!r} not found - this shouldn't be happened."
-msgstr "Der Cluster {!r} wurde nicht gefunden - das sollte nicht passieren."
+#: lib/cr_tf/handler/vmware.py:788
+msgid "Used networks:"
+msgstr "Verwendete Netzwerke:"
 
-#: lib/cr_tf/handler.py:2620
-msgid "Generating interface definition {i} of {v!r}."
-msgstr "Generiere Schnittstellen-Definition {i} von {v!r}."
+#: lib/cr_tf/handler/vmware.py:794
+msgid "Used forward DNS entries:"
+msgstr "Verwendete Vorwärts-DNS-Einträge:"
 
-#: lib/cr_tf/handler.py:2641
-msgid "Generating disk definition {i} of {v!r}."
-msgstr "Generiere Disk-Definition {i} von {v!r}."
+#: lib/cr_tf/handler/vmware.py:800
+msgid "Used reverse DNS entries:"
+msgstr "Verwendete Rückwärts-DNS-Einträge:"
 
-#: lib/cr_tf/handler.py:2661
-msgid "Generating customization of {v!r}."
-msgstr "Generiere Anpassungen von {v!r}."
+#: lib/cr_tf/handler/vmware.py:806
+msgid "Checking interfaces of VM {n!r} in VSPhere {v!r} ..."
+msgstr "Überprüfe Netzwerkschnittstellen der VM {n!r} in VSPhere {v!r} …"
 
-#: lib/cr_tf/handler.py:2703
-msgid "Generating file provisioner for {f!r} of {v!r}."
-msgstr "Generiere Datei-Provisionierer für {f!r} von {v!r}."
+#: lib/cr_tf/handler/vmware.py:810
+msgid "No interfaces defined for VM {!r}."
+msgstr "Keine Netzwerkschnittstellen für VM {!r} definiert."
 
-#: lib/cr_tf/handler.py:2912
-msgid "Ensuring existence of all necessary vSphere VM folders."
-msgstr "Gewährleiste Existenz aller notwendigen vSphere-VM-Ordner."
+#: lib/cr_tf/handler/vmware.py:838
+msgid "Checking interface {i} of VM {n!r} ..."
+msgstr "Überprüfe Netzwerkschnittstelle {i} der VM {n!r} …"
 
-#: lib/cr_tf/handler.py:2936
-msgid "Importing existing virtual machines ..."
-msgstr "Importiere Existierende virtuelle Maschinen …"
+#: lib/cr_tf/handler/vmware.py:842
+msgid "Interface {i} of VM {n!r} has no defined address."
+msgstr "Für die Netzwerkschnittstelle {i} der VM {n!r} wurde keine Adresse definiert."
 
-#: lib/cr_tf/handler.py:2942
-msgid "Importing VM {!r}."
-msgstr "Importiere VM {!r}."
+#: lib/cr_tf/handler/vmware.py:848
+msgid "Interface {i} of VM {n!r} has no defined FQDN."
+msgstr "Für die Netzwerkschnittstelle {i} der VM {n!r} wurde kein FQDN definiert."
 
-#: lib/cr_tf/handler.py:2959
-msgid "Error on importing VM {!r}:"
-msgstr "Fehler beim Importieren der VM {!r}:"
+#: lib/cr_tf/handler/vmware.py:854
+msgid "FQDN {f!r} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+msgstr ""
+"Der FQDN {f!r}, der bereits für die VM {va!r}({ia}) definiert wurde, soll für "
+"Netzwerkschnittstelle {ib} von {vb!r} gesetzt werden."
 
-#: lib/cr_tf/handler.py:2981
-msgid "Congratulations!"
-msgstr "Herzlichen Glückwünschen!"
+#: lib/cr_tf/handler/vmware.py:866
+msgid "IPv4 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+msgstr ""
+"Die IPv4-Adfresse {a}, die bereits für die VM {va!r}({ia}) definiert wurde, soll für "
+"Netzwerkschnittstelle {ib} von {vb!r} gesetzt werden."
 
-#: lib/cr_tf/handler.py:2983
-msgid "Now you are ready to deploy the following virtual machines:"
-msgstr "Du bist jetzt bereit, die folgenden virtuelle Maschinen zu deployen:"
+#: lib/cr_tf/handler/vmware.py:881
+msgid "IPv6 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+msgstr ""
+"Die IPv6-Adfresse {a}, die bereits für die VM {va!r}({ia}) definiert wurde, soll für "
+"Netzwerkschnittstelle {ib} von {vb!r} gesetzt werden."
 
-#: lib/cr_tf/handler.py:2987
-msgid "To start the deployment process change to directory {}"
-msgstr "Um mit dem Deployment-Prozess zu beginnen, wechsle in das Verzeichnis {}"
+#: lib/cr_tf/handler/vmware.py:897
+msgid "Could not find network {n!r} for VM {v!r}, interface {i}."
+msgstr "Konnte Netzwerk {n!r} für die VM {v!r}, Schnittstelle {i}, nicht finden."
 
-#: lib/cr_tf/handler.py:2990
-msgid "and enter: {}"
-msgstr "und gib ein: {}"
+#: lib/cr_tf/handler/vmware.py:909
+msgid "Found network {n!r} for interface {i} of VM {v!r}."
+msgstr "Netzwerk {n!r} für Schnittstelle {i} der VM {v!r} gefunden."
+
+#: lib/cr_tf/handler/vmware.py:913
+msgid "Network {n!r} for interface {i} of VM {v!r} not available in cluster {c!r}."
+msgstr "Das Netzwerk {n!r} für die Schnittstelle {i} der VM {v!r} ist in Cluster {c!r} nicht verfügbar."
+
+#: lib/cr_tf/handler/vmware.py:918
+msgid "Network {n!r} is available in cluster {c!r}."
+msgstr "Das Netzwerk {n!r} ist in Cluster {c!r} verfügbar."
+
+#: lib/cr_tf/handler/vmware.py:923
+msgid "Setting gateway of interface {i} of VM {v!r} to {g}."
+msgstr "Setze Gateway von Schnittstelle {i} der VM {v!r} auf {g}."
 
-#: lib/cr_tf/terraform/disk.py:46 lib/cr_tf/terraform/disk.py:183
+#: lib/cr_tf/handler/vmware.py:949
+msgid "Ensuring existence of all necessary vSphere VM folders."
+msgstr "Gewährleiste Existenz aller notwendigen vSphere-VM-Ordner."
+
+#: lib/cr_tf/terraform/disk.py:55 lib/cr_tf/terraform/disk.py:235
 msgid "Object {o!r} is not a {e} object."
 msgstr "Das Objekt {o!r} ist kein {e}-Objekt."
 
-#: lib/cr_tf/terraform/disk.py:93
+#: lib/cr_tf/terraform/disk.py:91
+msgid "The name of a disk don't may be None."
+msgstr "Der Name einer Disk darf nicht None sein."
+
+# | msgid "The name of a template VM may not be empty."
+#: lib/cr_tf/terraform/disk.py:95
+msgid "The name of a disk don't may be empty."
+msgstr "Der Name einer Disk darf nicht leer sein."
+
+#: lib/cr_tf/terraform/disk.py:124
 msgid "Invalid disk size {n} - size must be {min} <= SIZE <= {max}."
 msgstr "Ungültige Disk-Größe {n} - die Größe muss {min} <= GRÖẞE <= {max} betragen."
 
-#: lib/cr_tf/terraform/disk.py:127
+#: lib/cr_tf/terraform/disk.py:177
 msgid "A root disk must have always the unit number 0 (given {!r})."
 msgstr "Eine Root-Disk muss immer die Unit-Nummer 0 haben (gegeben {!r})."
 
-#: lib/cr_tf/terraform/disk.py:131
+#: lib/cr_tf/terraform/disk.py:181
 msgid "Invalid unit number {n} - number must be {min} <= NUMBER <= {max}."
 msgstr "Ungültige Unit-Nummer {n} - die Nummer muss {min} <= NUMMER <= {max} sein."
 
-#: lib/cr_tf/terraform/disk.py:142
+#: lib/cr_tf/terraform/disk.py:192
 msgid "Copying Terraform disk object with unit ID {}."
 msgstr "Kopiere Terraform-Disk-Objekt mit der Unit-ID {}."
 
-#: lib/cr_tf/terraform/disk.py:178
+#: lib/cr_tf/terraform/disk.py:230
 msgid "Invalid disk type {{!r}} to set, only {} allowed."
 msgstr "Ungültiger Typ {{!r}} des Eintrags beim Setzen, nur {} ist erlaubt."
 
-#: lib/cr_tf/terraform/disk.py:180
-msgid "The key {k!r} must be equal to the unit_number of the disk {u}."
-msgstr "Der Schlüssel {k!r} muss gleich der unit_number der Disk {u} sein."
+#: lib/cr_tf/terraform/disk.py:232
+msgid "The key {k!r} must be equal to the name of the disk {n!r}."
+msgstr "Der Schlüssel {k!r} muss gleich dem Namen der Disk {n!r} sein."
 
-#: lib/cr_tf/terraform/disk.py:181
+#: lib/cr_tf/terraform/disk.py:233
 msgid "None type as key is not allowed."
 msgstr "Ein None-Typ ist als Schlüssel nicht erlaubt."
 
-#: lib/cr_tf/terraform/disk.py:182
+#: lib/cr_tf/terraform/disk.py:234
 msgid "Empty key {!r} is not allowed."
 msgstr "Ein leerer Schlüssel {!r} ist nicht erlaubt."
 
-#: lib/cr_tf/terraform/disk.py:410
+#: lib/cr_tf/terraform/disk.py:466
 msgid "Copying Terraform disk dictionary ..."
 msgstr "Kopiere Terraform-Disk-Dictionary …"
 
@@ -1433,7 +1453,7 @@ msgstr "Die IP-Adresse {!r} ist keine IPv4-Adresse."
 msgid "IP address {!r} is not an IPv6 address."
 msgstr "Die IP-Adresse {!r} ist keine IPv6-Adresse."
 
-#: lib/cr_tf/terraform/interface.py:198 lib/cr_tf/terraform/vm.py:728
+#: lib/cr_tf/terraform/interface.py:198 lib/cr_tf/terraform/vm.py:804
 msgid "The hostname {!r} is no a valid FQDN."
 msgstr "Der Hostname {!r} ist kein gültiger FQDN."
 
@@ -1461,7 +1481,7 @@ msgstr "Versuche eine Terraform-Netzwerkschnittstelle von den folgenden daten au
 msgid "Interface definition is not a dictionary:"
 msgstr "Die Terraform-Netzwerkschnittstellen-Definition ist kein Dictionary:"
 
-#: lib/cr_tf/terraform/interface.py:379 lib/cr_tf/terraform/vm.py:299
+#: lib/cr_tf/terraform/interface.py:379 lib/cr_tf/terraform/vm.py:311
 msgid "Evaluating key {k!r}: {v}"
 msgstr "Erforsche Schlüssel {k!r}: {v}"
 
@@ -1469,294 +1489,358 @@ msgstr "Erforsche Schlüssel {k!r}: {v}"
 msgid "Copying Terraform interface object with address {}."
 msgstr "Kopiere Terraform-Netzwerkschnittstellen-Objekt mit der Adresse {}."
 
-#: lib/cr_tf/terraform/vm.py:233
+#: lib/cr_tf/terraform/vm.py:241
 msgid "A VM template definition may not have a FQDN (found: {!r})."
 msgstr "Eine VM-Vorkagendefinition darf keinen FQDN enthalten (gefunden: {!r})."
 
-#: lib/cr_tf/terraform/vm.py:237
+#: lib/cr_tf/terraform/vm.py:245
 msgid "A VM template definition must have a name."
 msgstr "Eine VM-Vorkagendefinition muss einen Namen haben."
 
-#: lib/cr_tf/terraform/vm.py:241
+#: lib/cr_tf/terraform/vm.py:249
 msgid "A VM definition (no template) must have a FQDN."
 msgstr "Eine VM-Definition (keine Vorlage) muss einen FQDN enthalten."
 
-#: lib/cr_tf/terraform/vm.py:256
+#: lib/cr_tf/terraform/vm.py:264
 msgid "Trying to instantiate VM from data:"
 msgstr "Versuche eine VM von folgenden Daten zu instanzieren:"
 
-#: lib/cr_tf/terraform/vm.py:264
+#: lib/cr_tf/terraform/vm.py:272
 msgid "Given parameter {!r} is not a TerraformVm object."
 msgstr "Der übergebene Parameter ist kein TerraformVm-Objekt."
 
-#: lib/cr_tf/terraform/vm.py:334
+#: lib/cr_tf/terraform/vm.py:346
 msgid "Could not evaluate nameservers from {!r}."
 msgstr "Konnte Nameserver nichtaus {!r} ermitteln."
 
-#: lib/cr_tf/terraform/vm.py:345
+#: lib/cr_tf/terraform/vm.py:357
 msgid "Could not evaluate search domains from {!r}."
 msgstr "Konnte Suchdomänen nicht aus {!r} ermitteln."
 
-#: lib/cr_tf/terraform/vm.py:361
+#: lib/cr_tf/terraform/vm.py:373
 msgid "Template definitions may not have interface definitions."
 msgstr "Eine Vorlagen-Definition darf keine Netzwerkschnittstellen-Definition enthalten."
 
-#: lib/cr_tf/terraform/vm.py:369
+#: lib/cr_tf/terraform/vm.py:381
 msgid "Could not evaluate interfaces from {!r}."
 msgstr "Konnte Netzwerkschnittstellen nicht aus {!r} ermitteln."
 
-#: lib/cr_tf/terraform/vm.py:372
+#: lib/cr_tf/terraform/vm.py:384
 msgid "Unknown VM definition key {k!r} with value: {v!r}."
 msgstr "Unbekannter VM-Definitions-Schlüssel {k!r} mit dem Wert {v!r} gefunden."
 
-#: lib/cr_tf/terraform/vm.py:385
+#: lib/cr_tf/terraform/vm.py:397
 msgid "Applying vSphere {!r} to VM."
 msgstr "Weise vSphere {!r} der VM zu."
 
-#: lib/cr_tf/terraform/vm.py:437
+#: lib/cr_tf/terraform/vm.py:455
 msgid "Could not evaluate size of root disk, {!r} is not a dictionary."
 msgstr "Konnte die Größer der Root-Disk nicht ermitteln, {!r} ist kein Dictionary."
 
-#: lib/cr_tf/terraform/vm.py:449
+#: lib/cr_tf/terraform/vm.py:468
 msgid "Could not evaluate data disk from {!r}."
 msgstr "Konnte Daten-Disk nicht aus {!r} ermitteln."
 
-#: lib/cr_tf/terraform/vm.py:462
+#: lib/cr_tf/terraform/vm.py:492
 msgid "Data disks for VM {!r} were set to None."
 msgstr "Die Datendisks für die VM {!r} wurden auf None gesetzt."
 
-#: lib/cr_tf/terraform/vm.py:464
+#: lib/cr_tf/terraform/vm.py:494
 msgid "Could not evaluate data disks from {!r}."
 msgstr "Konnte Daten-Disks nicht aus {!r} ermitteln."
 
-#: lib/cr_tf/terraform/vm.py:485
+#: lib/cr_tf/terraform/vm.py:515
 msgid "Key {k!r} has no string value, but a {c!r} instead."
 msgstr "Der Schlüssel {k!r} hat keinen Zeichenkettenwert, sondern statt dessen einen {c!r}."
 
-#: lib/cr_tf/terraform/vm.py:493
+#: lib/cr_tf/terraform/vm.py:526
 msgid "Invalid contact name {!r}."
 msgstr "Ungültiger Kontakt-Name {!r}."
 
-#: lib/cr_tf/terraform/vm.py:500 lib/cr_tf/terraform/vm.py:555
+#: lib/cr_tf/terraform/vm.py:533 lib/cr_tf/terraform/vm.py:595
 msgid "Invalid puppet customer name {!r}."
 msgstr "Ungültiger Puppet Kundenname {!r}."
 
-#: lib/cr_tf/terraform/vm.py:507 lib/cr_tf/terraform/vm.py:562
+#: lib/cr_tf/terraform/vm.py:540 lib/cr_tf/terraform/vm.py:602
 msgid "Invalid puppet customer project name {!r}."
 msgstr "Ungültiger Projektname eines Puppet-Customers {!r}."
 
-#: lib/cr_tf/terraform/vm.py:514 lib/cr_tf/terraform/vm.py:569
+#: lib/cr_tf/terraform/vm.py:547 lib/cr_tf/terraform/vm.py:609
 msgid "Invalid puppet role {!r}."
 msgstr "Ungültige Puppet-Rolle {!r}."
 
-#: lib/cr_tf/terraform/vm.py:521 lib/cr_tf/terraform/vm.py:576
+#: lib/cr_tf/terraform/vm.py:558 lib/cr_tf/terraform/vm.py:620
 msgid "Invalid puppet tier {!r}."
 msgstr "Ungülte Stufe (tier) {!r} in Puppet."
 
-#: lib/cr_tf/terraform/vm.py:528 lib/cr_tf/terraform/vm.py:584
+#: lib/cr_tf/terraform/vm.py:565 lib/cr_tf/terraform/vm.py:628
 msgid "Setting Puppet environment to {!r}."
 msgstr "Setze Puppet Umgebung auf {!r}."
 
-#: lib/cr_tf/terraform/vm.py:530 lib/cr_tf/terraform/vm.py:587
+#: lib/cr_tf/terraform/vm.py:567 lib/cr_tf/terraform/vm.py:631
 msgid "Invalid puppet environment {!r}."
 msgstr "Ungültige Puppet-Umgebung {!r}."
 
-#: lib/cr_tf/terraform/vm.py:543
+#: lib/cr_tf/terraform/vm.py:583
 msgid "Evaluating sub key of {d!r}: {k!r} => {v!r}"
 msgstr "Erforsche Unterschlüssel von {d!r}: {k!r} => {v!r}"
 
-#: lib/cr_tf/terraform/vm.py:548
+#: lib/cr_tf/terraform/vm.py:588
 msgid "Invalid puppet contact name {!r}."
 msgstr "Ungültiger Puppet-Kontakt-Name {!r}."
 
-#: lib/cr_tf/terraform/vm.py:599
+#: lib/cr_tf/terraform/vm.py:643
 msgid "Template"
 msgstr "Vorlage"
 
-#: lib/cr_tf/terraform/vm.py:604
+#: lib/cr_tf/terraform/vm.py:648
 msgid "Copying Terraform VM object {!r} ..."
 msgstr "Kopiere Terraform-VM-Ojekt {!r} …"
 
-#: lib/cr_tf/terraform/vm.py:636 lib/cr_tf/terraform/vm.py:663
+#: lib/cr_tf/terraform/vm.py:680 lib/cr_tf/terraform/vm.py:707
 msgid "Parameter {p} {ns!r} is not iterable."
 msgstr "Der Parameter {p} {ns!r} ist nicht iterierbar."
 
-#: lib/cr_tf/terraform/vm.py:645
+#: lib/cr_tf/terraform/vm.py:689
 msgid "There are at most {mx} nameservers accepted, {addr} will not be considered."
 msgstr "Es werden höchstens {mx} Nameserver akzeptiert, {addr} wird nicht berücksichtigt."
 
-#: lib/cr_tf/terraform/vm.py:653
+#: lib/cr_tf/terraform/vm.py:697
 msgid "Invalid nameserver address {v!r}: {e}"
 msgstr "Ungültige Nameserver-Adresse {v!r}: {e}"
 
-#: lib/cr_tf/terraform/vm.py:670
+#: lib/cr_tf/terraform/vm.py:714
 msgid "There are at most {mx} search domains accepted, {srv} will not be considered."
 msgstr "Es werden höchstens {mx} Suchdomänen akzeptiert, {srv} wird nicht berücksichtigt."
 
-#: lib/cr_tf/terraform/vm.py:732
+#: lib/cr_tf/terraform/vm.py:730
+msgid "The VM {!r} was no VMware template assigned, assuming the VM should become a RHEL instance."
+msgstr ""
+"Der VM wurde keine VMware-Vorlage zugewiesen, esrd davoon ausgegangen, dass die VM eine RHEL-"
+"Instanz werden soll."
+
+#: lib/cr_tf/terraform/vm.py:740
+msgid "Guessing the VM {fqdn!r} should become a RHEL instance: {ret!r}"
+msgstr "Es wird davon ausgegangen, dass die VM {fqdn!r} eine RHEL-Instanz werden soll: {ret!r}"
+
+#: lib/cr_tf/terraform/vm.py:808
 msgid "The hostname {!r} may not end with a dot '.'."
 msgstr "Der Hostname {!r} darf nicht mit einem Punkt '.' enden."
 
-#: lib/cr_tf/terraform/vm.py:751
+#: lib/cr_tf/terraform/vm.py:827
 msgid "The name of a template VM may not be None."
 msgstr "Der Name einer Vorlagen-VM darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:759
+#: lib/cr_tf/terraform/vm.py:835
 msgid "The name of a template VM may not be empty."
 msgstr "Der Name einer Vorlagen-VM darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:774
+#: lib/cr_tf/terraform/vm.py:850
 msgid "The name of the VSPhere may not be None."
 msgstr "Der VSPhere-Name darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:779
+#: lib/cr_tf/terraform/vm.py:855
 msgid "The name of the VSPhere may not be empty."
 msgstr "Der VSPhere-Name darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:818
+#: lib/cr_tf/terraform/vm.py:894
 msgid "Invalid number of CPUs {n} - number must be {min} <= NUMBER <= {max}."
 msgstr "Ungültige Anzahl der CPUs {n} - die Anzahl muss zwischen {min} <= ANZAHL <= {max} sein."
 
-#: lib/cr_tf/terraform/vm.py:835
+#: lib/cr_tf/terraform/vm.py:911
 msgid "Trying to detect memory from value {!r}."
 msgstr "Versuche den Haupspeicher aus dem Wert {!r} zu ermitteln."
 
-#: lib/cr_tf/terraform/vm.py:839
+#: lib/cr_tf/terraform/vm.py:915
 msgid "Invalid memory {!r}."
 msgstr "Ungültige Hauptspeicherangabe {!r}."
 
-#: lib/cr_tf/terraform/vm.py:849
+#: lib/cr_tf/terraform/vm.py:925
 msgid "Invalid memory {m} - memory must be {min} <= MiBytes <= {max}."
 msgstr ""
 "Ungültige Hauptspeicherangabe {m} - der Haupspeicher muss zwischen {min} <= MiBytes <= {max} "
 "sein."
 
-#: lib/cr_tf/terraform/vm.py:854
+#: lib/cr_tf/terraform/vm.py:930
 msgid "Invalid memory {m}, must be a multipe of {c}."
 msgstr "Ungültige Hauptspeicherangabe {m} - er muss ein Vielfaches von {c} sein."
 
-#: lib/cr_tf/terraform/vm.py:868
+#: lib/cr_tf/terraform/vm.py:944
 msgid "The name of the computing cluster of the VM may not be None."
 msgstr "Der Name des Rechenclusters der VM darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:873
+#: lib/cr_tf/terraform/vm.py:949
 msgid "The name of the computing cluster of the VM may not be empty."
 msgstr "Der Name des Rechenclusters der VM darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:887
+#: lib/cr_tf/terraform/vm.py:963
 msgid "A folder name may not be None."
 msgstr "Ein Ordnername darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:892
+#: lib/cr_tf/terraform/vm.py:968
 msgid "A folder name may not be empty."
 msgstr "Ein Ordnername darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:906
+#: lib/cr_tf/terraform/vm.py:982
 msgid "Invalid boot delay {b:0.1} - delay must be {min} <= NUMBER <= {max}."
 msgstr ""
 "Ungültige Bootverzögerung {b:0.1} - die Verzögerung muss zwischen {min} <= SEKUNDEN <= {max} "
 "sein."
 
-#: lib/cr_tf/terraform/vm.py:963
+#: lib/cr_tf/terraform/vm.py:1039
 msgid "Datastore type {t!r} not allowed, valid datastore types are: {li}"
 msgstr "Der Datastore-Typ {t!r} ist nicht erlaubt - gültige Datastore-Typen sind: {li}"
 
-#: lib/cr_tf/terraform/vm.py:977
+#: lib/cr_tf/terraform/vm.py:1053
 msgid "A customer name may not be None."
 msgstr "Ein Kundenname darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:982
+#: lib/cr_tf/terraform/vm.py:1058
 msgid "A customer name may not be empty."
 msgstr "Ein Kundenname darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1001
+#: lib/cr_tf/terraform/vm.py:1077
 msgid "A purpose may not be None."
 msgstr "Eine Bestimmung darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:1006
+#: lib/cr_tf/terraform/vm.py:1082
 msgid "A purpose may not be empty."
 msgstr "Eine Bestimmung darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1019
+#: lib/cr_tf/terraform/vm.py:1095
 msgid "A template VM name may not be None."
 msgstr "Der Name der Vorlagen-VM darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:1024
+#: lib/cr_tf/terraform/vm.py:1100
 msgid "A template VM name may not be empty."
 msgstr "Der Name der Vorlagen-VM darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1037
+#: lib/cr_tf/terraform/vm.py:1113
 msgid "A puppet contact name may not be None."
 msgstr "Ein Kontaktname für Puppet darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:1042
+#: lib/cr_tf/terraform/vm.py:1118
 msgid "A puppet contact name may not be empty."
 msgstr "Ein Kontaktname für Puppet darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1055
+#: lib/cr_tf/terraform/vm.py:1131
 msgid "A puppet hiera customer name may not be None."
 msgstr "Ein Kundenname für Puppet-Hiera darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:1060
+#: lib/cr_tf/terraform/vm.py:1136
 msgid "A puppet hiera customer name may not be empty."
 msgstr "Ein Kundenname für Puppet-Hiera darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1063
+#: lib/cr_tf/terraform/vm.py:1139
 msgid "A puppet hiera customer name may not contain a slash (/) character."
 msgstr "Ein Kundenname für Puppet-Hiera darf keinen Schrägstrich '/' enthalten."
 
-#: lib/cr_tf/terraform/vm.py:1076
+#: lib/cr_tf/terraform/vm.py:1152
 msgid "A puppet hiera project name should not be None."
 msgstr "Ein Puppet Hiera Projekt darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:1082
+#: lib/cr_tf/terraform/vm.py:1158
 msgid "A puppet hiera customer project may not be empty."
 msgstr "Ein Puppet Hiera Projekt-Name darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1085
+#: lib/cr_tf/terraform/vm.py:1161
 msgid "A puppet hiera customer project may not contain a slash (/) character."
 msgstr "Ein Puppet Hiera Projekt-Name darf keinen Schrägstrich (/) enthalten."
 
-#: lib/cr_tf/terraform/vm.py:1118
+#: lib/cr_tf/terraform/vm.py:1194
 msgid "A puppet role may not be None."
 msgstr "Eine Puppet-Rolle darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:1123
+#: lib/cr_tf/terraform/vm.py:1199
 msgid "A puppet role may not be empty."
 msgstr "Eine Puppet-Rolle darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1136
+#: lib/cr_tf/terraform/vm.py:1212
 msgid "A puppet tier name may not be None."
 msgstr "Eine Name der Puppet-Stufe (tier) darf nicht None sein."
 
-#: lib/cr_tf/terraform/vm.py:1141
+#: lib/cr_tf/terraform/vm.py:1217
 msgid "A puppet tier name may not be empty."
 msgstr "Eine Name der Puppet-Stufe (tier) darf nicht leer sein."
 
-#: lib/cr_tf/terraform/vm.py:1145
+#: lib/cr_tf/terraform/vm.py:1221
 msgid "A puppet tier should be one of {li} (given: {v!r})."
 msgstr "Der Name einer Puppet-Stufe (tier) sollte einer von {li} sein (gegeben: {v!r})."
 
-#: lib/cr_tf/terraform/vm.py:1171
+#: lib/cr_tf/terraform/vm.py:1247
 msgid "A puppet environment should be one of {li} (given: {v!r})."
 msgstr "Eine Puppet-Umgebung muss eine von {li} sein (gegeben: {v!r})."
 
-#: lib/cr_tf/terraform/vm.py:1195
+#: lib/cr_tf/terraform/vm.py:1271
 msgid "Invalid root disk size {n} - size must be {min} <= SIZE <= {max}."
 msgstr "Ungültige Größe der Root-Disk {n} - die Größe muss zwischen {min} <= GRÖẞE <= {max} sein."
 
-#: lib/cr_tf/terraform/vm.py:1269
+#: lib/cr_tf/terraform/vm.py:1360
 msgid "Resetting root disk."
 msgstr "Setze Angaben zur Root-Disk zurück."
 
-#: lib/cr_tf/terraform/vm.py:1296
+#: lib/cr_tf/terraform/vm.py:1393
 msgid "Using parameters for init data disk:"
 msgstr "Verwendete Parameter zur Initialisierung der Daten-Disk:"
 
-#: lib/cr_tf/terraform/vm.py:1304
+#: lib/cr_tf/terraform/vm.py:1402
 msgid "Got data disk:"
 msgstr "Erhaltene Daten-Disk:"
 
+#: lib/cr_tf/vs_config.py:149
+msgid "a port may not be less than 1: {}."
+msgstr "eine Portnummer darf nicht kleiner als 1 sein: {}."
+
+#: lib/cr_tf/vs_config.py:153
+msgid "a port may not be greater than {m}: {v}."
+msgstr "eine Portnummer darf nicht größer als {m} sein: {v}."
+
+#: lib/cr_tf/vs_config.py:157
+msgid "Wrong port number {v!r}: {e}"
+msgstr "Ungültige Portnummer {v!r}: {e}"
+
+#: lib/cr_tf/vs_config.py:262
+msgid "may not be less than 10: {:0.1f}."
+msgstr "darf nicht kleiner als 10 sein: {:0.1f}."
+
+#: lib/cr_tf/vs_config.py:266
+msgid "may not be greater than {m}: {v:0.1f}."
+msgstr "darf nicht größer als {m} sein: {v:0.1f}."
+
+#: lib/cr_tf/vs_config.py:270
+msgid "Wrong minimum root size in GiB {v!r}: {e}"
+msgstr "Ungültige Minimalgröße des root-Volumes in GiB {v!r}: {e}"
+
+#: lib/cr_tf/vs_config.py:342
+msgid "Comparing {} objects ..."
+msgstr "Vergleiche {}-Onjekte …"
+
+#: lib/cr_tf/vs_config.py:375
+msgid "unknown"
+msgstr "unbekannt"
+
+#: lib/cr_tf/vs_config.py:379
+msgid "Checking validity of {o}-object {n!r} ..."
+msgstr "Teste Gültigkeit des {o}-Objektes {n!r} …"
+
+#: lib/cr_tf/vs_config.py:390
+msgid "Attribute {a!r} of the {o}-object {n!r} is not set."
+msgstr "Das Attribut {a!r} des {o}-Objektes {n!r} ist nicht gesetzt."
+
+#: lib/cr_tf/vs_config.py:399
+msgid "Found an error in VSPhere configuration"
+msgid_plural "Found {} errors in VSPhere configuration"
+msgstr[0] "Fand einen Fehler in der VSPhere-Konfiguration"
+msgstr[1] "Fand {} Fehler in der VSPhere-Konfiguration"
+
+#: lib/cr_tf/vs_config.py:409
+msgid ""
+"Attribute {a!r} of the {o}-object {n!r} is not set, it will be requestet during this script and "
+"on starting terraform."
+msgstr ""
+"Das Attribut {a!r} des {o}-Objektes {n!r} wurde nicht gesetzt, es wird während der Ausführung "
+"dieses Skripts und beim Start von terraform abgefragt."
+
 #: lib/cr_tf/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr "Modul-Verzeichnis: {!r}"
index 699da90cb8b6d77e1c7f0dbb22ad8cc65d8c8644..e084a13dc326a24ac51393db32b80a82f66e147f 100644 (file)
 # English (United States) translations for create_terraform.
-# Copyright (C) 2021 Frank Brehm, Pixelpark GmbH, Berlin
+# Copyright (C) 2023 Frank Brehm, Pixelpark GmbH, Berlin
 # This file is distributed under the same license as the create_terraform project.
-# Frank Brehm <frank.brehm@pixelpark.com>, 2021.
+# Frank Brehm <frank.brehm@pixelpark.com>, 2023.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: create_terraform 1.5.4\n"
+"Project-Id-Version: create_terraform 1.7.2\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2021-09-10 13:21+0200\n"
+"POT-Creation-Date: 2023-11-10 16:48+0100\n"
 "PO-Revision-Date: 2019-11-06 16:25+0100\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: en_US\n"
 "Language-Team: Frank Brehm <frank.brehm@pixelpark.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.1\n"
+"Generated-By: Babel 2.13.1\n"
 
-#: lib/cr_tf/app.py:86 lib/cr_tf/app.py:112
+#: lib/cr_tf/app.py:81 lib/cr_tf/app.py:107
 msgid "File {!r} does not exists."
 msgstr ""
 
-#: lib/cr_tf/app.py:89 lib/cr_tf/app.py:115
+#: lib/cr_tf/app.py:84 lib/cr_tf/app.py:110
 msgid "File {!r} is not a regular file."
 msgstr ""
 
-#: lib/cr_tf/app.py:141
+#: lib/cr_tf/app.py:136
 msgid "The following steps to interrupt the execution after are available:"
 msgstr ""
 
-#: lib/cr_tf/app.py:144
+#: lib/cr_tf/app.py:139
 msgid "<no description>"
 msgstr ""
 
-#: lib/cr_tf/app.py:179
+#: lib/cr_tf/app.py:176
 msgid "Creates or updates a directory with a terraform environment on base of a given YAML file."
 msgstr ""
 
-#: lib/cr_tf/app.py:210
+#: lib/cr_tf/app.py:207
 msgid "Searching for config file {!r} ..."
 msgstr "Searching for networks in VSPhere {!r} …"
 
-#: lib/cr_tf/app.py:254
+#: lib/cr_tf/app.py:233
 msgid ""
 "Config file {f!r} not found, using defaults.\n"
 "To avoid this message, you may copy {d!r} to {c1!r}, {c2!r} or {c3!r} and fill out all necessary"
 " entries, e.g. the passwords and API keys."
 msgstr ""
 
-#: lib/cr_tf/app.py:271
+#: lib/cr_tf/app.py:247
 msgid "Error in configuration:"
 msgstr ""
 
-#: lib/cr_tf/app.py:274
+#: lib/cr_tf/app.py:250
 msgid "Read configuration:"
 msgstr ""
 
-#: lib/cr_tf/app.py:284
+#: lib/cr_tf/app.py:291
 msgid "Removing allowed puppet environments ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:288
+#: lib/cr_tf/app.py:295
 msgid "Removing puppet environment {!r} ..."
 msgstr "Removing recursive directory {!r} …"
 
-#: lib/cr_tf/app.py:292
+#: lib/cr_tf/app.py:299
 msgid "Adding allowed puppet environments ..."
 msgstr ""
 
-#: lib/cr_tf/app.py:296
+#: lib/cr_tf/app.py:303
 msgid "Adding puppet environment {!r} ..."
 msgstr "Reading YAML file {!r} …"
 
-#: lib/cr_tf/app.py:301
+#: lib/cr_tf/app.py:308
 msgid "Allowed puppet environments:"
 msgstr ""
 
-#: lib/cr_tf/app.py:313
+#: lib/cr_tf/app.py:320
 msgid "PowerDNS API key for {!r}"
 msgstr ""
 
-#: lib/cr_tf/app.py:316
+#: lib/cr_tf/app.py:323
 msgid "PowerDNS API key"
 msgstr ""
 
-#: lib/cr_tf/app.py:396
+#: lib/cr_tf/app.py:403
 msgid "STEP"
 msgstr ""
 
-#: lib/cr_tf/app.py:398
+#: lib/cr_tf/app.py:405
 msgid ""
 "Name of the step, where to interrupt the execution of this script. Use {!r} to show a list of "
 "all avaliable steps."
 msgstr ""
 
-#: lib/cr_tf/app.py:404
+#: lib/cr_tf/app.py:411
 msgid "FILE"
 msgstr ""
 
-#: lib/cr_tf/app.py:406
+#: lib/cr_tf/app.py:413
 msgid "Configuration file (default: {!r})"
 msgstr ""
 
-#: lib/cr_tf/app.py:410
+#: lib/cr_tf/app.py:417
 msgid "PowerDNS options"
 msgstr ""
 
-#: lib/cr_tf/app.py:413
+#: lib/cr_tf/app.py:421
+msgid ""
+"Don't execute any PowerDNS checks or actions. In this case it's on yours to ensure existence of "
+"all necessary IP addresses."
+msgstr ""
+
+#: lib/cr_tf/app.py:427
 msgid "HOST"
 msgstr ""
 
-#: lib/cr_tf/app.py:414
+#: lib/cr_tf/app.py:428
 msgid "The hostname or address of the PowerDNS master server (Default: {!r})."
 msgstr ""
 
-#: lib/cr_tf/app.py:420
+#: lib/cr_tf/app.py:434
 msgid "PORT"
 msgstr ""
 
-#: lib/cr_tf/app.py:421
+#: lib/cr_tf/app.py:435
 msgid "The port number of the PowerDNS API (Default: {})."
 msgstr ""
 
-#: lib/cr_tf/app.py:426
+#: lib/cr_tf/app.py:440
 msgid "KEY"
 msgstr ""
 
-#: lib/cr_tf/app.py:427
+#: lib/cr_tf/app.py:441
 msgid "The key accessing to the PDNS API."
 msgstr ""
 
-#: lib/cr_tf/app.py:432
+#: lib/cr_tf/app.py:446
 msgid "Should PDNS API requests executed per HTTPS?"
 msgstr ""
 
-#: lib/cr_tf/app.py:436
+#: lib/cr_tf/app.py:450
 msgid "PATH"
 msgstr ""
 
-#: lib/cr_tf/app.py:437
+#: lib/cr_tf/app.py:451
 msgid "The path prefix in the URL for PDNS API requests (Default: {!r})."
 msgstr ""
 
-#: lib/cr_tf/app.py:443
+#: lib/cr_tf/app.py:457
 msgid "YAML_FILE"
 msgstr ""
 
-#: lib/cr_tf/app.py:444
+#: lib/cr_tf/app.py:458
 msgid "The YAML-file with the definition of the VMs to create with terraform."
 msgstr ""
 
-#: lib/cr_tf/app.py:486
+#: lib/cr_tf/app.py:502
 msgid "Starting {a!r}, version {v!r} ..."
 msgstr "Starting {a!r}, version {v!r} …"
 
-#: lib/cr_tf/app.py:495
+#: lib/cr_tf/app.py:511
 msgid "Create Terraform environment"
 msgstr ""
 
-#: lib/cr_tf/app.py:502
+#: lib/cr_tf/app.py:518
 msgid "No handler object available."
 msgstr ""
 
-#: lib/cr_tf/app.py:509
+#: lib/cr_tf/app.py:525
 msgid "Please input the {}."
 msgstr ""
 
-#: lib/cr_tf/app.py:510 lib/cr_tf/app.py:514
+#: lib/cr_tf/app.py:526 lib/cr_tf/app.py:530
 msgid "vSphere user name"
 msgstr ""
 
-#: lib/cr_tf/app.py:512
+#: lib/cr_tf/app.py:528
 msgid "Name"
 msgstr ""
 
-#: lib/cr_tf/app.py:514 lib/cr_tf/app.py:536
+#: lib/cr_tf/app.py:530 lib/cr_tf/app.py:552
 msgid "No {} given."
 msgstr ""
 
-#: lib/cr_tf/app.py:518
+#: lib/cr_tf/app.py:534
 msgid "Setting user for vSphere {vs!r} to {usr!r}."
 msgstr "Setting cluster of {n!r} to {c!r} …"
 
-#: lib/cr_tf/app.py:529
+#: lib/cr_tf/app.py:545
 msgid "User password of {!r}"
 msgstr ""
 
-#: lib/cr_tf/app.py:531
+#: lib/cr_tf/app.py:547
 msgid "Password for user {u!r} of vSphere {n} on {h!r}"
 msgstr ""
 
-#: lib/cr_tf/app.py:536
+#: lib/cr_tf/app.py:552
 msgid "password of vSphere user"
 msgstr ""
 
-#: lib/cr_tf/app.py:540
+#: lib/cr_tf/app.py:556
 msgid "Setting passwort of vSphere {vs!r} user {usr!r}."
 msgstr ""
 
-#: lib/cr_tf/app.py:559
+#: lib/cr_tf/app.py:575
 msgid "Executing {} ..."
 msgstr "Executing {} …"
 
-#: lib/cr_tf/config.py:160
-msgid "a port may not be less than 1: {}."
-msgstr ""
-
-#: lib/cr_tf/config.py:164
-msgid "a port may not be greater than {m}: {v}."
-msgstr ""
-
-#: lib/cr_tf/config.py:168
-msgid "Wrong port number {v!r}: {e}"
-msgstr ""
-
-#: lib/cr_tf/config.py:273
-msgid "may not be less than 10: {:0.1f}."
-msgstr ""
-
-#: lib/cr_tf/config.py:277
-msgid "may not be greater than {m}: {v:0.1f}."
-msgstr ""
-
-#: lib/cr_tf/config.py:281
-msgid "Wrong minimum root size in GiB {v!r}: {e}"
-msgstr ""
-
-#: lib/cr_tf/config.py:352
-msgid "Comparing {} objects ..."
-msgstr "Comparing {} objects …"
-
-#: lib/cr_tf/config.py:385
-msgid "unknown"
-msgstr ""
-
-#: lib/cr_tf/config.py:389
-msgid "Checking validity of {o}-object {n!r} ..."
-msgstr "Checking for {o}{m!r} …"
-
-#: lib/cr_tf/config.py:400
-msgid "Attribute {a!r} of the {o}-object {n!r} is not set."
-msgstr ""
-
-#: lib/cr_tf/config.py:409
-msgid "Found an error in VSPhere configuration"
-msgid_plural "Found {} errors in VSPhere configuration"
-msgstr[0] ""
-msgstr[1] ""
-
-#: lib/cr_tf/config.py:419
-msgid ""
-"Attribute {a!r} of the {o}-object {n!r} is not set, it will be requestet during this script and "
-"on starting terraform."
-msgstr ""
-
-#: lib/cr_tf/config.py:475
+#: lib/cr_tf/config.py:92
 msgid "Invalid value {v!r} for {n!r} configuration ({f!r}:[{s}]): {e}"
 msgstr ""
 
-#: lib/cr_tf/config.py:476
+#: lib/cr_tf/config.py:93
 msgid "Invalid value {v} for {n!r} configuration ({f!r}:[{s}]): must be equal or greater than zero."
 msgstr ""
 
-#: lib/cr_tf/config.py:587
+#: lib/cr_tf/config.py:218
 msgid "Invalid timeout {t!r} for requesting the PowerDNS API, must be 0 < SECONDS < {m}."
 msgstr ""
 
-#: lib/cr_tf/config.py:621
+#: lib/cr_tf/config.py:252
 msgid "The default size of the data disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:625
+#: lib/cr_tf/config.py:256
 msgid "The default size of the data disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:638
+#: lib/cr_tf/config.py:269
 msgid "The minimal size of the data disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:642
+#: lib/cr_tf/config.py:273
 msgid "The minimal size of the data disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:655
+#: lib/cr_tf/config.py:286
 msgid "The maximal size of the data disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:659
+#: lib/cr_tf/config.py:290
 msgid "The maximal size of the data disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:672
+#: lib/cr_tf/config.py:303
 msgid "The minimal size of the root disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:676
+#: lib/cr_tf/config.py:307
 msgid "The minimal size of the root disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:689
+#: lib/cr_tf/config.py:320
 msgid "The maximal size of the root disk may not be None."
 msgstr ""
 
-#: lib/cr_tf/config.py:693
+#: lib/cr_tf/config.py:324
 msgid "The maximal size of the root disk must be greater or equal to one GB."
 msgstr ""
 
-#: lib/cr_tf/config.py:716 lib/cr_tf/config.py:885
+#: lib/cr_tf/config.py:354
+msgid "The password of the user used for subscribing at RedHat may not be None."
+msgstr ""
+
+#: lib/cr_tf/config.py:358
+msgid "The password of the user used for subscribing at RedHat may not be empty."
+msgstr ""
+
+#: lib/cr_tf/config.py:381 lib/cr_tf/config.py:566
 msgid "Creating a {}-object with parameters:"
 msgstr ""
 
-#: lib/cr_tf/config.py:721 lib/cr_tf/config.py:890
+#: lib/cr_tf/config.py:386 lib/cr_tf/config.py:571
 msgid "Created object:"
 msgstr ""
 
-#: lib/cr_tf/config.py:774
+#: lib/cr_tf/config.py:449
 msgid "Checking config section {!r}:"
 msgstr ""
 
-#: lib/cr_tf/config.py:785
+#: lib/cr_tf/config.py:460
 msgid "Empty VSPhere name found."
 msgstr ""
 
-#: lib/cr_tf/config.py:837
+#: lib/cr_tf/config.py:518
 msgid "Checking config section {s!r} ({n}) ..."
 msgstr "Checking config section {s!r} ({n}) …"
 
-#: lib/cr_tf/config.py:879 lib/cr_tf/config.py:927
+#: lib/cr_tf/config.py:560 lib/cr_tf/config.py:608
 msgid "Unknown configuration parameter {k!r} with value {v!r} for VSPhere {n!r} found."
 msgstr ""
 
-#: lib/cr_tf/config.py:933
+#: lib/cr_tf/config.py:614
 msgid "Updated object:"
 msgstr ""
 
-#: lib/cr_tf/config.py:945 lib/cr_tf/config.py:986
+#: lib/cr_tf/config.py:626 lib/cr_tf/config.py:667
 msgid "Checking config section {!r} ..."
 msgstr "Checking config section {!r} …"
 
-#: lib/cr_tf/config.py:1034
+#: lib/cr_tf/config.py:715
 msgid "Invalid puppet environment {env!r} found in {k!r}."
 msgstr ""
 
-#: lib/cr_tf/errors.py:72
+#: lib/cr_tf/errors.py:73
+msgid ""
+"There should be too many disks ({gd}) assigned to a VM. There are max. {maxd} disks allowed to "
+"assign to a VM."
+msgstr ""
+
+#: lib/cr_tf/errors.py:92
 msgid "The network {!r} is not existing."
 msgstr ""
 
-#: lib/cr_tf/handler.py:128
+#: lib/cr_tf/errors.py:114
 msgid "<some unknown step>"
 msgstr ""
 
-#: lib/cr_tf/handler.py:133
+#: lib/cr_tf/errors.py:119
 msgid "Aborting after {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:170
+#: lib/cr_tf/handler/__init__.py:94
 msgid "After initialization of all objects and handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:171
+#: lib/cr_tf/handler/__init__.py:95
 msgid "After initialisation of VSPhere handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:172
+#: lib/cr_tf/handler/__init__.py:96
 msgid "After reading the given YAML file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:173
+#: lib/cr_tf/handler/__init__.py:97
 msgid "After retrieving all DNS zones from PowerDNS."
 msgstr ""
 
-#: lib/cr_tf/handler.py:174
+#: lib/cr_tf/handler/__init__.py:98
 msgid "After testing VSPhere handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:175
+#: lib/cr_tf/handler/__init__.py:99
 msgid "After collecting all VMWare and local folders."
 msgstr ""
 
-#: lib/cr_tf/handler.py:176
+#: lib/cr_tf/handler/__init__.py:100
 msgid "After collecting all VMWare clusters."
 msgstr ""
 
-#: lib/cr_tf/handler.py:177
+#: lib/cr_tf/handler/__init__.py:101
 msgid "After collecting all VMWare datastores."
 msgstr ""
 
-#: lib/cr_tf/handler.py:178
+#: lib/cr_tf/handler/__init__.py:102
 msgid "After collecting all VMWare datastore clusters."
 msgstr ""
 
-#: lib/cr_tf/handler.py:179
+#: lib/cr_tf/handler/__init__.py:103
 msgid "After collecting all VMWare networks."
 msgstr ""
 
-#: lib/cr_tf/handler.py:180
+#: lib/cr_tf/handler/__init__.py:104
 msgid "After validating all given VMWare templates."
 msgstr ""
 
-#: lib/cr_tf/handler.py:181
+#: lib/cr_tf/handler/__init__.py:105
 msgid "After syntax validating of data from loaded YAML file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:182
+#: lib/cr_tf/handler/__init__.py:106
 msgid "After validating all given storage data."
 msgstr ""
 
-#: lib/cr_tf/handler.py:183
+#: lib/cr_tf/handler/__init__.py:107
 msgid "After validating all given network interface data."
 msgstr ""
 
-#: lib/cr_tf/handler.py:184
+#: lib/cr_tf/handler/__init__.py:108
 msgid "After validating all given DNS data."
 msgstr ""
 
-#: lib/cr_tf/handler.py:185
+#: lib/cr_tf/handler/__init__.py:109
 msgid "After performing all necessary actions in DNS."
 msgstr ""
 
-#: lib/cr_tf/handler.py:186
+#: lib/cr_tf/handler/__init__.py:110
 msgid "After ensuring availability of the project directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:187
+#: lib/cr_tf/handler/__init__.py:111
 msgid "After creation of the Terraform project files."
 msgstr ""
 
-#: lib/cr_tf/handler.py:188
+#: lib/cr_tf/handler/__init__.py:112
 msgid "After ensuring availability of VM folders in VMWare vSphere."
 msgstr ""
 
-#: lib/cr_tf/handler.py:274
+#: lib/cr_tf/handler/__init__.py:202
 msgid "Given configuration:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:278
+#: lib/cr_tf/handler/__init__.py:206
 msgid "Directory for postinstall scripts: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:280
+#: lib/cr_tf/handler/__init__.py:208
 msgid "Directory for postinstall scripts {!r} does not exists."
 msgstr ""
 
-#: lib/cr_tf/handler.py:284
+#: lib/cr_tf/handler/__init__.py:212
 msgid "Path {!r} for postinstall scripts exists, but is not a directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:297
-msgid "Setting simulate of all subsequent objects to {!r} ..."
-msgstr "Setting simulate of all subsequent objects to {!r} …"
-
-#: lib/cr_tf/handler.py:323
-msgid "Invalid step name {!r} for interrupting execution."
-msgstr ""
-
-#: lib/cr_tf/handler.py:379
-msgid "Invalid time zone name {!r}."
-msgstr ""
-
-#: lib/cr_tf/handler.py:381
-msgid "Setting time zone to {!r}."
-msgstr ""
-
-#: lib/cr_tf/handler.py:403
-msgid "No configuration given before initialisation of handlers."
+#: lib/cr_tf/handler/__init__.py:217
+msgid "Directory for SSH deploy keys: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:407
-msgid "{n} is not a {e}-instance, but a {w}-instance instead."
+#: lib/cr_tf/handler/__init__.py:219
+msgid "Directory for SSH deploy keys {!r} does not exists."
 msgstr ""
 
-#: lib/cr_tf/handler.py:418
-msgid "Initialize some additional handlers."
+#: lib/cr_tf/handler/__init__.py:223
+msgid "Path {!r} for SSH deploy keys exists, but is not a directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:446
-msgid "Checking the terraform version ..."
-msgstr "Checking the terraform version …"
-
-#: lib/cr_tf/handler.py:450 lib/cr_tf/handler.py:2921
-msgid "Executing {!r} ..."
-msgstr "Executing {!r} …"
-
-#: lib/cr_tf/handler.py:453 lib/cr_tf/handler.py:2932 lib/cr_tf/handler.py:2961
-msgid "Completed process:"
+#: lib/cr_tf/handler/__init__.py:228
+msgid "Filename of the private SSH deploy key: {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:456
-msgid "No output on command {!r}."
+#: lib/cr_tf/handler/__init__.py:230
+msgid "Private SSH deploy key file {!r} does not exists or is not a regular file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:461
-msgid "First line:"
-msgstr ""
+#: lib/cr_tf/handler/__init__.py:244
+msgid "Setting simulate of all subsequent objects to {!r} ..."
+msgstr "Setting simulate of all subsequent objects to {!r} …"
 
-#: lib/cr_tf/handler.py:464
-msgid "Could not evaluate version output of terraform:"
+#: lib/cr_tf/handler/__init__.py:270
+msgid "Invalid step name {!r} for interrupting execution."
 msgstr ""
 
-#: lib/cr_tf/handler.py:468
-msgid "Terraform version: {!r}."
+#: lib/cr_tf/handler/__init__.py:326
+msgid "Invalid time zone name {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:471 lib/cr_tf/handler.py:479
-msgid "Checking for {o}{m!r} ..."
-msgstr "Checking for {o}{m!r} …"
-
-#: lib/cr_tf/handler.py:474 lib/cr_tf/handler.py:482
-msgid "Invalid version {c!r} of terraform, expected {o}{m!r}."
+#: lib/cr_tf/handler/__init__.py:328
+msgid "Setting time zone to {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:490
+#: lib/cr_tf/handler/__init__.py:336
 msgid "Self destruction."
 msgstr ""
 
-#: lib/cr_tf/handler.py:503 lib/cr_tf/handler.py:528
+#: lib/cr_tf/handler/__init__.py:349 lib/cr_tf/handler/first.py:153
 msgid "{}-object not initialized."
 msgstr ""
 
-#: lib/cr_tf/handler.py:509
-msgid "Go ahead..."
-msgstr "Go ahead ……"
-
-#: lib/cr_tf/handler.py:514
-msgid "Initialising VSPhere handlers."
-msgstr ""
-
-#: lib/cr_tf/handler.py:534
+#: lib/cr_tf/handler/__init__.py:355
 msgid "Simulation mode"
 msgstr ""
 
-#: lib/cr_tf/handler.py:536
+#: lib/cr_tf/handler/__init__.py:357
 msgid "Necessary DNS records are not created."
 msgstr ""
 
-#: lib/cr_tf/handler.py:537
+#: lib/cr_tf/handler/__init__.py:358
 msgid "Terraform files are not created."
 msgstr ""
 
-#: lib/cr_tf/handler.py:560
+#: lib/cr_tf/handler/__init__.py:381
 msgid "Cpllecting first information from vSPhere."
 msgstr "Retrieving informations from PowerDNS …"
 
-#: lib/cr_tf/handler.py:566
+#: lib/cr_tf/handler/__init__.py:387
 msgid "Retrieving information from vSphere."
 msgstr ""
 
-#: lib/cr_tf/handler.py:584
+#: lib/cr_tf/handler/__init__.py:405
 msgid "Validated VMs:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:590
+#: lib/cr_tf/handler/__init__.py:411
 msgid "There is one existing virtual machine."
 msgid_plural "There are {c} existing virtual machines."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_tf/handler.py:595
+#: lib/cr_tf/handler/__init__.py:416
 msgid "Existing virtual machine:"
 msgid_plural "Existing virtual machines:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_tf/handler.py:598
+#: lib/cr_tf/handler/__init__.py:419
 msgid "No existing virtual machines found in YAML file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:606
+#: lib/cr_tf/handler/__init__.py:427
 msgid "Finished all steps."
 msgstr ""
 
-#: lib/cr_tf/handler.py:616
+#: lib/cr_tf/handler/__init__.py:437
 msgid "And how I said before - it was only a simulation!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:627
-msgid "Current {} object:"
-msgstr ""
+#: lib/cr_tf/handler/__init__.py:447 lib/cr_tf/handler/first.py:112
+msgid "Executing {!r} ..."
+msgstr "Executing {!r} …"
 
-#: lib/cr_tf/handler.py:629 lib/cr_tf/handler.py:648 lib/cr_tf/handler.py:702 lib/cr_tf/handler.py:723
-#: lib/cr_tf/handler.py:751 lib/cr_tf/handler.py:821 lib/cr_tf/handler.py:860 lib/cr_tf/handler.py:883
-#: lib/cr_tf/handler.py:906 lib/cr_tf/handler.py:926 lib/cr_tf/handler.py:944 lib/cr_tf/handler.py:968
-#: lib/cr_tf/handler.py:1012 lib/cr_tf/handler.py:1030 lib/cr_tf/handler.py:1048
-#: lib/cr_tf/handler.py:1060 lib/cr_tf/handler.py:1073 lib/cr_tf/handler.py:1085
-#: lib/cr_tf/handler.py:1097
-msgid "Finished step {!r}."
+#: lib/cr_tf/handler/__init__.py:458 lib/cr_tf/handler/__init__.py:487 lib/cr_tf/handler/first.py:115
+msgid "Completed process:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:642
-msgid "Found one error in evaluation of YAML data of {f!r}."
-msgid_plural "Found {n} errors in evaluation of YAML data of {f!r}."
-msgstr[0] ""
-msgstr[1] ""
-
-#: lib/cr_tf/handler.py:658
-msgid "Collecting all VMWare and local folders ..."
-msgstr "Collecting all VMWare and local folders …"
-
-#: lib/cr_tf/handler.py:659
-msgid "Get vSphere datacenter ..."
-msgstr "Get vSphere datacenter …"
+#: lib/cr_tf/handler/__init__.py:462
+msgid "Importing existing virtual machines ..."
+msgstr "Importing existing virtual machines …"
 
-#: lib/cr_tf/handler.py:663
-msgid "Collecting vSphere folders."
+#: lib/cr_tf/handler/__init__.py:468
+msgid "Importing VM {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:670
-msgid "Collected vSphere folders:"
+#: lib/cr_tf/handler/__init__.py:485
+msgid "Error on importing VM {!r}:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:678
-msgid "Project name is {!r}."
+#: lib/cr_tf/handler/__init__.py:507
+msgid "Congratulations!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:680
-msgid "Project directory is: {!r}."
+#: lib/cr_tf/handler/__init__.py:509
+msgid "Now you are ready to deploy the following virtual machines:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:696
-msgid "Did not found root terraform directory above {!r}."
+#: lib/cr_tf/handler/__init__.py:513
+msgid "To start the deployment process change to directory {}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:700
-msgid "Full project name: {!r}"
+#: lib/cr_tf/handler/__init__.py:516
+msgid "and enter: {}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:713
+#: lib/cr_tf/handler/dns.py:47
 msgid "Retrieving informations from PowerDNS ..."
 msgstr "Retrieving informations from PowerDNS …"
 
-#: lib/cr_tf/handler.py:717
+#: lib/cr_tf/handler/dns.py:51
 msgid "Found one error in exploring PowerDNS zones."
 msgid_plural "Found {n} errors in exploring PowerDNS zones."
 msgstr[0] ""
 msgstr[1] ""
 
-#: lib/cr_tf/handler.py:741
-msgid "There is only one, unique VSPhere definition allowed in a project file."
+#: lib/cr_tf/handler/dns.py:57 lib/cr_tf/handler/dns.py:75 lib/cr_tf/handler/dns.py:87
+#: lib/cr_tf/handler/files.py:51 lib/cr_tf/handler/files.py:63 lib/cr_tf/handler/first.py:182
+#: lib/cr_tf/handler/read.py:54 lib/cr_tf/handler/vmware.py:95 lib/cr_tf/handler/vmware.py:123
+#: lib/cr_tf/handler/vmware.py:198 lib/cr_tf/handler/vmware.py:237 lib/cr_tf/handler/vmware.py:260
+#: lib/cr_tf/handler/vmware.py:286 lib/cr_tf/handler/vmware.py:306 lib/cr_tf/handler/vmware.py:324
+#: lib/cr_tf/handler/vmware.py:348 lib/cr_tf/handler/vmware.py:392 lib/cr_tf/handler/vmware.py:410
+#: lib/cr_tf/handler/vmware.py:422
+msgid "Finished step {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:743
-msgid "In {f!r} were found {nr} different VSPhere definitions:"
-msgstr ""
+#: lib/cr_tf/handler/dns.py:69
+msgid "Found one error in validating DNS mappings."
+msgid_plural "Found {n} errors in validating DNS mappings."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/cr_tf/handler.py:763
-msgid "VSPhere {!r} not defined in configuration."
+#: lib/cr_tf/handler/dns.py:95
+msgid "Power DNS actions are not executed."
 msgstr ""
 
-#: lib/cr_tf/handler.py:790
-msgid "Initialising a {}-object with params:"
-msgstr ""
+#: lib/cr_tf/handler/dns.py:99
+msgid "Performing DNS actions ..."
+msgstr "Performing DNS actions …"
 
-#: lib/cr_tf/handler.py:814
-msgid "Created {}-object:"
-msgstr ""
+#: lib/cr_tf/handler/dns.py:115
+msgid "There was one error in creating DNS mappings."
+msgid_plural "There were {n} errors in creating DNS mappings."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/cr_tf/handler.py:830
-msgid "Assigning not defined templates and clusters of VMs by their appropriate default values."
+#: lib/cr_tf/handler/dns.py:121
+msgid "No errors in creating DNS mappings."
 msgstr ""
 
-#: lib/cr_tf/handler.py:839
-msgid "Setting cluster of {n!r} to {c!r} ..."
-msgstr "Setting cluster of {n!r} to {c!r} …"
+#: lib/cr_tf/handler/dns.py:131
+msgid "Increasing serial of zone {!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:846
-msgid "Setting template of {n!r} to {t!r} ..."
-msgstr "Setting template of {n!r} to {t!r} …"
+#: lib/cr_tf/handler/dns.py:150
+msgid "Got zone {z!r} for FQDN {f!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:857
-msgid "Searching for clusters in VSPhere {!r} ..."
-msgstr "Searching for clusters in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:153
+msgid "Did not found zone to insert {t}-record for {f!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:873
-msgid "Searching for datastores in VSPhere {!r} ..."
-msgstr "Searching for datastores in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:171
+msgid "Trying to create PTR-record {a!r} => {f!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:878
-msgid "Found one datastore."
-msgid_plural "Found {n} datastores."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:176
+msgid "PTR of {a!r}: {p!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:881
-msgid "No VSPhere datastores found."
+#: lib/cr_tf/handler/dns.py:181
+msgid "Got reverse zone {z!r} for address {a!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:896
-msgid "Searching for datastore clusters in VSPhere {!r} ..."
-msgstr "Searching for datastore clusters in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:184
+msgid "Did not found zone to insert PTR-record {p!r} ({a})."
+msgstr ""
 
-#: lib/cr_tf/handler.py:901
-msgid "Found one datastore cluster."
-msgid_plural "Found {n} datastore clusters."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:197
+msgid "Validating DNS mappings ..."
+msgstr "Validating DNS mappings …"
 
-#: lib/cr_tf/handler.py:904
-msgid "No VSPhere datastore clusters found."
-msgstr "Validating given datastore clusters of VMs …"
+#: lib/cr_tf/handler/dns.py:207 lib/cr_tf/handler/dns.py:217
+msgid "None"
+msgstr ""
 
-#: lib/cr_tf/handler.py:917
-msgid "Searching for networks in VSPhere {!r} ..."
-msgstr "Searching for networks in VSPhere {!r} …"
+#: lib/cr_tf/handler/dns.py:208
+msgid "Forward DNS entries to create:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:920
-msgid "Found one error in exploring vSphere {v!r} resources."
-msgid_plural "Found {n} errors in exploring vSphere {v!r} resources."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:218
+msgid "Reverse DNS entries to create:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:938
-msgid "Found one error in exploring vSphere templates."
-msgid_plural "Found {n} errors in exploring vSphere templates."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:226
+msgid "Validating forward DNS mappings ..."
+msgstr "Validating forward DNS mappings …"
 
-#: lib/cr_tf/handler.py:955
-msgid "Validating information from YAML file ..."
-msgstr "Validating information from YAML file …"
+#: lib/cr_tf/handler/dns.py:231
+msgid "Validating {f!r} => {a!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:959
-msgid "Found one error in validating vSphere computing clusters."
-msgid_plural "Found {n} errors in validating vSphere computing clusters."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:257
+msgid "Found existing addresses for {f!r}:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:975
-msgid "Got a list of all VMs and templates ..."
-msgstr "Got a list of all VMs and templates …"
+#: lib/cr_tf/handler/dns.py:259
+msgid "Did not found existing addresses for {!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:994
-msgid "All existing VMs and templates:"
+#: lib/cr_tf/handler/dns.py:266 lib/cr_tf/handler/dns.py:274
+msgid "FQDN {f!r} already points to {a!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1006
-msgid "Found one error in validating VM storages."
-msgid_plural "Found {n} errors in validating VM storages."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:279
+msgid "FQDN {f!r} has already existing addresses, but none of them are {a!r}:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1024
-msgid "Found one error in validating VM interfaces."
-msgid_plural "Found {n} errors in validating VM interfaces."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:295
+msgid "Validating reverse DNS mappings ..."
+msgstr "Validating reverse DNS mappings …"
 
-#: lib/cr_tf/handler.py:1042
-msgid "Found one error in validating DNS mappings."
-msgid_plural "Found {n} errors in validating DNS mappings."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/dns.py:300
+msgid "Validating {a!r} => {f!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1104
-msgid "Reading YAML file {!r} ..."
-msgstr "Reading YAML file {!r} …"
+#: lib/cr_tf/handler/dns.py:307
+msgid "Got reverse info:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1115
-msgid "Error in YAML file {f!r}: {e}."
+#: lib/cr_tf/handler/dns.py:314
+msgid "Did not found reverse pointer for {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1119
-msgid "Error position: {li}:{c}"
+#: lib/cr_tf/handler/dns.py:322
+msgid "Found reverse pointer {a!r} => {f!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1124
-msgid "Read data from YAML file:"
+#: lib/cr_tf/handler/dns.py:325
+msgid "Reverse pointer for {!r} was already existing."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1127
-msgid "Data read from YAML file {f!r} are not a dictionary, but a {c} object instead."
+#: lib/cr_tf/handler/dns.py:329
+msgid "Address {a!r} has already an existing reverse pointer to {p!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1143
-msgid "Searching for default VM definition ..."
-msgstr "Searching for default VM definition …"
-
-#: lib/cr_tf/handler.py:1152
-msgid "Searching for VM definitions ..."
-msgstr "Searching for VM definitions …"
+#: lib/cr_tf/handler/files.py:74 lib/cr_tf/handler/files.py:95 lib/cr_tf/handler/files.py:116
+msgid "Method {c}.{m} expected at most one argument, got {n}."
+msgid_plural "Method {c}.{m} expected at most {e} arguments, got {n}."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/cr_tf/handler.py:1169
-msgid "Evaluated VMs:"
+#: lib/cr_tf/handler/files.py:86
+msgid "Did not found network {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1183
-msgid "{c} in evaluating template VM: {e}"
+#: lib/cr_tf/handler/files.py:107
+msgid "Did not found datastore cluster {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1189
-msgid "Defined Terraform Template VM {n!r}:"
+#: lib/cr_tf/handler/files.py:128
+msgid "Did not found datastore {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1207
-msgid "{c} in evaluating VM: {e}"
+#: lib/cr_tf/handler/files.py:134
+msgid "Ensuring existence of directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1212
-msgid "Defined Terraform-VM {n!r}:"
+#: lib/cr_tf/handler/files.py:138
+msgid "Directory {!r} already exists."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1216
-msgid "VM {!r} is already defined."
+#: lib/cr_tf/handler/files.py:140
+msgid "Path {!r} exists, but is not a directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1226
-msgid "Group definition list is not a list:"
+#: lib/cr_tf/handler/files.py:143
+msgid "Creating directory {!r} ..."
+msgstr "Creating directory {!r} …"
+
+#: lib/cr_tf/handler/files.py:145
+msgid "Simulation mode - directory will not be created."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1232
-msgid "Maximum recursion depth for VM groups of {} reached."
+#: lib/cr_tf/handler/files.py:150
+msgid "Could not create directory {d!r}: {e}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1236
-msgid "Evaluating group list:"
+#: lib/cr_tf/handler/files.py:158
+msgid "Directory {!r} does not exists ?!?!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1238
-msgid "Used template: {!r}"
+#: lib/cr_tf/handler/files.py:162
+msgid "No write access to directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1247 lib/cr_tf/terraform/vm.py:259
-msgid "VM definition is not a dictionary:"
+#: lib/cr_tf/handler/files.py:165
+msgid "Changing into directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1261
-msgid "No group name defined."
+#: lib/cr_tf/handler/files.py:170
+msgid "Script-Dir relative to project dir: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1265
-msgid "Searching for group default VM definition in group {!r} ..."
-msgstr "Searching for group default VM definition in group {!r} …"
+#: lib/cr_tf/handler/files.py:173
+msgid "Permissions of {k!r} are {m:04o}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1280
-msgid "Used template for creating VMs in group {g!r}: {n!r}"
+#: lib/cr_tf/handler/files.py:176
+msgid "Setting permissions of {k!r} from {o:04o} to {m:04o}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1283
-msgid "Used template structure:"
+#: lib/cr_tf/handler/files.py:182
+msgid "Directory for SSH deploy keys relative to project dir: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1286
-msgid "Searching for VM definitions in group {!r} ..."
-msgstr "Searching for VM definitions in group {!r} …"
+#: lib/cr_tf/handler/files.py:186
+msgid "Filename of the private SSH deploy key relative to project dir: {!r}"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1303
-msgid "Exploring all vSphere templates ..."
-msgstr "Exploring all vSphere templates …"
+#: lib/cr_tf/handler/files.py:191
+msgid "Checking {!r} for a previous terraform configuration."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1318
-msgid "VM {!r} has not template defined."
+#: lib/cr_tf/handler/files.py:196
+msgid "In {d!r} there exists already {w!r}, but this is not a directory."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1321
-msgid "All {} VSPhere templates to explore:"
+#: lib/cr_tf/handler/files.py:202
+msgid "In {d!r} there exists already {w!r}, but this not a file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1330
-msgid "Searching for template {t!r} in VSPhere {v!r} ..."
-msgstr "Searching for template {t!r} in VSPhere {v!r} …"
+#: lib/cr_tf/handler/files.py:207
+msgid ""
+"In directory {d!r} there are already existing both {w1!r} and {w2!r}. Is this an old terraform "
+"project?"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1340
-msgid "Template {t!r} not found in VSPhere {v!r}."
+#: lib/cr_tf/handler/files.py:217
+msgid "Cleaning project directory {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1345
-msgid "All explored vSphere templates:"
+#: lib/cr_tf/handler/files.py:226
+msgid "Directory {!r} is already clean."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1358
-msgid "Validating existence of computing clusters of the VMs."
+#: lib/cr_tf/handler/files.py:231
+msgid "Removing recursive directory {!r} ..."
+msgstr "Removing recursive directory {!r} …"
+
+#: lib/cr_tf/handler/files.py:235
+msgid "Removing {!r} ..."
+msgstr "Removing {!r} …"
+
+#: lib/cr_tf/handler/files.py:244
+msgid "Creating all necessary files for terraform."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1379
-msgid "Checking existence of computing cluster {c!r} in VSPhere {v!r} ..."
-msgstr "Checking existence of computing cluster {c!r} in VSPhere {v!r} …"
+#: lib/cr_tf/handler/files.py:265 lib/cr_tf/handler/files.py:323 lib/cr_tf/handler/files.py:399
+#: lib/cr_tf/handler/files.py:416 lib/cr_tf/handler/files.py:515
+msgid "Creating {!r} ..."
+msgstr "Creating {!r} …"
 
-#: lib/cr_tf/handler.py:1387
-msgid "Found computing cluster {cl!r} in VSPhere {v!r} (defined for VMs {vms})."
+#: lib/cr_tf/handler/files.py:271 lib/cr_tf/handler/files.py:418
+msgid "Creating {w} for VSPhere {v!r} ..."
+msgstr "Creating {w} for VSPhere {v!r} …"
+
+#: lib/cr_tf/handler/files.py:540
+msgid "No minimum version of Terraform defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1391
-msgid "Computing cluster {cl!r} (defined for VMs {vms}) in VSPhere {v!r} not found."
+#: lib/cr_tf/handler/files.py:555
+msgid "Creating terraform files for VM instances."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1400
-msgid "Validating existence of VMs in VMWare."
+#: lib/cr_tf/handler/files.py:566
+msgid "Creating file {f!r} for VM instance {n!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1417
-msgid "[{m}]  - VM is already existing in VSphere {v!r}, path {p!r}."
+#: lib/cr_tf/handler/files.py:574
+msgid "Using template:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1425
-msgid "VM info:"
+#: lib/cr_tf/handler/files.py:592
+msgid "Writing {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1427
-msgid "Datastore of VM {vm!r}: {ds!r}."
+#: lib/cr_tf/handler/files.py:609
+msgid "Generating global definitions of {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1447
-msgid "CAUTION!"
+#: lib/cr_tf/handler/files.py:617
+msgid "Cluster {!r} not found - this shouldn't be happened."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1451
-msgid "Did not found any VM to deploy!"
+#: lib/cr_tf/handler/files.py:674
+msgid "Generating interface definition {i} of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1454
-msgid "No VMs to deploy"
+#: lib/cr_tf/handler/files.py:695
+msgid "Generating disk definition {n} of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1470
-msgid "Used datastore clusters:"
+#: lib/cr_tf/handler/files.py:715
+msgid "Generating customization of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1472
-msgid "No datastore clusters are used."
+#: lib/cr_tf/handler/files.py:759 lib/cr_tf/handler/files.py:780
+msgid "Generating file provisioner for {f!r} of {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1479
-msgid "Used datastors:"
+#: lib/cr_tf/handler/first.py:64
+msgid "No configuration given before initialisation of handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1481
-msgid "No datastores are used."
+#: lib/cr_tf/handler/first.py:68
+msgid "{n} is not a {e}-instance, but a {w}-instance instead."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1486
-msgid "Validating given datastore clusters of VMs ..."
-msgstr "Validating given datastore clusters of VMs …"
+#: lib/cr_tf/handler/first.py:79
+msgid "Initialize some additional handlers."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1511
-msgid "Found datastore cluster {c!r} in VSphere {v!r} for VM {n!r}."
+#: lib/cr_tf/handler/first.py:108
+msgid "Checking the terraform version ..."
+msgstr "Checking the terraform version …"
+
+#: lib/cr_tf/handler/first.py:118
+msgid "No output on command {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1515
-msgid "Setting datastore cluster for VM {n!r} to {c!r} ..."
-msgstr "Setting datastore cluster for VM {n!r} to {c!r} …"
+#: lib/cr_tf/handler/first.py:123
+msgid "First line:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1520
-msgid "Free space of cluster {c!r} in VSphere {v!r} before provisioning: {a:0.1f} GiB."
+#: lib/cr_tf/handler/first.py:126
+msgid "Could not evaluate version output of terraform:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1525
-msgid ""
-"Datastore cluster {d!r} in VSphere {v!r} has not sufficient space for storage of VM {vm!r} "
-"(needed {n:0.1f} GiB, available {a:0.1f} GiB)."
+#: lib/cr_tf/handler/first.py:130
+msgid "Terraform version: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1535
-msgid "Free space in cluster {c!r} in VSphere {v!r} after provisioning: {a:0.1f} GiB."
+#: lib/cr_tf/handler/first.py:133 lib/cr_tf/handler/first.py:141
+msgid "Checking for {o}{m!r} ..."
+msgstr "Checking for {o}{m!r} …"
+
+#: lib/cr_tf/handler/first.py:136 lib/cr_tf/handler/first.py:144
+msgid "Invalid version {c!r} of terraform, expected {o}{m!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1547
-msgid "Datastore cluster {c!r} of VM {n!r} not found in VSphere {v!r}."
+#: lib/cr_tf/handler/first.py:159
+msgid "Go ahead..."
+msgstr "Go ahead ……"
+
+#: lib/cr_tf/handler/first.py:164
+msgid "Initialising VSPhere handlers."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1554
-msgid "Validating given datastores of VMs and assign failing ..."
-msgstr "Validating given datastores of VMs and assign failing …"
+#: lib/cr_tf/handler/first.py:180
+msgid "Current {} object:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1560
-msgid "Removing defined datastore {d!r} for VM {n!r} ..."
-msgstr "Removing defined datastore {d!r} for VM {n!r} …"
+#: lib/cr_tf/handler/read.py:48
+msgid "Found one error in evaluation of YAML data of {f!r}."
+msgid_plural "Found {n} errors in evaluation of YAML data of {f!r}."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/cr_tf/handler.py:1585 lib/cr_tf/handler.py:1693
-msgid "Did not found cluster object {c!r} for VM {n!r}."
+#: lib/cr_tf/handler/read.py:61
+msgid "Reading YAML file {!r} ..."
+msgstr "Reading YAML file {!r} …"
+
+#: lib/cr_tf/handler/read.py:72
+msgid "Error in YAML file {f!r}: {e}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1595 lib/cr_tf/handler.py:1630
-msgid "Found datastore {d!r} for VM {n!r} in VSPhere {v!r}."
+#: lib/cr_tf/handler/read.py:76
+msgid "Error position: {li}:{c}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1598
-msgid "Datastore {d!r} not available in cluster {c!r}."
+#: lib/cr_tf/handler/read.py:81
+msgid "Read data from YAML file:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1602
-msgid "Setting datastore for VM {n!r} to {d!r} ..."
-msgstr "Setting datastore for VM {n!r} to {d!r} …"
+#: lib/cr_tf/handler/read.py:84
+msgid "Data read from YAML file {f!r} are not a dictionary, but a {c} object instead."
+msgstr ""
 
-#: lib/cr_tf/handler.py:1607
-msgid ""
-"Datastore {d!r} has not sufficient space for storage of VM {v!r} (needed {n:0.1f} GiB, available"
-" {a:0.1f} GiB)."
+#: lib/cr_tf/handler/read.py:100
+msgid "Searching for default VM definition ..."
+msgstr "Searching for default VM definition …"
+
+#: lib/cr_tf/handler/read.py:109
+msgid "Searching for VM definitions ..."
+msgstr "Searching for VM definitions …"
+
+#: lib/cr_tf/handler/read.py:126
+msgid "Evaluated VMs:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1618
-msgid "Datastore {d!r} of VM {n!r} not found in VSPhere {v!r}."
+#: lib/cr_tf/handler/read.py:140
+msgid "{c} in evaluating template VM: {e}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1643
-msgid "Validating interfaces of VMs and assign networks ..."
-msgstr "Validating interfaces of VMs and assign networks …"
+#: lib/cr_tf/handler/read.py:146
+msgid "Defined Terraform Template VM {n!r}:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1648
-msgid "Validated FQDNs:"
+#: lib/cr_tf/handler/read.py:164
+msgid "{c} in evaluating VM: {e}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1649
-msgid "Validated Addresses:"
+#: lib/cr_tf/handler/read.py:169
+msgid "Defined Terraform-VM {n!r}:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1659
-msgid "Used networks:"
+#: lib/cr_tf/handler/read.py:173
+msgid "VM {!r} is already defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1665
-msgid "Used forward DNS entries:"
+#: lib/cr_tf/handler/read.py:183
+msgid "Group definition list is not a list:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1671
-msgid "Used reverse DNS entries:"
+#: lib/cr_tf/handler/read.py:189
+msgid "Maximum recursion depth for VM groups of {} reached."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1677
-msgid "Checking interfaces of VM {n!r} in VSPhere {v!r} ..."
-msgstr "Checking interfaces of VM {n!r} in VSPhere {v!r} …"
+#: lib/cr_tf/handler/read.py:193
+msgid "Evaluating group list:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1681
-msgid "No interfaces defined for VM {!r}."
+#: lib/cr_tf/handler/read.py:195
+msgid "Used template: {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1709
-msgid "Checking interface {i} of VM {n!r} ..."
-msgstr "Checking interface {i} of VM {n!r} …"
+#: lib/cr_tf/handler/read.py:204 lib/cr_tf/terraform/vm.py:267
+msgid "VM definition is not a dictionary:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1713
-msgid "Interface {i} of VM {n!r} has no defined address."
+#: lib/cr_tf/handler/read.py:218
+msgid "No group name defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1719
-msgid "Interface {i} of VM {n!r} has no defined FQDN."
+#: lib/cr_tf/handler/read.py:222
+msgid "Searching for group default VM definition in group {!r} ..."
+msgstr "Searching for group default VM definition in group {!r} …"
+
+#: lib/cr_tf/handler/read.py:237
+msgid "Used template for creating VMs in group {g!r}: {n!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1725
-msgid "FQDN {f!r} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+#: lib/cr_tf/handler/read.py:240
+msgid "Used template structure:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1737
-msgid "IPv4 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+#: lib/cr_tf/handler/read.py:243
+msgid "Searching for VM definitions in group {!r} ..."
+msgstr "Searching for VM definitions in group {!r} …"
+
+#: lib/cr_tf/handler/vmware.py:51
+msgid "Collecting all VMWare and local folders ..."
+msgstr "Collecting all VMWare and local folders …"
+
+#: lib/cr_tf/handler/vmware.py:52
+msgid "Get vSphere datacenter ..."
+msgstr "Get vSphere datacenter …"
+
+#: lib/cr_tf/handler/vmware.py:56
+msgid "Collecting vSphere folders."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1752
-msgid "IPv6 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
+#: lib/cr_tf/handler/vmware.py:63
+msgid "Collected vSphere folders:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1768
-msgid "Could not find network {n!r} for VM {v!r}, interface {i}."
+#: lib/cr_tf/handler/vmware.py:71
+msgid "Project name is {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1780
-msgid "Found network {n!r} for interface {i} of VM {v!r}."
+#: lib/cr_tf/handler/vmware.py:73
+msgid "Project directory is: {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1784
-msgid "Network {n!r} for interface {i} of VM {v!r} not available in cluster {c!r}."
+#: lib/cr_tf/handler/vmware.py:89
+msgid "Did not found root terraform directory above {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1789
-msgid "Network {n!r} is available in cluster {c!r}."
+#: lib/cr_tf/handler/vmware.py:93
+msgid "Full project name: {!r}"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1794
-msgid "Setting gateway of interface {i} of VM {v!r} to {g}."
+#: lib/cr_tf/handler/vmware.py:113
+msgid "There is only one, unique VSPhere definition allowed in a project file."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1814
-msgid "Validating DNS mappings ..."
-msgstr "Validating DNS mappings …"
+#: lib/cr_tf/handler/vmware.py:115
+msgid "In {f!r} were found {nr} different VSPhere definitions:"
+msgstr ""
 
-#: lib/cr_tf/handler.py:1824 lib/cr_tf/handler.py:1834
-msgid "None"
+#: lib/cr_tf/handler/vmware.py:135
+msgid "VSPhere {!r} not defined in configuration."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1825
-msgid "Forward DNS entries to create:"
+#: lib/cr_tf/handler/vmware.py:167
+msgid "Initialising a {}-object with params:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1835
-msgid "Reverse DNS entries to create:"
+#: lib/cr_tf/handler/vmware.py:191
+msgid "Created {}-object:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1843
-msgid "Validating forward DNS mappings ..."
-msgstr "Validating forward DNS mappings …"
+#: lib/cr_tf/handler/vmware.py:207
+msgid "Assigning not defined templates and clusters of VMs by their appropriate default values."
+msgstr ""
+
+#: lib/cr_tf/handler/vmware.py:216
+msgid "Setting cluster of {n!r} to {c!r} ..."
+msgstr "Setting cluster of {n!r} to {c!r} …"
+
+#: lib/cr_tf/handler/vmware.py:223
+msgid "Setting template of {n!r} to {t!r} ..."
+msgstr "Setting template of {n!r} to {t!r} …"
+
+#: lib/cr_tf/handler/vmware.py:234
+msgid "Searching for clusters in VSPhere {!r} ..."
+msgstr "Searching for clusters in VSPhere {!r} …"
+
+#: lib/cr_tf/handler/vmware.py:250
+msgid "Searching for datastores in VSPhere {!r} ..."
+msgstr "Searching for datastores in VSPhere {!r} …"
+
+#: lib/cr_tf/handler/vmware.py:255
+msgid "Found one datastore."
+msgid_plural "Found {n} datastores."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:258
+msgid "No VSPhere datastores found."
+msgstr ""
+
+#: lib/cr_tf/handler/vmware.py:273
+msgid "Searching for datastore clusters in VSPhere {!r} ..."
+msgstr "Searching for datastore clusters in VSPhere {!r} …"
+
+#: lib/cr_tf/handler/vmware.py:278
+msgid "Found one datastore cluster."
+msgid_plural "Found {n} datastore clusters."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:284
+msgid "No VSPhere datastore clusters found."
+msgstr "Validating given datastore clusters of VMs …"
+
+#: lib/cr_tf/handler/vmware.py:297
+msgid "Searching for networks in VSPhere {!r} ..."
+msgstr "Searching for networks in VSPhere {!r} …"
+
+#: lib/cr_tf/handler/vmware.py:300
+msgid "Found one error in exploring vSphere {v!r} resources."
+msgid_plural "Found {n} errors in exploring vSphere {v!r} resources."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:318
+msgid "Found one error in exploring vSphere templates."
+msgid_plural "Found {n} errors in exploring vSphere templates."
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/handler/vmware.py:335
+msgid "Validating information from YAML file ..."
+msgstr "Validating information from YAML file …"
 
-#: lib/cr_tf/handler.py:1848
-msgid "Validating {f!r} => {a!r}."
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:339
+msgid "Found one error in validating vSphere computing clusters."
+msgid_plural "Found {n} errors in validating vSphere computing clusters."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/cr_tf/handler.py:1874
-msgid "Found existing addresses for {f!r}:"
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:355
+msgid "Got a list of all VMs and templates ..."
+msgstr "Got a list of all VMs and templates …"
 
-#: lib/cr_tf/handler.py:1876
-msgid "Did not found existing addresses for {!r}."
+#: lib/cr_tf/handler/vmware.py:374
+msgid "All existing VMs and templates:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1883 lib/cr_tf/handler.py:1891
-msgid "FQDN {f!r} already points to {a!r}."
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:386
+msgid "Found one error in validating VM storages."
+msgid_plural "Found {n} errors in validating VM storages."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/cr_tf/handler.py:1896
-msgid "FQDN {f!r} has already existing addresses, but none of them are {a!r}:"
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:404
+msgid "Found one error in validating VM interfaces."
+msgid_plural "Found {n} errors in validating VM interfaces."
+msgstr[0] ""
+msgstr[1] ""
 
-#: lib/cr_tf/handler.py:1912
-msgid "Validating reverse DNS mappings ..."
-msgstr "Validating reverse DNS mappings …"
+#: lib/cr_tf/handler/vmware.py:429
+msgid "Exploring all vSphere templates ..."
+msgstr "Exploring all vSphere templates …"
 
-#: lib/cr_tf/handler.py:1917
-msgid "Validating {a!r} => {f!r}."
+#: lib/cr_tf/handler/vmware.py:444
+msgid "VM {!r} has not template defined."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1924
-msgid "Got reverse info:"
+#: lib/cr_tf/handler/vmware.py:447
+msgid "All {} VSPhere templates to explore:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1931
-msgid "Did not found reverse pointer for {!r}."
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:456
+msgid "Searching for template {t!r} in VSPhere {v!r} ..."
+msgstr "Searching for template {t!r} in VSPhere {v!r} …"
 
-#: lib/cr_tf/handler.py:1939
-msgid "Found reverse pointer {a!r} => {f!r}."
+#: lib/cr_tf/handler/vmware.py:466
+msgid "Template {t!r} not found in VSPhere {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1942
-msgid "Reverse pointer for {!r} was already existing."
+#: lib/cr_tf/handler/vmware.py:471
+msgid "All explored vSphere templates:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:1946
-msgid "Address {a!r} has already an existing reverse pointer to {p!r}."
+#: lib/cr_tf/handler/vmware.py:484
+msgid "Validating existence of computing clusters of the VMs."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1957 lib/cr_tf/handler.py:1978 lib/cr_tf/handler.py:1999
-msgid "Method {c}.{m} expected at most one argument, got {n}."
-msgid_plural "Method {c}.{m} expected at most {e} arguments, got {n}."
-msgstr[0] ""
-msgstr[1] ""
+#: lib/cr_tf/handler/vmware.py:505
+msgid "Checking existence of computing cluster {c!r} in VSPhere {v!r} ..."
+msgstr "Checking existence of computing cluster {c!r} in VSPhere {v!r} …"
 
-#: lib/cr_tf/handler.py:1969
-msgid "Did not found network {!r}."
+#: lib/cr_tf/handler/vmware.py:513
+msgid "Found computing cluster {cl!r} in VSPhere {v!r} (defined for VMs {vms})."
 msgstr ""
 
-#: lib/cr_tf/handler.py:1990
-msgid "Did not found datastore cluster {!r}."
+#: lib/cr_tf/handler/vmware.py:517
+msgid "Computing cluster {cl!r} (defined for VMs {vms}) in VSPhere {v!r} not found."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2011
-msgid "Did not found datastore {!r}."
+#: lib/cr_tf/handler/vmware.py:526
+msgid "Validating existence of VMs in VMWare."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2017
-msgid "Performing DNS actions ..."
-msgstr "Performing DNS actions …"
-
-#: lib/cr_tf/handler.py:2033
-msgid "There was one error in creating DNS mappings."
-msgid_plural "There were {n} errors in creating DNS mappings."
-msgstr[0] ""
-msgstr[1] ""
-
-#: lib/cr_tf/handler.py:2039
-msgid "No errors in creating DNS mappings."
+#: lib/cr_tf/handler/vmware.py:543
+msgid "[{m}]  - VM is already existing in VSphere {v!r}, path {p!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2049
-msgid "Increasing serial of zone {!r}."
+#: lib/cr_tf/handler/vmware.py:551
+msgid "VM info:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2068
-msgid "Got zone {z!r} for FQDN {f!r}."
+#: lib/cr_tf/handler/vmware.py:553
+msgid "Datastore of VM {vm!r}: {ds!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2071
-msgid "Did not found zone to insert {t}-record for {f!r}."
+#: lib/cr_tf/handler/vmware.py:573
+msgid "CAUTION!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2089
-msgid "Trying to create PTR-record {a!r} => {f!r}."
+#: lib/cr_tf/handler/vmware.py:577
+msgid "Did not found any VM to deploy!"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2094
-msgid "PTR of {a!r}: {p!r}."
+#: lib/cr_tf/handler/vmware.py:580
+msgid "No VMs to deploy"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2099
-msgid "Got reverse zone {z!r} for address {a!r}."
+#: lib/cr_tf/handler/vmware.py:596
+msgid "Used datastore clusters:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2102
-msgid "Did not found zone to insert PTR-record {p!r} ({a})."
+#: lib/cr_tf/handler/vmware.py:598
+msgid "No datastore clusters are used."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2116
-msgid "Ensuring existence of directory {!r}."
+#: lib/cr_tf/handler/vmware.py:605
+msgid "Used datastors:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2120
-msgid "Directory {!r} already exists."
+#: lib/cr_tf/handler/vmware.py:607
+msgid "No datastores are used."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2122
-msgid "Path {!r} exists, but is not a directory."
+#: lib/cr_tf/handler/vmware.py:612
+msgid "Validating given datastore clusters of VMs ..."
+msgstr "Validating given datastore clusters of VMs …"
+
+#: lib/cr_tf/handler/vmware.py:640
+msgid "Found datastore cluster {c!r} in VSphere {v!r} for VM {n!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2125
-msgid "Creating directory {!r} ..."
-msgstr "Creating directory {!r} …"
+#: lib/cr_tf/handler/vmware.py:644
+msgid "Setting datastore cluster for VM {n!r} to {c!r} ..."
+msgstr "Setting datastore cluster for VM {n!r} to {c!r} …"
 
-#: lib/cr_tf/handler.py:2127
-msgid "Simulation mode - directory will not be created."
+#: lib/cr_tf/handler/vmware.py:649
+msgid "Free space of cluster {c!r} in VSphere {v!r} before provisioning: {a:0.1f} GiB."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2132
-msgid "Could not create directory {d!r}: {e}"
+#: lib/cr_tf/handler/vmware.py:654
+msgid ""
+"Datastore cluster {d!r} in VSphere {v!r} has not sufficient space for storage of VM {vm!r} "
+"(needed {n:0.1f} GiB, available {a:0.1f} GiB)."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2140
-msgid "Directory {!r} does not exists ?!?!"
+#: lib/cr_tf/handler/vmware.py:664
+msgid "Free space in cluster {c!r} in VSphere {v!r} after provisioning: {a:0.1f} GiB."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2144
-msgid "No write access to directory {!r}."
+#: lib/cr_tf/handler/vmware.py:676
+msgid "Datastore cluster {c!r} of VM {n!r} not found in VSphere {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2147
-msgid "Changing into directory {!r}."
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:683
+msgid "Validating given datastores of VMs and assign failing ..."
+msgstr "Validating given datastores of VMs and assign failing …"
 
-#: lib/cr_tf/handler.py:2152
-msgid "Script-Dir relative to project dir: {!r}."
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:689
+msgid "Removing defined datastore {d!r} for VM {n!r} ..."
+msgstr "Removing defined datastore {d!r} for VM {n!r} …"
 
-#: lib/cr_tf/handler.py:2155
-msgid "Checking {!r} for a previous terraform configuration."
+#: lib/cr_tf/handler/vmware.py:714 lib/cr_tf/handler/vmware.py:822
+msgid "Did not found cluster object {c!r} for VM {n!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2160
-msgid "In {d!r} there exists already {w!r}, but this is not a directory."
+#: lib/cr_tf/handler/vmware.py:724 lib/cr_tf/handler/vmware.py:759
+msgid "Found datastore {d!r} for VM {n!r} in VSPhere {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2166
-msgid "In {d!r} there exists already {w!r}, but this not a file."
+#: lib/cr_tf/handler/vmware.py:727
+msgid "Datastore {d!r} not available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2171
-msgid ""
-"In directory {d!r} there are already existing both {w1!r} and {w2!r}. Is this an old terraform "
-"project?"
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:731
+msgid "Setting datastore for VM {n!r} to {d!r} ..."
+msgstr "Setting datastore for VM {n!r} to {d!r} …"
 
-#: lib/cr_tf/handler.py:2181
-msgid "Cleaning project directory {!r}."
+#: lib/cr_tf/handler/vmware.py:736
+msgid ""
+"Datastore {d!r} has not sufficient space for storage of VM {v!r} (needed {n:0.1f} GiB, available"
+" {a:0.1f} GiB)."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2190
-msgid "Directory {!r} is already clean."
+#: lib/cr_tf/handler/vmware.py:747
+msgid "Datastore {d!r} of VM {n!r} not found in VSPhere {v!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2195
-msgid "Removing recursive directory {!r} ..."
-msgstr "Removing recursive directory {!r} …"
-
-#: lib/cr_tf/handler.py:2199
-msgid "Removing {!r} ..."
-msgstr "Removing {!r} …"
+#: lib/cr_tf/handler/vmware.py:772
+msgid "Validating interfaces of VMs and assign networks ..."
+msgstr "Validating interfaces of VMs and assign networks …"
 
-#: lib/cr_tf/handler.py:2208
-msgid "Creating all necessary files for terraform."
+#: lib/cr_tf/handler/vmware.py:777
+msgid "Validated FQDNs:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2229 lib/cr_tf/handler.py:2279 lib/cr_tf/handler.py:2340
-#: lib/cr_tf/handler.py:2357 lib/cr_tf/handler.py:2456
-msgid "Creating {!r} ..."
-msgstr "Creating {!r} …"
-
-#: lib/cr_tf/handler.py:2235 lib/cr_tf/handler.py:2359
-msgid "Creating {w} for VSPhere {v!r} ..."
-msgstr "Creating {w} for VSPhere {v!r} …"
-
-#: lib/cr_tf/handler.py:2481
-msgid "No minimum version of Terraform defined."
+#: lib/cr_tf/handler/vmware.py:778
+msgid "Validated Addresses:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2496
-msgid "Creating terraform files for VM instances."
+#: lib/cr_tf/handler/vmware.py:788
+msgid "Used networks:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2507
-msgid "Creating file {f!r} for VM instance {n!r}."
+#: lib/cr_tf/handler/vmware.py:794
+msgid "Used forward DNS entries:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2515
-msgid "Using template:"
+#: lib/cr_tf/handler/vmware.py:800
+msgid "Used reverse DNS entries:"
 msgstr ""
 
-#: lib/cr_tf/handler.py:2540
-msgid "Writing {!r}"
-msgstr ""
+#: lib/cr_tf/handler/vmware.py:806
+msgid "Checking interfaces of VM {n!r} in VSPhere {v!r} ..."
+msgstr "Checking interfaces of VM {n!r} in VSPhere {v!r} …"
 
-#: lib/cr_tf/handler.py:2557
-msgid "Generating global definitions of {!r}."
+#: lib/cr_tf/handler/vmware.py:810
+msgid "No interfaces defined for VM {!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2565
-msgid "Cluster {!r} not found - this shouldn't be happened."
+#: lib/cr_tf/handler/vmware.py:838
+msgid "Checking interface {i} of VM {n!r} ..."
+msgstr "Checking interface {i} of VM {n!r} …"
+
+#: lib/cr_tf/handler/vmware.py:842
+msgid "Interface {i} of VM {n!r} has no defined address."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2620
-msgid "Generating interface definition {i} of {v!r}."
+#: lib/cr_tf/handler/vmware.py:848
+msgid "Interface {i} of VM {n!r} has no defined FQDN."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2641
-msgid "Generating disk definition {i} of {v!r}."
+#: lib/cr_tf/handler/vmware.py:854
+msgid "FQDN {f!r} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2661
-msgid "Generating customization of {v!r}."
+#: lib/cr_tf/handler/vmware.py:866
+msgid "IPv4 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2703
-msgid "Generating file provisioner for {f!r} of {v!r}."
+#: lib/cr_tf/handler/vmware.py:881
+msgid "IPv6 address {a} already defined for VM {va!r}({ia}) should be set for interface {ib} of {vb!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2912
-msgid "Ensuring existence of all necessary vSphere VM folders."
+#: lib/cr_tf/handler/vmware.py:897
+msgid "Could not find network {n!r} for VM {v!r}, interface {i}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2936
-msgid "Importing existing virtual machines ..."
-msgstr "Importing existing virtual machines …"
+#: lib/cr_tf/handler/vmware.py:909
+msgid "Found network {n!r} for interface {i} of VM {v!r}."
+msgstr ""
 
-#: lib/cr_tf/handler.py:2942
-msgid "Importing VM {!r}."
+#: lib/cr_tf/handler/vmware.py:913
+msgid "Network {n!r} for interface {i} of VM {v!r} not available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2959
-msgid "Error on importing VM {!r}:"
+#: lib/cr_tf/handler/vmware.py:918
+msgid "Network {n!r} is available in cluster {c!r}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2981
-msgid "Congratulations!"
+#: lib/cr_tf/handler/vmware.py:923
+msgid "Setting gateway of interface {i} of VM {v!r} to {g}."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2983
-msgid "Now you are ready to deploy the following virtual machines:"
+#: lib/cr_tf/handler/vmware.py:949
+msgid "Ensuring existence of all necessary vSphere VM folders."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2987
-msgid "To start the deployment process change to directory {}"
+#: lib/cr_tf/terraform/disk.py:55 lib/cr_tf/terraform/disk.py:235
+msgid "Object {o!r} is not a {e} object."
 msgstr ""
 
-#: lib/cr_tf/handler.py:2990
-msgid "and enter: {}"
+#: lib/cr_tf/terraform/disk.py:91
+msgid "The name of a disk don't may be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:46 lib/cr_tf/terraform/disk.py:183
-msgid "Object {o!r} is not a {e} object."
+#: lib/cr_tf/terraform/disk.py:95
+msgid "The name of a disk don't may be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:93
+#: lib/cr_tf/terraform/disk.py:124
 msgid "Invalid disk size {n} - size must be {min} <= SIZE <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:127
+#: lib/cr_tf/terraform/disk.py:177
 msgid "A root disk must have always the unit number 0 (given {!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:131
+#: lib/cr_tf/terraform/disk.py:181
 msgid "Invalid unit number {n} - number must be {min} <= NUMBER <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:142
+#: lib/cr_tf/terraform/disk.py:192
 msgid "Copying Terraform disk object with unit ID {}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:178
+#: lib/cr_tf/terraform/disk.py:230
 msgid "Invalid disk type {{!r}} to set, only {} allowed."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:180
-msgid "The key {k!r} must be equal to the unit_number of the disk {u}."
+#: lib/cr_tf/terraform/disk.py:232
+msgid "The key {k!r} must be equal to the name of the disk {n!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:181
+#: lib/cr_tf/terraform/disk.py:233
 msgid "None type as key is not allowed."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:182
+#: lib/cr_tf/terraform/disk.py:234
 msgid "Empty key {!r} is not allowed."
 msgstr ""
 
-#: lib/cr_tf/terraform/disk.py:410
+#: lib/cr_tf/terraform/disk.py:466
 msgid "Copying Terraform disk dictionary ..."
 msgstr "Copying Terraform disk dictionary …"
 
@@ -1407,7 +1424,7 @@ msgstr ""
 msgid "IP address {!r} is not an IPv6 address."
 msgstr ""
 
-#: lib/cr_tf/terraform/interface.py:198 lib/cr_tf/terraform/vm.py:728
+#: lib/cr_tf/terraform/interface.py:198 lib/cr_tf/terraform/vm.py:804
 msgid "The hostname {!r} is no a valid FQDN."
 msgstr ""
 
@@ -1435,7 +1452,7 @@ msgstr ""
 msgid "Interface definition is not a dictionary:"
 msgstr ""
 
-#: lib/cr_tf/terraform/interface.py:379 lib/cr_tf/terraform/vm.py:299
+#: lib/cr_tf/terraform/interface.py:379 lib/cr_tf/terraform/vm.py:311
 msgid "Evaluating key {k!r}: {v}"
 msgstr ""
 
@@ -1443,290 +1460,350 @@ msgstr ""
 msgid "Copying Terraform interface object with address {}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:233
+#: lib/cr_tf/terraform/vm.py:241
 msgid "A VM template definition may not have a FQDN (found: {!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:237
+#: lib/cr_tf/terraform/vm.py:245
 msgid "A VM template definition must have a name."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:241
+#: lib/cr_tf/terraform/vm.py:249
 msgid "A VM definition (no template) must have a FQDN."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:256
+#: lib/cr_tf/terraform/vm.py:264
 msgid "Trying to instantiate VM from data:"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:264
+#: lib/cr_tf/terraform/vm.py:272
 msgid "Given parameter {!r} is not a TerraformVm object."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:334
+#: lib/cr_tf/terraform/vm.py:346
 msgid "Could not evaluate nameservers from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:345
+#: lib/cr_tf/terraform/vm.py:357
 msgid "Could not evaluate search domains from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:361
+#: lib/cr_tf/terraform/vm.py:373
 msgid "Template definitions may not have interface definitions."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:369
+#: lib/cr_tf/terraform/vm.py:381
 msgid "Could not evaluate interfaces from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:372
+#: lib/cr_tf/terraform/vm.py:384
 msgid "Unknown VM definition key {k!r} with value: {v!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:385
+#: lib/cr_tf/terraform/vm.py:397
 msgid "Applying vSphere {!r} to VM."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:437
+#: lib/cr_tf/terraform/vm.py:455
 msgid "Could not evaluate size of root disk, {!r} is not a dictionary."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:449
+#: lib/cr_tf/terraform/vm.py:468
 msgid "Could not evaluate data disk from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:462
+#: lib/cr_tf/terraform/vm.py:492
 msgid "Data disks for VM {!r} were set to None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:464
+#: lib/cr_tf/terraform/vm.py:494
 msgid "Could not evaluate data disks from {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:485
+#: lib/cr_tf/terraform/vm.py:515
 msgid "Key {k!r} has no string value, but a {c!r} instead."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:493
+#: lib/cr_tf/terraform/vm.py:526
 msgid "Invalid contact name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:500 lib/cr_tf/terraform/vm.py:555
+#: lib/cr_tf/terraform/vm.py:533 lib/cr_tf/terraform/vm.py:595
 msgid "Invalid puppet customer name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:507 lib/cr_tf/terraform/vm.py:562
+#: lib/cr_tf/terraform/vm.py:540 lib/cr_tf/terraform/vm.py:602
 msgid "Invalid puppet customer project name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:514 lib/cr_tf/terraform/vm.py:569
+#: lib/cr_tf/terraform/vm.py:547 lib/cr_tf/terraform/vm.py:609
 msgid "Invalid puppet role {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:521 lib/cr_tf/terraform/vm.py:576
+#: lib/cr_tf/terraform/vm.py:558 lib/cr_tf/terraform/vm.py:620
 msgid "Invalid puppet tier {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:528 lib/cr_tf/terraform/vm.py:584
+#: lib/cr_tf/terraform/vm.py:565 lib/cr_tf/terraform/vm.py:628
 msgid "Setting Puppet environment to {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:530 lib/cr_tf/terraform/vm.py:587
+#: lib/cr_tf/terraform/vm.py:567 lib/cr_tf/terraform/vm.py:631
 msgid "Invalid puppet environment {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:543
+#: lib/cr_tf/terraform/vm.py:583
 msgid "Evaluating sub key of {d!r}: {k!r} => {v!r}"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:548
+#: lib/cr_tf/terraform/vm.py:588
 msgid "Invalid puppet contact name {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:599
+#: lib/cr_tf/terraform/vm.py:643
 msgid "Template"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:604
+#: lib/cr_tf/terraform/vm.py:648
 msgid "Copying Terraform VM object {!r} ..."
 msgstr "Copying Terraform VM object {!r} …"
 
-#: lib/cr_tf/terraform/vm.py:636 lib/cr_tf/terraform/vm.py:663
+#: lib/cr_tf/terraform/vm.py:680 lib/cr_tf/terraform/vm.py:707
 msgid "Parameter {p} {ns!r} is not iterable."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:645
+#: lib/cr_tf/terraform/vm.py:689
 msgid "There are at most {mx} nameservers accepted, {addr} will not be considered."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:653
+#: lib/cr_tf/terraform/vm.py:697
 msgid "Invalid nameserver address {v!r}: {e}"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:670
+#: lib/cr_tf/terraform/vm.py:714
 msgid "There are at most {mx} search domains accepted, {srv} will not be considered."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:732
+#: lib/cr_tf/terraform/vm.py:730
+msgid "The VM {!r} was no VMware template assigned, assuming the VM should become a RHEL instance."
+msgstr ""
+
+#: lib/cr_tf/terraform/vm.py:740
+msgid "Guessing the VM {fqdn!r} should become a RHEL instance: {ret!r}"
+msgstr ""
+
+#: lib/cr_tf/terraform/vm.py:808
 msgid "The hostname {!r} may not end with a dot '.'."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:751
+#: lib/cr_tf/terraform/vm.py:827
 msgid "The name of a template VM may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:759
+#: lib/cr_tf/terraform/vm.py:835
 msgid "The name of a template VM may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:774
+#: lib/cr_tf/terraform/vm.py:850
 msgid "The name of the VSPhere may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:779
+#: lib/cr_tf/terraform/vm.py:855
 msgid "The name of the VSPhere may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:818
+#: lib/cr_tf/terraform/vm.py:894
 msgid "Invalid number of CPUs {n} - number must be {min} <= NUMBER <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:835
+#: lib/cr_tf/terraform/vm.py:911
 msgid "Trying to detect memory from value {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:839
+#: lib/cr_tf/terraform/vm.py:915
 msgid "Invalid memory {!r}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:849
+#: lib/cr_tf/terraform/vm.py:925
 msgid "Invalid memory {m} - memory must be {min} <= MiBytes <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:854
+#: lib/cr_tf/terraform/vm.py:930
 msgid "Invalid memory {m}, must be a multipe of {c}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:868
+#: lib/cr_tf/terraform/vm.py:944
 msgid "The name of the computing cluster of the VM may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:873
+#: lib/cr_tf/terraform/vm.py:949
 msgid "The name of the computing cluster of the VM may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:887
+#: lib/cr_tf/terraform/vm.py:963
 msgid "A folder name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:892
+#: lib/cr_tf/terraform/vm.py:968
 msgid "A folder name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:906
+#: lib/cr_tf/terraform/vm.py:982
 msgid "Invalid boot delay {b:0.1} - delay must be {min} <= NUMBER <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:963
+#: lib/cr_tf/terraform/vm.py:1039
 msgid "Datastore type {t!r} not allowed, valid datastore types are: {li}"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:977
+#: lib/cr_tf/terraform/vm.py:1053
 msgid "A customer name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:982
+#: lib/cr_tf/terraform/vm.py:1058
 msgid "A customer name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1001
+#: lib/cr_tf/terraform/vm.py:1077
 msgid "A purpose may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1006
+#: lib/cr_tf/terraform/vm.py:1082
 msgid "A purpose may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1019
+#: lib/cr_tf/terraform/vm.py:1095
 msgid "A template VM name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1024
+#: lib/cr_tf/terraform/vm.py:1100
 msgid "A template VM name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1037
+#: lib/cr_tf/terraform/vm.py:1113
 msgid "A puppet contact name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1042
+#: lib/cr_tf/terraform/vm.py:1118
 msgid "A puppet contact name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1055
+#: lib/cr_tf/terraform/vm.py:1131
 msgid "A puppet hiera customer name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1060
+#: lib/cr_tf/terraform/vm.py:1136
 msgid "A puppet hiera customer name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1063
+#: lib/cr_tf/terraform/vm.py:1139
 msgid "A puppet hiera customer name may not contain a slash (/) character."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1076
+#: lib/cr_tf/terraform/vm.py:1152
 msgid "A puppet hiera project name should not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1082
+#: lib/cr_tf/terraform/vm.py:1158
 msgid "A puppet hiera customer project may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1085
+#: lib/cr_tf/terraform/vm.py:1161
 msgid "A puppet hiera customer project may not contain a slash (/) character."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1118
+#: lib/cr_tf/terraform/vm.py:1194
 msgid "A puppet role may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1123
+#: lib/cr_tf/terraform/vm.py:1199
 msgid "A puppet role may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1136
+#: lib/cr_tf/terraform/vm.py:1212
 msgid "A puppet tier name may not be None."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1141
+#: lib/cr_tf/terraform/vm.py:1217
 msgid "A puppet tier name may not be empty."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1145
+#: lib/cr_tf/terraform/vm.py:1221
 msgid "A puppet tier should be one of {li} (given: {v!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1171
+#: lib/cr_tf/terraform/vm.py:1247
 msgid "A puppet environment should be one of {li} (given: {v!r})."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1195
+#: lib/cr_tf/terraform/vm.py:1271
 msgid "Invalid root disk size {n} - size must be {min} <= SIZE <= {max}."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1269
+#: lib/cr_tf/terraform/vm.py:1360
 msgid "Resetting root disk."
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1296
+#: lib/cr_tf/terraform/vm.py:1393
 msgid "Using parameters for init data disk:"
 msgstr ""
 
-#: lib/cr_tf/terraform/vm.py:1304
+#: lib/cr_tf/terraform/vm.py:1402
 msgid "Got data disk:"
 msgstr ""
 
+#: lib/cr_tf/vs_config.py:149
+msgid "a port may not be less than 1: {}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:153
+msgid "a port may not be greater than {m}: {v}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:157
+msgid "Wrong port number {v!r}: {e}"
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:262
+msgid "may not be less than 10: {:0.1f}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:266
+msgid "may not be greater than {m}: {v:0.1f}."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:270
+msgid "Wrong minimum root size in GiB {v!r}: {e}"
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:342
+msgid "Comparing {} objects ..."
+msgstr "Comparing {} objects …"
+
+#: lib/cr_tf/vs_config.py:375
+msgid "unknown"
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:379
+msgid "Checking validity of {o}-object {n!r} ..."
+msgstr "Checking for {o}{m!r} …"
+
+#: lib/cr_tf/vs_config.py:390
+msgid "Attribute {a!r} of the {o}-object {n!r} is not set."
+msgstr ""
+
+#: lib/cr_tf/vs_config.py:399
+msgid "Found an error in VSPhere configuration"
+msgid_plural "Found {} errors in VSPhere configuration"
+msgstr[0] ""
+msgstr[1] ""
+
+#: lib/cr_tf/vs_config.py:409
+msgid ""
+"Attribute {a!r} of the {o}-object {n!r} is not set, it will be requestet during this script and "
+"on starting terraform."
+msgstr ""
+
 #: lib/cr_tf/xlate.py:54
 msgid "Module directory: {!r}"
 msgstr ""
@@ -1747,3 +1824,15 @@ msgstr ""
 msgid "Found .mo-file: {!r}"
 msgstr ""
 
+#~ msgid "Generating disk definition {i} of {v!r}."
+#~ msgstr ""
+
+#~ msgid "The key {k!r} must be equal to the unit_number of the disk {u}."
+#~ msgstr ""
+
+#~ msgid "The password of the ser used for subscribing at RedHat may not be None."
+#~ msgstr ""
+
+#~ msgid "Power DNS actions are not eceuted."
+#~ msgstr ""
+