72b882ac75d15cd5d46bf98e03937859b5a72080
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / examples / clearwater / clearwater-single-existing.yaml
1 # Licensed to the Apache Software Foundation (ASF) under one or more
2 # contributor license agreements.  See the NOTICE file distributed with
3 # this work for additional information regarding copyright ownership.
4 # The ASF licenses this file to You under the Apache License, Version 2.0
5 # (the "License"); you may not use this file except in compliance with
6 # the License.  You may obtain a copy of the License at
7 #
8 #     http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15
16 tosca_definitions_version: tosca_simple_yaml_1_0
17
18 description: >-
19   Project Clearwater is an open-source IMS core, developed by Metaswitch Networks and released under
20   the GNU GPLv3.
21
22 metadata:
23   template_name: clearwater-single-existing
24   template_author: ARIA
25   template_version: '1.0'
26   aria_version: '0.2.0'
27
28 imports:
29   - types/clearwater.yaml
30   - aria-1.0
31
32 topology_template:
33
34   inputs:
35     hosts.ssh.user:
36       description: >-
37         Existing SSH user.
38       type: string
39     hosts.ssh.password:
40       description: >-
41         Existing SSH password.
42       type: string
43     existing_host.public_address:
44       description: >-
45         Existing IP address that can be accessed by ARIA.
46       type: string
47     existing_host.private_address:
48       description: >-
49         Existing IP address that can be accessed within the service.
50       type: string
51       default: { get_input: existing_host.public_address }
52     existing_host.hostname:
53       description: >-
54         The hostname will be changed to this.
55       type: string
56       default: aria-clearwater-single
57
58   node_templates:
59     bono:
60       type: clearwater.Bono
61       requirements:
62         - sip_downstream: clearwater.Sprout
63         - sip_secure_downstream: clearwater.Sprout
64         - ralf: clearwater.Ralf
65
66     sprout:
67       type: clearwater.Sprout
68       requirements:
69         - ralf: clearwater.Ralf
70 # cyclical: see ARIA-327
71 #        - sip_upstream: clearwater.Bono
72
73     dime:
74       type: clearwater.Dime
75
76     homestead:
77       type: clearwater.Homestead
78
79     ralf:
80       type: clearwater.Ralf
81       description: >-
82         Optional, only required if you are using a CCF (Charging Collection Function).
83
84     homer:
85       type: clearwater.Homer
86
87     vellum:
88       type: clearwater.Vellum
89 #      requirements:
90 # cyclical: see ARIA-327
91 #        - ralf: clearwater.Ralf
92
93     i-cscf:
94       type: clearwater.I-CSCF
95
96     s-cscf:
97       type: clearwater.S-CSCF
98
99     ellis:
100       type: clearwater.Ellis
101       description: >-
102         Optional, only required if you want a web frontend.
103       properties:
104         provision_numbers_count: 1000
105       requirements:
106         - ralf: clearwater.Ralf
107
108     existing_host:
109       type: clearwater.Host
110       attributes:
111         public_address: { get_input: existing_host.public_address }
112         private_address: { get_input: existing_host.private_address }
113       capabilities:
114         host:
115           properties:
116             hostname: { get_input: existing_host.hostname }
117             ssh.user: { get_input: hosts.ssh.user }
118             ssh.password: { get_input: hosts.ssh.password }
119             max_log_directory_size: 50 MiB
120             reduce_cassandra_mem_usage: true
121
122     smtp:
123       type: smtp.SMTP
124       properties:
125         address: 127.0.0.1
126       capabilities:
127         smtp:
128           properties:
129             username: username
130             password: password
131
132   policies:
133     configuration:
134       type: clearwater.Configuration
135       properties:
136         zone: example.com
137         secret: secret
138
139   substitution_mappings:
140     node_type: ims.nodes.IMS
141     capabilities:
142        p-cscf: [ bono, p-cscf ]
143        i-cscf: [ i-cscf, i-cscf ]
144        s-cscf: [ s-cscf, s-cscf ]
145        hss: [ homestead, hss ]
146        ctf: [ ralf, ctf ]
147        xdms: [ homer, xdms ]