diff --git a/meta/io.murano/Classes/resources/HeatSWConfigInstance.yaml b/meta/io.murano/Classes/resources/HeatSWConfigInstance.yaml new file mode 100644 index 000000000..e11f1973f --- /dev/null +++ b/meta/io.murano/Classes/resources/HeatSWConfigInstance.yaml @@ -0,0 +1,16 @@ +Namespaces: + =: io.murano.resources + sys: io.murano.system + std: io.murano + +Name: HeatSWConfigInstance + +Extends: + - Instance + +Methods: + prepareUserData: + Body: + - Return: + data: + format: SOFTWARE_CONFIG diff --git a/meta/io.murano/Classes/resources/HeatSWConfigLinuxInstance.yaml b/meta/io.murano/Classes/resources/HeatSWConfigLinuxInstance.yaml new file mode 100644 index 000000000..8fd0bdd60 --- /dev/null +++ b/meta/io.murano/Classes/resources/HeatSWConfigLinuxInstance.yaml @@ -0,0 +1,11 @@ +Namespaces: + =: io.murano.resources + sys: io.murano.system + std: io.murano + +Name: HeatSWConfigLinuxInstance + +Extends: + - LinuxInstance + - HeatSWConfigInstance + diff --git a/meta/io.murano/Classes/resources/Instance.yaml b/meta/io.murano/Classes/resources/Instance.yaml index 9902ecacd..0be1a48fd 100644 --- a/meta/io.murano/Classes/resources/Instance.yaml +++ b/meta/io.murano/Classes/resources/Instance.yaml @@ -82,7 +82,9 @@ Methods: $.joinNet($.environment.defaultNetworks.flat, $securityGroupName) - $.networks.customNetworks.select($this.joinNet($, $securityGroupName)) - - $userData: $.prepareUserData() + - $preparedUserData: $.prepareUserData() + - $userData: $preparedUserData.data + - $userDataFormat: $preparedUserData.format - $template: resources: @@ -92,6 +94,7 @@ Methods: flavor: $.flavor image: $.image user_data: $userData + user_data_format: $userDataFormat key_name: $.keyname outputs: format('{0}-assigned-ip', $.name): @@ -231,3 +234,8 @@ Methods: Contract: $.string().notNull() prepareUserData: + Body: + Return: + data: null + # Valid values are HEAT_CFNTOOLS, RAW and SOFTWARE_CONFIG + format: HEAT_CFNTOOLS diff --git a/meta/io.murano/Classes/resources/LinuxMuranoInstance.yaml b/meta/io.murano/Classes/resources/LinuxMuranoInstance.yaml index 32d387d98..cbd80e414 100644 --- a/meta/io.murano/Classes/resources/LinuxMuranoInstance.yaml +++ b/meta/io.murano/Classes/resources/LinuxMuranoInstance.yaml @@ -29,5 +29,7 @@ Methods: "%INTERNAL_HOSTNAME%": $.name "%MURANO_SERVER_ADDRESS%": coalesce(config(file_server), config(rabbitmq, host)) "%CA_ROOT_CERT_BASE64%": "" - - Return: $initScript.replace($scriptReplacements) + - Return: + data: $initScript.replace($scriptReplacements) + format: HEAT_CFNTOOLS diff --git a/meta/io.murano/Classes/resources/LinuxUDInstance.yaml b/meta/io.murano/Classes/resources/LinuxUDInstance.yaml index 53a686679..43ced7bc2 100644 --- a/meta/io.murano/Classes/resources/LinuxUDInstance.yaml +++ b/meta/io.murano/Classes/resources/LinuxUDInstance.yaml @@ -16,7 +16,9 @@ Properties: Methods: prepareUserData: Body: - - Return: $.customUserData + - Return: + data: $.customUserData + format: HEAT_CFNTOOLS setCustomUserData: Arguments: diff --git a/meta/io.murano/Classes/resources/WindowsInstance.yaml b/meta/io.murano/Classes/resources/WindowsInstance.yaml index 212d79c0f..1b84a34d8 100644 --- a/meta/io.murano/Classes/resources/WindowsInstance.yaml +++ b/meta/io.murano/Classes/resources/WindowsInstance.yaml @@ -42,4 +42,6 @@ Methods: "%INTERNAL_HOSTNAME%": $.name "%MURANO_SERVER_ADDRESS%": coalesce(config(file_server), config(rabbitmq, host)) "%CA_ROOT_CERT_BASE64%": "" - - Return: $initScript.replace($scriptReplacements) + - Return: + data: $initScript.replace($scriptReplacements) + format: HEAT_CFNTOOLS diff --git a/meta/io.murano/manifest.yaml b/meta/io.murano/manifest.yaml index 9afa14685..65b37046f 100644 --- a/meta/io.murano/manifest.yaml +++ b/meta/io.murano/manifest.yaml @@ -27,6 +27,8 @@ Classes: io.murano.resources.Instance: resources/Instance.yaml io.murano.resources.LinuxInstance: resources/LinuxInstance.yaml io.murano.resources.LinuxMuranoInstance: resources/LinuxMuranoInstance.yaml + io.murano.resources.HeatSWConfigInstance: resources/HeatSWConfigInstance.yaml + io.murano.resources.HeatSWConfigLinuxInstance: resources/HeatSWConfigLinuxInstance.yaml io.murano.resources.LinuxUDInstance: resources/LinuxUDInstance.yaml io.murano.resources.WindowsInstance: resources/WindowsInstance.yaml io.murano.resources.NeutronNetwork: resources/NeutronNetwork.yaml