class MU::Config::SearchDomain

Basket of Kittens config schema and parser logic. See modules/mu/providers/*/search_domain.rb

Public Class Methods

schema() click to toggle source

Base configuration schema for a SearchDomain @return [Hash]

# File modules/mu/config/search_domain.rb, line 22
def self.schema
  {
    "type" => "object",
    "additionalProperties" => false,
    "description" => "Set up a cloud provider managed Elastic Search cluster.",
    "properties" => {
      "name" => { "type" => "string" },
      "region" => MU::Config.region_primitive,
      "vpc" => MU::Config::VPC.reference(MU::Config::VPC::ONE_SUBNET + MU::Config::VPC::MANY_SUBNETS, MU::Config::VPC::NO_NAT_OPTS, "all_private"),
      "tags" => MU::Config.tags_primitive,
      "optional_tags" => MU::Config.optional_tags_primitive,
      "add_firewall_rules" => {
        "type" => "array",
        "items" => MU::Config::FirewallRule.reference,
      },
      "ingress_rules" => {
        "type" => "array",
        "items" => MU::Config::FirewallRule.ruleschema
      },
      "instance_count" => {
        "type" => "integer",
        "default" => 1
      }
    }
  }
end
validate(_dom, _configurator) click to toggle source

Generic pre-processing of {MU::Config::BasketofKittens::search_domains}, bare and unvalidated. @param _dom [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

# File modules/mu/config/search_domain.rb, line 53
def self.validate(_dom, _configurator)
  ok = true
  # This resource basically only exists in AWS, so the validation lives
  # there. If some other provider comes up with it we can factor
  # commonalities into this spot, but there may be few to none. The AWS
  # implementation is simple, but an odd duck.
  ok
end