Sha256: ec35cc6afdec35a35c6806c098b5eb0f6d500ae60fecad9d128da2f3af80f007
Contents?: true
Size: 1.79 KB
Versions: 5
Compression:
Stored size: 1.79 KB
Contents
require 'fog/core/model' module Fog module Openstack class Planning class Plan < Fog::Model MASTER_TEMPLATE_NAME = 'plan.yaml' ENVIRONMENT_NAME = 'environment.yaml' identity :uuid attribute :description attribute :name attribute :uuid attribute :created_at attribute :updated_at attribute :parameters def initialize(attributes) # Old 'connection' is renamed as service and should be used instead prepare_service_value(attributes) super end def templates service.get_plan_templates(uuid).body end def master_template templates[MASTER_TEMPLATE_NAME] end def environment templates[ENVIRONMENT_NAME] end def provider_resource_templates templates.select do |key, template| ![MASTER_TEMPLATE_NAME, ENVIRONMENT_NAME].include?(key) end end def patch(parameters) service.patch_plan(uuid, parameters[:parameters]).body end def add_role(role_uuid) service.add_role_to_plan(uuid, role_uuid) end def remove_role(role_uuid) service.remove_role_from_plan(uuid, role_uuid) end def destroy requires :uuid service.delete_plan(uuid) true end def save requires :name identity ? update : create end def create requires :name merge_attributes(service.create_plan(self.attributes).body) self end def update(parameters=nil) requires :uuid merge_attributes(service.patch_plan(uuid, parameters).body) self end end end end end
Version data entries
5 entries across 5 versions & 2 rubygems