Convert SwiftDevicesAndProxyConfig to composable format
[apex-tripleo-heat-templates.git] / network / service_net_map.yaml
1 heat_template_version: 2016-10-14
2
3 description: >
4   Mapping of service_name_network -> network name
5
6 parameters:
7   ServiceNetMap:
8     description: Mapping of service_name -> network name. Typically set
9                  via parameter_defaults in the resource registry.  This
10                  mapping overrides those in ServiceNetMapDefaults.
11     default: {}
12     type: json
13
14   ServiceNetMapDefaults:
15     default:
16       ApacheNetwork: internal_api
17       NeutronTenantNetwork: tenant
18       CeilometerApiNetwork: internal_api
19       AodhApiNetwork: internal_api
20       GnocchiApiNetwork: internal_api
21       MongodbNetwork: internal_api
22       CinderApiNetwork: internal_api
23       CinderIscsiNetwork: storage
24       GlanceApiNetwork: storage
25       GlanceRegistryNetwork: internal_api
26       IronicApiNetwork: ctlplane
27       IronicNetwork: ctlplane
28       KeystoneAdminApiNetwork: ctlplane # allows undercloud to config endpoints
29       KeystonePublicApiNetwork: internal_api
30       ManilaApiNetwork: internal_api
31       NeutronApiNetwork: internal_api
32       HeatApiNetwork: internal_api
33       NovaApiNetwork: internal_api
34       NovaMetadataNetwork: internal_api
35       NovaVncProxyNetwork: internal_api
36       SwiftStorageNetwork: storage_mgmt
37       SwiftProxyNetwork: storage
38       SaharaApiNetwork: internal_api
39       HorizonNetwork: internal_api
40       MemcachedNetwork: internal_api
41       RabbitmqNetwork: internal_api
42       RedisNetwork: internal_api
43       MysqlNetwork: internal_api
44       CephClusterNetwork: storage_mgmt
45       CephMonNetwork: storage
46       ControllerHostnameResolveNetwork: internal_api
47       ComputeHostnameResolveNetwork: internal_api
48       BlockStorageHostnameResolveNetwork: internal_api
49       ObjectStorageHostnameResolveNetwork: internal_api
50       CephStorageHostnameResolveNetwork: storage
51       PublicNetwork: external
52       OpenDaylightApiNetwork: internal_api
53     description: Mapping of service_name -> network name. Typically set
54                  via parameter_defaults in the resource registry.
55     type: json
56
57   # We define mappings to work around names that break when doing the
58   # CamelCase to snake_case conversion to align with service_names
59   ServiceNetMapDeprecatedMapping:
60     default:
61       MongoDbNetwork: MongodbNetwork
62       RabbitMqNetwork: RabbitmqNetwork
63       CephPublicNetwork: CephMonNetwork
64       SwiftMgmtNetwork: SwiftStorageNetwork
65     description: Mapping older deprecated service names, intended for
66                  internal use only, this will be removed in future.
67     type: json
68
69 parameter_groups:
70 - label: deprecated
71   description: Do not use deprecated params, they will be removed.
72   parameters:
73   - ServiceNetMapDeprecatedMapping
74
75 outputs:
76   service_net_map:
77     value:
78       map_merge:
79         - {get_param: ServiceNetMapDefaults}
80         - map_replace:
81            - {get_param: ServiceNetMap}
82            - keys: {get_param: ServiceNetMapDeprecatedMapping}
83
84   service_net_map_lower:
85     value:
86       # This does a conversion from CamelCase to snake_case,
87       # e.g HeatApiNetwork becomes heat_api_network so it
88       # matches the service names.
89       yaql:
90         expression: dict($.data.map.items().select([ regex(`([a-z0-9])([A-Z])`).replace($[0], '\\1_\\2').toLower(), $[1]]))
91         data:
92           map:
93             map_merge:
94               - {get_param: ServiceNetMapDefaults}
95               - map_replace:
96                  - {get_param: ServiceNetMap}
97                  - keys: {get_param: ServiceNetMapDeprecatedMapping}