Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 1 | tosca_definitions_version: tosca_simple_yaml_1_0 |
| 2 | |
| 3 | # Note: Tosca derived_from isn't working the way I think it should, it's not |
| 4 | # inheriting from the parent template. Until we get that figured out, use |
| 5 | # m4 macros do our inheritance |
| 6 | |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
| 11 | # end m4 macros |
| 12 | # |
| 13 | # compile this with "m4 custom_types/xos.m4 > custom_types/xos.yaml" |
| 14 | |
| 15 | node_types: |
| 16 | tosca.nodes.Service: |
| 17 | derived_from: tosca.nodes.Root |
| 18 | capabilities: |
| 19 | scalable: |
| 20 | type: tosca.capabilities.Scalable |
| 21 | service: |
| 22 | type: tosca.capabilities.xos.Service |
| 23 | properties: |
| 24 | view_url: |
| 25 | type: string |
| 26 | required: false |
Scott Baker | 5deb33d | 2015-08-10 17:08:54 -0700 | [diff] [blame] | 27 | icon_url: |
| 28 | type: string |
| 29 | required: false |
Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 30 | |
Scott Baker | 5deb33d | 2015-08-10 17:08:54 -0700 | [diff] [blame] | 31 | tosca.nodes.VCPEService: |
Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 32 | derived_from: tosca.nodes.Root |
| 33 | capabilities: |
| 34 | scalable: |
| 35 | type: tosca.capabilities.Scalable |
| 36 | service: |
| 37 | type: tosca.capabilities.xos.Service |
| 38 | properties: |
| 39 | view_url: |
| 40 | type: string |
| 41 | required: false |
Scott Baker | 5deb33d | 2015-08-10 17:08:54 -0700 | [diff] [blame] | 42 | icon_url: |
| 43 | type: string |
| 44 | required: false |
Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 45 | backend_network_label: |
| 46 | type: string |
| 47 | required: false |
| 48 | |
Scott Baker | 5deb33d | 2015-08-10 17:08:54 -0700 | [diff] [blame] | 49 | tosca.nodes.VBNGService: |
| 50 | derived_from: tosca.nodes.Root |
| 51 | capabilities: |
| 52 | scalable: |
| 53 | type: tosca.capabilities.Scalable |
| 54 | service: |
| 55 | type: tosca.capabilities.xos.Service |
| 56 | properties: |
| 57 | view_url: |
| 58 | type: string |
| 59 | required: false |
| 60 | icon_url: |
| 61 | type: string |
| 62 | required: false |
| 63 | vbng_url: |
| 64 | type: string |
| 65 | required: false |
| 66 | |
| 67 | tosca.nodes.CDNService: |
| 68 | derived_from: tosca.nodes.Root |
| 69 | capabilities: |
| 70 | scalable: |
| 71 | type: tosca.capabilities.Scalable |
| 72 | service: |
| 73 | type: tosca.capabilities.xos.Service |
| 74 | properties: |
| 75 | view_url: |
| 76 | type: string |
| 77 | required: false |
| 78 | icon_url: |
| 79 | type: string |
| 80 | required: false |
| 81 | |
Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 82 | tosca.nodes.User: |
| 83 | derived_from: tosca.nodes.Root |
| 84 | |
| 85 | capabilities: |
| 86 | user: |
| 87 | type: tosca.capabilities.xos.User |
| 88 | |
| 89 | properties: |
| 90 | password: |
| 91 | type: string |
| 92 | required: true |
| 93 | firstname: |
| 94 | type: string |
| 95 | required: true |
| 96 | lastname: |
| 97 | type: string |
| 98 | required: true |
| 99 | phone: |
| 100 | type: string |
| 101 | required: false |
| 102 | user_url: |
| 103 | type: string |
| 104 | required: false |
| 105 | public_key: |
| 106 | type: string |
| 107 | required: false |
| 108 | is_active: |
| 109 | type: boolean |
| 110 | default: true |
| 111 | is_admin: |
| 112 | type: boolean |
| 113 | default: false |
| 114 | login_page: |
| 115 | type: string |
| 116 | required: false |
| 117 | |
| 118 | tosca.nodes.NetworkTemplate: |
| 119 | derived_from: tosca.nodes.Root |
| 120 | |
| 121 | capabilities: |
| 122 | network_template: |
| 123 | type: tosca.capabilities.xos.NetworkTemplate |
| 124 | |
| 125 | properties: |
| 126 | visibility: |
| 127 | type: string |
| 128 | default: private |
| 129 | translation: |
| 130 | type: string |
| 131 | default: none |
| 132 | shared_network_name: |
| 133 | type: string |
| 134 | required: false |
| 135 | shared_network_id: |
| 136 | type: string |
| 137 | required: false |
| 138 | topology_kind: |
| 139 | type: string |
| 140 | default: BigSwitch |
| 141 | controller_kind: |
| 142 | type: string |
| 143 | required: false |
| 144 | |
Scott Baker | 2edd4f3 | 2015-08-14 12:41:18 -0700 | [diff] [blame^] | 145 | tosca.nodes.network.Network.XOS: |
| 146 | # Due to bug? in implementation, we have to copy everything from |
| 147 | # tosca definitions tosca.nodes.network.Network here rather than |
| 148 | # using derived_from. |
| 149 | derived_from: tosca.nodes.Root |
| 150 | description: >
|
| 151 | The TOSCA Network node represents a simple, logical network service.
|
| 152 | properties:
|
| 153 | ip_version:
|
| 154 | type: integer
|
| 155 | required: no
|
| 156 | default: 4
|
| 157 | constraints:
|
| 158 | - valid_values: [ 4, 6 ]
|
| 159 | description: >
|
| 160 | The IP version of the requested network. Valid values are 4 for ipv4
|
| 161 | or 6 for ipv6.
|
| 162 | cidr:
|
| 163 | type: string
|
| 164 | required: no
|
| 165 | description: >
|
| 166 | The cidr block of the requested network.
|
| 167 | start_ip:
|
| 168 | type: string
|
| 169 | required: no
|
| 170 | description: >
|
| 171 | The IP address to be used as the start of a pool of addresses within
|
| 172 | the full IP range derived from the cidr block.
|
| 173 | end_ip:
|
| 174 | type: string
|
| 175 | required: no
|
| 176 | description: >
|
| 177 | The IP address to be used as the end of a pool of addresses within
|
| 178 | the full IP range derived from the cidr block.
|
| 179 | gateway_ip:
|
| 180 | type: string
|
| 181 | required: no
|
| 182 | description: >
|
| 183 | The gateway IP address.
|
| 184 | network_name:
|
| 185 | type: string
|
| 186 | required: no
|
| 187 | description: >
|
| 188 | An identifier that represents an existing Network instance in the
|
| 189 | underlying cloud infrastructure or can be used as the name of the
|
| 190 | newly created network. If network_name is provided and no other
|
| 191 | properties are provided (with exception of network_id), then an
|
| 192 | existing network instance will be used. If network_name is provided
|
| 193 | alongside with more properties then a new network with this name will
|
| 194 | be created.
|
| 195 | network_id:
|
| 196 | type: string
|
| 197 | required: no
|
| 198 | description: >
|
| 199 | An identifier that represents an existing Network instance in the
|
| 200 | underlying cloud infrastructure. This property is mutually exclusive
|
| 201 | with all other properties except network_name. This can be used alone
|
| 202 | or together with network_name to identify an existing network.
|
| 203 | segmentation_id:
|
| 204 | type: string
|
| 205 | required: no
|
| 206 | description: >
|
| 207 | A segmentation identifier in the underlying cloud infrastructure.
|
| 208 | E.g. VLAN ID, GRE tunnel ID, etc..
|
| 209 | dhcp_enabled:
|
| 210 | type: boolean
|
| 211 | required: no
|
| 212 | default: true
|
| 213 | description: >
|
| 214 | Indicates should DHCP service be enabled on the network or not.
|
| 215 | # XOS-specific
|
| 216 | ports:
|
Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 217 | type: string |
| 218 | required: false |
| 219 | labels: |
| 220 | type: string |
| 221 | required: false |
| 222 | permit_all_slices: |
| 223 | type: boolean |
Scott Baker | 2edd4f3 | 2015-08-14 12:41:18 -0700 | [diff] [blame^] | 224 | # In the data model, this is defaulted to false. However, to |
| 225 | # preserve Tosca semantics, we default it to true instead. |
| 226 | default: true |
| 227 | capabilities:
|
| 228 | link:
|
| 229 | type: tosca.capabilities.network.Linkable |
| 230 | |
| 231 | # tosca.nodes.XOSNetwork: |
| 232 | # derived_from: tosca.nodes.Root |
| 233 | # |
| 234 | # capabilities: |
| 235 | # network: |
| 236 | # type: tosca.capabilities.xos.Network |
| 237 | # |
| 238 | # properties: |
| 239 | # ports: |
| 240 | # type: string |
| 241 | # required: false |
| 242 | # labels: |
| 243 | # type: string |
| 244 | # required: false |
| 245 | # permit_all_slices: |
| 246 | # type: boolean |
| 247 | # default: false |
| 248 | # permitted_slices: |
| 249 | # type: string |
| 250 | # required: false |
Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 251 | |
| 252 | tosca.nodes.Deployment: |
| 253 | derived_from: tosca.nodes.Root |
| 254 | capabilities: |
| 255 | deployment: |
| 256 | type: tosca.capabilities.xos.Deployment |
| 257 | |
| 258 | tosca.nodes.Controller: |
| 259 | derived_from: tosca.nodes.Root |
| 260 | capabilities: |
| 261 | controller: |
| 262 | type: tosca.capabilities.xos.Controller |
| 263 | properties: |
| 264 | backend_type: |
| 265 | type: string |
| 266 | required: false |
| 267 | version: |
| 268 | type: string |
| 269 | required: false |
| 270 | auth_url: |
| 271 | type: string |
| 272 | required: false |
| 273 | admin_user: |
| 274 | type: string |
| 275 | required: false |
| 276 | admin_password: |
| 277 | type: string |
| 278 | required: false |
| 279 | admin_tenant: |
| 280 | type: string |
| 281 | required: false |
| 282 | domain: |
| 283 | type: string |
| 284 | required: false |
| 285 | |
| 286 | tosca.nodes.Site: |
| 287 | derived_from: tosca.nodes.Root |
| 288 | capabilities: |
| 289 | site: |
| 290 | type: tosca.capabilities.xos.Site |
| 291 | properties: |
| 292 | display_name: |
| 293 | type: string |
| 294 | required: false |
| 295 | description: name of the site |
| 296 | site_url: |
| 297 | type: string |
| 298 | required: false |
| 299 | enabled: |
| 300 | type: boolean |
| 301 | default: true |
| 302 | hosts_nodes: |
| 303 | type: boolean |
| 304 | default: true |
| 305 | hosts_users: |
| 306 | type: boolean |
| 307 | default: true |
| 308 | is_public: |
| 309 | type: boolean |
| 310 | default: true |
| 311 | # location, longitude, latitude |
| 312 | |
| 313 | tosca.nodes.Slice: |
| 314 | derived_from: tosca.nodes.Root |
| 315 | capability: |
| 316 | slice: |
| 317 | type: tosca.capabilities.xos.Slice |
| 318 | |
| 319 | tosca.relationships.MemberOfSlice: |
| 320 | derived_from: tosca.relationships.Root |
| 321 | valid_target_types: [ tosca.capabilities.xos.Slice ] |
| 322 | |
| 323 | tosca.relationships.MemberOfService: |
| 324 | derived_from: tosca.relationships.Root |
| 325 | valid_target_types: [ tosca.capabilities.xos.Service ] |
| 326 | |
| 327 | tosca.relationships.MemberOfSite: |
| 328 | derived_from: tosca.relationships.Root |
| 329 | valid_target_types: [ tosca.capabilities.xos.Site ] |
| 330 | |
| 331 | tosca.relationships.TenantOfService: |
| 332 | derived_from: tosca.relationships.Root |
| 333 | valid_target_types: [ tosca.capabilities.xos.Service ] |
| 334 | |
| 335 | tosca.relationships.ControllerDeployment: |
| 336 | derived_from: tosca.relationships.Root |
| 337 | valid_target_types: [ tosca.capabilities.xos.Deployment ] |
| 338 | |
| 339 | tosca.relationships SiteDeployment: |
| 340 | derived_from: tosca.relationships.Root |
| 341 | valid_target_types: [ tosca.capabilities.xos.Deployment ] |
| 342 | |
| 343 | tosca.relationships.UsesController: |
| 344 | derived_from: tosca.relationships.Root |
| 345 | valid_target_types: [ tosca.capabilities.xos.Controller ] |
| 346 | |
| 347 | tosca.relationships.ConnectsToNetwork: |
| 348 | derived_from: tosca.relationships.Root |
| 349 | valid_target_types: [ tosca.capabilities.xos.Network ] |
| 350 | |
| 351 | # tosca.relationships.OwnsNetwork: |
| 352 | # derived_from: tosca.relationships.Root |
| 353 | # valid_target_types: [ tosca.capabilities.xos.Network ] |
| 354 | |
| 355 | tosca.relationships.UsesNetworkTemplate: |
| 356 | derived_from: tosca.relationships.Root |
| 357 | valid_target_types: [ tosca.capabilities.xos.NetworkTemplate ] |
| 358 | |
| 359 | tosca.relationships.AdminPrivilege: |
| 360 | derived_from: tosca.relationships.Root |
| 361 | valid_target_types: [ tosca.capabilities.xos.Slice, tosca.capabiltys.xos.Site ] |
| 362 | |
| 363 | tosca.relationships.AccessPrivilege: |
| 364 | derived_from: tosca.relationships.Root |
| 365 | valid_target_types: [ tosca.capabilities.xos.Slice, tosca.capabiltys.xos.Site ] |
| 366 | |
| 367 | tosca.relationships.PIPrivilege: |
| 368 | derived_from: tosca.relationships.Root |
| 369 | valid_target_types: [ tosca.capabiltys.xos.Site ] |
| 370 | |
| 371 | tosca.relationships.TechPrivilege: |
| 372 | derived_from: tosca.relationships.Root |
| 373 | valid_target_types: [ tosca.capabiltys.xos.Site ] |
| 374 | |
| 375 | tosca.capabilities.xos.Service: |
| 376 | derived_from: tosca.capabilities.Root |
| 377 | description: An XOS Service |
| 378 | |
| 379 | tosca.capabilities.xos.Deployment: |
| 380 | derived_from: tosca.capabilities.Root |
| 381 | description: An XOS Deployment |
| 382 | |
| 383 | tosca.capabilities.xos.Controller: |
| 384 | derived_from: tosca.capabilities.Root |
| 385 | description: An XOS Controller |
| 386 | |
| 387 | tosca.capabilities.xos.Site: |
| 388 | derived_from: tosca.capabilities.Root |
| 389 | description: An XOS Site |
| 390 | |
| 391 | tosca.capabilities.xos.Slice: |
| 392 | derived_from: tosca.capabilities.Root |
| 393 | description: An XOS Slice |
| 394 | |
| 395 | tosca.capabilities.xos.NetworkTemplate: |
| 396 | derived_from: tosca.capabilities.Root |
| 397 | description: An XOS network template |
| 398 | |
Scott Baker | 2edd4f3 | 2015-08-14 12:41:18 -0700 | [diff] [blame^] | 399 | # tosca.capabilities.xos.Network: |
| 400 | # derived_from: tosca.capabilities.Root |
| 401 | # description: An XOS network |
Scott Baker | 6821701 | 2015-08-10 17:06:23 -0700 | [diff] [blame] | 402 | |
| 403 | tosca.capabilities.xos.User: |
| 404 | derived_from: tosca.capabilities.Root |
| 405 | description: An XOS user |