class GClouder::Config::Cluster
Public Instance Methods
context(context)
click to toggle source
# File lib/gclouder/config/cluster.rb, line 6 def context(context) dup = self.dup permitted_keys = case context when :create_cluster [ "additional_zones", "async", "cluster_ipv4_cidr", "cluster_version", "disable_addons", "disk_size", "no_enable_cloud_endpoints", "no_enable_cloud_logging", "no_enable_cloud_monitoring", "image_type", "machine_type", "max_nodes_per_pool", "network", "node_labels", "num_nodes", "password", "preemptible", "scopes", "subnetwork", "username", "wait", "zone", ] when :create_nodepool # flip value due to differing key name.. if self.key?("no_enable_cloud_endpoints") dup[:enable_cloud_endpoints] = self[:no_enable_cloud_endpoints] ? false : true end [ "disk_size", "enable_autoscaling", "enable_cloud_endpoints", "image_type", "machine_type", "max_nodes", "min_nodes", "node_labels", "num_nodes", "preemptible", "scopes", "zone", "cluster", ] when :resize_cluster dup["size"] = self["num_nodes"] if self.key?("num_nodes") [ "async", "size", "wait", "zone", "node_pool", ] when :autoscale_cluster [ "enable_autoscaling", "max_nodes", "min_nodes", ] else raise StandardError, "invalid context supplied when querying config object: #{context}" end dup.delete_if { |k, _| !permitted_keys.include?(k) } end