46d993702f
Change-Id: Ifa74af1b7c9f3f7a90273def336932ae67509955 Closes-Bug: #1506102
60 lines
2.2 KiB
YAML
60 lines
2.2 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: WindowsInstance
|
|
|
|
Extends: Instance
|
|
|
|
Methods:
|
|
createDefaultInstanceSecurityGroupRules:
|
|
Arguments:
|
|
- groupName:
|
|
Contract: $.string().notNull()
|
|
Body:
|
|
- $environment: $.find(std:Environment).require()
|
|
- $rules:
|
|
- ToPort: 3389
|
|
IpProtocol: tcp
|
|
FromPort: 3389
|
|
External: true
|
|
- $environment.securityGroupManager.addGroupIngress(
|
|
rules => $rules, groupName => $groupName)
|
|
|
|
prepareUserData:
|
|
Body:
|
|
- $resources: new(sys:Resources)
|
|
- $environment: $.find(std:Environment).require()
|
|
- $configFile: $resources.string('Agent-v1.template')
|
|
- $initScript: $resources.string('windows-init.ps1')
|
|
- $configReplacements:
|
|
"%RABBITMQ_HOST%": config(rabbitmq, host)
|
|
"%RABBITMQ_PORT%": config(rabbitmq, port)
|
|
"%RABBITMQ_USER%": config(rabbitmq, login)
|
|
"%RABBITMQ_PASSWORD%": config(rabbitmq, password)
|
|
"%RABBITMQ_VHOST%": config(rabbitmq, virtual_host)
|
|
"%RABBITMQ_SSL%": str(config(rabbitmq, ssl)).toLower()
|
|
"%RABBITMQ_INPUT_QUEUE%": $.agent.queueName()
|
|
"%RESULT_QUEUE%": $environment.agentListener.queueName()
|
|
- $scriptReplacements:
|
|
"%AGENT_CONFIG_BASE64%": base64encode($configFile.replace($configReplacements))
|
|
"%INTERNAL_HOSTNAME%": $.name
|
|
"%MURANO_SERVER_ADDRESS%": coalesce(config(file_server), config(rabbitmq, host))
|
|
"%CA_ROOT_CERT_BASE64%": ""
|
|
- Return:
|
|
data: $initScript.replace($scriptReplacements)
|
|
format: HEAT_CFNTOOLS
|