# 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: =: com.mirantis.docker.kubernetes.static std: io.murano sys: io.murano.system Name: ReplicationController Properties: kubernetesCluster: Contract: $.class(KubernetesCluster).notNull() replicationControllerDefinition: Contract: {} Methods: .init: Body: - $._environment: $.find(std:Environment).require() deploy: Body: - $.kubernetesCluster.deploy() - If: not $.getAttr(deployed, false) Then: - $.deployReplicationController() - $.setAttr(deployed, true) deployReplicationController: Body: - $resources: new(sys:Resources) - $template: $resources.yaml('UpdateReplicationController.template').bind(dict( controllerDefinition => $.replicationControllerDefinition, isNew => true )) - $.kubernetesCluster.masterNode.instance.agent.call($template, $resources)