This allows terraformWriter.LiteralFunctionExpression to be used with any terraform function.
The arguments must be strings, which means that any string arguments must include quotes.
Originally the JSON output was meant as a bridge between the 0.11 and 0.12 support.
Now that we've dropped support for 0.11, we can use filebase64() instead of encoding the userdata in the file ourselves.
Upstream examples were missing a number of improvements.
This commit also adds template functions for making controllers such as CAS more HA on HA clusters
This enables us to change the ServerGroup affinity policies using
annotations on instance groups.
The default affinity policy still is "anti-affinity".
In this commit, we update manifest files of CoreDNS. We also do a small
refactoring on yaml blocks to match the upstream source and to make
updating and reviewing procedures easier on the future.
Signed-off-by: dntosas <ntosas@gmail.com>
* We need the ability to create service account token
because this is required by clientbuilder/controller-manager
framework which we will be using in 1.21.
* This is required for the CCM to use 1 SA per controller, which
follows principle of least privilege and makes audit logs easier
to understand
* Restricts token creation to resource names "node-controller",
"service-controller", and "route-controller".
Use the last component of the self-url for a router's region, rather
than the full URL.
Explicitly set the boolean pointer for `HasExternalIP` if the interface
attached to the instance does not have an access config (i.e. has no
public internet access).
Without this patch, both the router and instance template show pending
updates, neither of which can be applied as both are immutable
resources.
Signed-off-by: Nick Travers <n.e.travers@gmail.com>
When a struct contains a default value, it is not present in the
serialized output attached to request bodies sent to GCP. In the case
that a user wishes to explicitly set the `AutoCreateSubnetworks` field
to `false`, the request sent to GCP does not contain this directive, and
the network is provisioned with the default of `true`.
Explicitly specify that the `false` value should be present on the
request sent to the GCP API, making use of the `ForceSendFields` field
in the requset struct.
Signed-off-by: Nick Travers <n.e.travers@gmail.com>