## 1 Introduction  
For automating the deployment of _composite applications_, which consist of components having dependencies on each other, several deployment technologies, such as Terraform or Ansible, have been developed. According to a review conducted by [PERSON] et al. [1], most deployment technologies support executing deployments based on _declarative deployment models_[2], which describe the application components to be deployed, their configurations, and their dependencies in the form of a graph. However, depending on the current context in which a deployment must be performed, different aspects, e.g., requirements regarding costs, scalability, or security, need to be considered. For example, to reduce costs during the development of an application, often all components, e.g., business logic components, databases, or queues, are simply deployed on virtual machines running on a private hypervisor, such as OpenStack, or inside Docker containers running on a local Docker engine. On the other side, production deployments that have to serve high workloads typically run on hyperscaler clouds, e.g., Google Cloud Platform (GCP), and are hosted using modern service technologies, such as _Function-as-a-Service_, e.g., Google Cloud Functions [3]. Describing different variants of an application deployment using individual deployment models quickly results in a large number of models which are error prone to maintain. For example, if a new version of a component is released, this component must be updated in each deployment model in which it is present. Deployment technologies, such as Terraform or Ansible, support conditional components and dependencies which allow modeling different deployment variants of a composite application in a single deployment model. However, there are deployment technologies, such as TOSCA and Docker Compose, which do not support such conditional elements. The objective of this work is to _integrate conditional components and dependencies into technologies that do not support such conditional elements by preprocessing respective deployment models_. To achieve this we proceed as follows:  
1. Variable Deployment Models: We present a modeling approach to describe different deployment variants of a composite application in a single deployment model, which we call the _Variable Deployment Model_. 2. Preprocessing: We introduce algorithms to preprocess such a Variable Deployment Model to derive a deployment model based on current context parameters, such as costs or scalability requirements. 3. Prototype: We implement an open-source prototype called _OpenTOSCA Vintner_, which applies our approach to the TOSCA standard ([PERSON] et al., 2018). For this purpose, we extend the _Essential Deployment Metamodel (EDMM)_([PERSON] et al., 2018) by _conditional components and conditional dependencies_. We refer to this extended model as _Variable Deployment Model_. EDMM is a normalized declarative deployment metamodel that can be mapped to the most prominent declarative deployment technologies, such as Terraform, Ansible, TOSCA, and Docker Compose. The Variable Deployment Model is then preprocessed to derive an EDMM conform deployment model. As a result, conditional elements can be integrated on top of existing deployment technologies that are unaware of such concepts. For our prototype, we applied our extension to the TOSCA modeling language, which we call _Variability4 TOSCA_. Afterward, we implemented a _Variability4 TOSCA Deployment System_ which automatically transforms Variability4 TOSCA models into standard-compliant TOSCA models and shows that these models can be executed by the open-source TOSCA orchestrators xOpera and Unfurl which are not aware of conditional elements. The remainder of this paper is structured as follows. Section 2 introduces fundamentals and motivates our approach. In Sections 3 and 4, we present the approach and its formal definitions and algorithms. We present a system architecture, prototypical implementation, detailed technical case study, and benchmark in Section 5.