46d993702f
Change-Id: Ifa74af1b7c9f3f7a90273def336932ae67509955 Closes-Bug: #1506102
83 lines
2.5 KiB
YAML
83 lines
2.5 KiB
YAML
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
Namespaces:
|
|
=: io.murano.resources
|
|
std: io.murano
|
|
sys: io.murano.system
|
|
|
|
Name: NovaNetwork
|
|
|
|
Extends: Network
|
|
|
|
Methods:
|
|
joinInstance:
|
|
Arguments:
|
|
- instance:
|
|
Contract: $.class(Instance).notNull()
|
|
- securityGroupName:
|
|
Contract: $.string()
|
|
- assignFloatingIp:
|
|
Contract: $.bool().notNull()
|
|
- sharedIps:
|
|
Contract:
|
|
- $.class(std:SharedIp)
|
|
Body:
|
|
- $fipName: null
|
|
- $template: null
|
|
- $instanceFipOutput: null
|
|
- $instanceResources: []
|
|
- $instanceOutputs: []
|
|
- If: $assignFloatingIp
|
|
Then:
|
|
- $instanceFipOutput: $instance.name + '-floatingIPaddress'
|
|
- $fipName: format('fip-nn-{0}', $instance.name)
|
|
- $template:
|
|
resources:
|
|
$fipName:
|
|
type: 'OS::Nova::FloatingIP'
|
|
$fipName + 'Assignment':
|
|
type: 'OS::Nova::FloatingIPAssociation'
|
|
properties:
|
|
floating_ip:
|
|
get_resource: $fipName
|
|
server_id:
|
|
get_resource: $instance.name
|
|
outputs:
|
|
$instanceFipOutput:
|
|
value:
|
|
get_attr: [$fipName, ip]
|
|
description: format('Floating IP of {0}', $instance.name)
|
|
- $instanceResources: [$fipName, $fipName + 'Assignment']
|
|
- $instanceOutputs: [$instanceFipOutput]
|
|
- Return:
|
|
template: $template
|
|
secGroupName:
|
|
get_resource: $securityGroupName
|
|
instanceFipOutput: $instanceFipOutput
|
|
instanceResources: $instanceResources
|
|
instanceOutputs: $instanceOutputs
|
|
|
|
|
|
generateSecurityGroupManager:
|
|
Arguments:
|
|
- environment:
|
|
Contract: $.class(std:Environment).notNull()
|
|
Body:
|
|
- Return: new(sys:AwsSecurityGroupManager, environment => $environment)
|
|
|
|
|
|
describe:
|
|
Body:
|
|
- Return:
|
|
provider: NovaNetwork
|