# Copyright 2017 Google Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # 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. # NOTE: This class is auto generated by the swagger code generator program. # https://github.com/swagger-api/swagger-codegen.git # Do not edit the class manually. defmodule GoogleApi.Container.V1.Model.AddonsConfig do @moduledoc """ Configuration for the addons that can be automatically spun up in the cluster, enabling additional functionality. ## Attributes - horizontalPodAutoscaling (HorizontalPodAutoscaling): Configuration for the horizontal pod autoscaling feature, which increases or decreases the number of replica pods a replication controller has based on the resource usage of the existing pods. Defaults to: `null`. - httpLoadBalancing (HttpLoadBalancing): Configuration for the HTTP (L7) load balancing controller addon, which makes it easy to set up HTTP load balancers for services in a cluster. Defaults to: `null`. - kubernetesDashboard (KubernetesDashboard): Configuration for the Kubernetes Dashboard. Defaults to: `null`. - networkPolicyConfig (NetworkPolicyConfig): Configuration for NetworkPolicy. This only tracks whether the addon is enabled or not on the Master, it does not track whether network policy is enabled for the nodes. Defaults to: `null`. """ use GoogleApi.Gax.ModelBase @type t :: %__MODULE__{ :horizontalPodAutoscaling => GoogleApi.Container.V1.Model.HorizontalPodAutoscaling.t(), :httpLoadBalancing => GoogleApi.Container.V1.Model.HttpLoadBalancing.t(), :kubernetesDashboard => GoogleApi.Container.V1.Model.KubernetesDashboard.t(), :networkPolicyConfig => GoogleApi.Container.V1.Model.NetworkPolicyConfig.t() } field(:horizontalPodAutoscaling, as: GoogleApi.Container.V1.Model.HorizontalPodAutoscaling) field(:httpLoadBalancing, as: GoogleApi.Container.V1.Model.HttpLoadBalancing) field(:kubernetesDashboard, as: GoogleApi.Container.V1.Model.KubernetesDashboard) field(:networkPolicyConfig, as: GoogleApi.Container.V1.Model.NetworkPolicyConfig) end defimpl Poison.Decoder, for: GoogleApi.Container.V1.Model.AddonsConfig do def decode(value, options) do GoogleApi.Container.V1.Model.AddonsConfig.decode(value, options) end end defimpl Poison.Encoder, for: GoogleApi.Container.V1.Model.AddonsConfig do def encode(value, options) do GoogleApi.Gax.ModelBase.encode(value, options) end end