Namespaces: =: io.murano res: io.murano.resources sys: io.murano.system Name: Environment Properties: name: Contract: $.string().notNull() applications: Contract: [$.class(Application).owned().notNull()] agentListener: Contract: $.class(sys:AgentListener) Usage: Runtime stack: Contract: $.class(sys:HeatStack) Usage: Runtime instanceNotifier: Contract: $.class(sys:InstanceNotifier) Usage: Runtime defaultNetworks: Contract: environment: $.class(res:Network) flat: $.class(res:Network) Usage: In securityGroupManager: Contract: $.class(sys:SecurityGroupManager) Usage: Runtime reporter: Contract: $.class(sys:StatusReporter) Usage: Runtime Methods: initialize: Body: - $generatedEnvironmentName: $.getAttr(generatedEnvironmentName) - If: $generatedEnvironmentName = null Then: - $generatedEnvironmentName: randomName() - $.setAttr(generatedEnvironmentName, $generatedEnvironmentName) - $this.agentListener: new(sys:AgentListener, name => $generatedEnvironmentName) - $stackDescriptionFormat: 'This stack was generated by Murano for environment {0} (ID: {1})' - $this.stack: new(sys:HeatStack, name => 'murano-' + $generatedEnvironmentName, description => $stackDescriptionFormat.format($.name, $.id())) - $this.instanceNotifier: new(sys:InstanceNotifier, environment => $this) - $this.reporter: new(sys:StatusReporter, environment => $this) - $this.securityGroupManager: new(sys:SecurityGroupManager, environment => $this) deploy: Usage: Action Body: - $minimalStack: resources: {} - $.stack.updateTemplate($minimalStack) - $.stack.push() - Try: - $.agentListener.start() - $.applications.pselect($.deploy()) Finally: - $.agentListener.stop() destroy: Body: - $.stack.delete()