Sha256: 112e8bd6a59f70935fc363c55afac54ed98f228dff640c93f350de724803ddb9

Contents?: true

Size: 1.87 KB

Versions: 14

Compression:

Stored size: 1.87 KB

Contents

# Copyright:: Copyright (c) 2018 eGlobalTech, Inc., all rights reserved
#
# Licensed under the BSD-3 license (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License in the root of the project or at
#
#     http://egt-labs.com/mu/LICENSE.html
#
# 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.

module MU
  class Config
    # Basket of Kittens config schema and parser logic. See modules/mu/providers/*/project.rb
    class Habitat

      # Base configuration schema for a Habitat
      # @return [Hash]
      def self.schema
        {
          "type" => "object",
          "additionalProperties" => false,
          "description" => "Generate a cloud habitat (AWS account, Google Cloud project, Azure Directory, etc)",
          "properties" => {
            "name" => { "type" => "string" },
            "parent" => MU::Config::Folder.reference
          }
        }
      end

      # Chunk of schema to reference an account/project, here to be embedded
      # into the schemas of other resources.
      def self.reference
        MU::Config::Ref.schema(type: "habitats", omit_fields: ["region", "tag"])
      end

      # Generic pre-processing of {MU::Config::BasketofKittens::habitat}, bare and unvalidated.
      # @param _habitat [Hash]: The resource to process and validate
      # @param _configurator [MU::Config]: The overall deployment configurator of which this resource is a member
      # @return [Boolean]: True if validation succeeded, False otherwise
      def self.validate(_habitat, _configurator)
        ok = true
        ok
      end

    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
cloud-mu-3.6.10 modules/mu/config/habitat.rb
cloud-mu-3.6.9 modules/mu/config/habitat.rb
cloud-mu-3.6.8 modules/mu/config/habitat.rb
cloud-mu-3.6.7 modules/mu/config/habitat.rb
cloud-mu-3.6.5 modules/mu/config/habitat.rb
cloud-mu-3.6.4 modules/mu/config/habitat.rb
cloud-mu-3.6.3 modules/mu/config/habitat.rb
cloud-mu-3.5.1 modules/mu/config/habitat.rb
cloud-mu-3.5.0 modules/mu/config/habitat.rb
cloud-mu-3.4.0 modules/mu/config/habitat.rb
cloud-mu-3.3.2 modules/mu/config/habitat.rb
cloud-mu-3.3.1 modules/mu/config/habitat.rb
cloud-mu-3.3.0 modules/mu/config/habitat.rb
cloud-mu-3.2.0 modules/mu/config/habitat.rb