modules/mu/config/dnszone.rb in cloud-mu-3.2.0 vs modules/mu/config/dnszone.rb in cloud-mu-3.3.0

- old
+ new

@@ -58,11 +58,11 @@ # Generate a schema definition for a set of DNS records # @param need_target [Boolean]: Whether the target of the record needs to be a required parameter # @param default_type [String]: The type of record to make default (e.g. An, CNAME, etc) # @param need_zone [Boolean]: Whether to explicitly require a zone be declared # @return [Hash] - def self.records_primitive(need_target: true, default_type: nil, need_zone: false) + def self.records_primitive(need_target: true, default_type: nil, need_zone: false, embedded_type: nil) dns_records_primitive = { "type" => "array", "maxItems" => 100, "items" => { "type" => "object", @@ -105,11 +105,12 @@ "type" => "string", "description" => "Look for a resource in another Mu deployment with this id. Requires mu_type", }, "mu_type" => { "type" => "string", - "description" => "The Mu resource type to search the deployment for.", - "enum" => ["loadbalancer", "server", "database", "cache_cluster"] + "description" => "The mu type of a resource being targeted.", + "enum" => embedded_type ? [embedded_type] : ["loadbalancer", "server", "database", "cache_cluster", "endpoint", "cdn"], + "default" => embedded_type }, "target_type" => { "description" => "If the target is a public or a private resource. This only applies to servers/server_pools when using automatic DNS registration. If set to public but the target only has a private address, the private address will be used", "type" => "string", "enum" => ["public", "private"]