services/google/gkehub/beta/feature_membership_internal.go (6,722 lines of code) (raw):
// Copyright 2025 Google LLC. All Rights Reserved.
//
// 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.
package beta
import (
"context"
"encoding/json"
"fmt"
"strings"
"github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
)
func (r *FeatureMembership) validate() error {
if err := dcl.RequiredParameter(r.Project, "Project"); err != nil {
return err
}
if err := dcl.RequiredParameter(r.Location, "Location"); err != nil {
return err
}
if err := dcl.RequiredParameter(r.Feature, "Feature"); err != nil {
return err
}
if err := dcl.RequiredParameter(r.Membership, "Membership"); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.Mesh) {
if err := r.Mesh.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Configmanagement) {
if err := r.Configmanagement.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Policycontroller) {
if err := r.Policycontroller.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipMesh) validate() error {
return nil
}
func (r *FeatureMembershipConfigmanagement) validate() error {
if !dcl.IsEmptyValueIndirect(r.ConfigSync) {
if err := r.ConfigSync.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.PolicyController) {
if err := r.PolicyController.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Binauthz) {
if err := r.Binauthz.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.HierarchyController) {
if err := r.HierarchyController.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipConfigmanagementConfigSync) validate() error {
if !dcl.IsEmptyValueIndirect(r.Git) {
if err := r.Git.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Oci) {
if err := r.Oci.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides) validate() error {
return nil
}
func (r *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers) validate() error {
return nil
}
func (r *FeatureMembershipConfigmanagementConfigSyncGit) validate() error {
return nil
}
func (r *FeatureMembershipConfigmanagementConfigSyncOci) validate() error {
return nil
}
func (r *FeatureMembershipConfigmanagementPolicyController) validate() error {
if !dcl.IsEmptyValueIndirect(r.Monitoring) {
if err := r.Monitoring.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipConfigmanagementPolicyControllerMonitoring) validate() error {
return nil
}
func (r *FeatureMembershipConfigmanagementBinauthz) validate() error {
return nil
}
func (r *FeatureMembershipConfigmanagementHierarchyController) validate() error {
return nil
}
func (r *FeatureMembershipPolicycontroller) validate() error {
if err := dcl.Required(r, "policyControllerHubConfig"); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.PolicyControllerHubConfig) {
if err := r.PolicyControllerHubConfig.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfig) validate() error {
if !dcl.IsEmptyValueIndirect(r.Monitoring) {
if err := r.Monitoring.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.PolicyContent) {
if err := r.PolicyContent.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring) validate() error {
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent) validate() error {
if !dcl.IsEmptyValueIndirect(r.TemplateLibrary) {
if err := r.TemplateLibrary.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary) validate() error {
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles) validate() error {
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs) validate() error {
if err := dcl.ValidateAtLeastOneOfFieldsSet([]string{"ReplicaCount", "ContainerResources", "PodAffinity", "PodTolerations"}, r.ReplicaCount, r.ContainerResources, r.PodAffinity, r.PodTolerations); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.ContainerResources) {
if err := r.ContainerResources.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources) validate() error {
if !dcl.IsEmptyValueIndirect(r.Limits) {
if err := r.Limits.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Requests) {
if err := r.Requests.validate(); err != nil {
return err
}
}
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits) validate() error {
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests) validate() error {
return nil
}
func (r *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations) validate() error {
return nil
}
func (r *FeatureMembership) basePath() string {
params := map[string]interface{}{}
return dcl.Nprintf("https://gkehub.googleapis.com/v1beta1/", params)
}
func (r *FeatureMembership) getURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"project": dcl.ValueOrEmptyString(nr.Project),
"location": dcl.ValueOrEmptyString(nr.Location),
"feature": dcl.ValueOrEmptyString(nr.Feature),
}
return dcl.URL("projects/{{project}}/locations/{{location}}/features/{{feature}}", nr.basePath(), userBasePath, params), nil
}
func (r *FeatureMembership) listURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"project": dcl.ValueOrEmptyString(nr.Project),
"location": dcl.ValueOrEmptyString(nr.Location),
"feature": dcl.ValueOrEmptyString(nr.Feature),
}
return dcl.URL("projects/{{project}}/locations/{{location}}/features/{{feature}}", nr.basePath(), userBasePath, params), nil
}
func (r *FeatureMembership) createURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"project": dcl.ValueOrEmptyString(nr.Project),
"location": dcl.ValueOrEmptyString(nr.Location),
"feature": dcl.ValueOrEmptyString(nr.Feature),
}
return dcl.URL("projects/{{project}}/locations/{{location}}/features/{{feature}}", nr.basePath(), userBasePath, params), nil
}
func (r *FeatureMembership) deleteURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"project": dcl.ValueOrEmptyString(nr.Project),
"location": dcl.ValueOrEmptyString(nr.Location),
"feature": dcl.ValueOrEmptyString(nr.Feature),
}
return dcl.URL("projects/{{project}}/locations/{{location}}/features/{{feature}}", nr.basePath(), userBasePath, params), nil
}
// featureMembershipApiOperation represents a mutable operation in the underlying REST
// API such as Create, Update, or Delete.
type featureMembershipApiOperation interface {
do(context.Context, *FeatureMembership, *Client) error
}
// newUpdateFeatureMembershipUpdateFeatureMembershipRequest creates a request for an
// FeatureMembership resource's UpdateFeatureMembership update type by filling in the update
// fields based on the intended state of the resource.
func newUpdateFeatureMembershipUpdateFeatureMembershipRequest(ctx context.Context, f *FeatureMembership, c *Client) (map[string]interface{}, error) {
req := map[string]interface{}{}
res := f
_ = res
if v, err := expandFeatureMembershipMesh(c, f.Mesh, res); err != nil {
return nil, fmt.Errorf("error expanding Mesh into mesh: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
req["mesh"] = v
}
if v, err := expandFeatureMembershipConfigmanagement(c, f.Configmanagement, res); err != nil {
return nil, fmt.Errorf("error expanding Configmanagement into configmanagement: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
req["configmanagement"] = v
}
if v, err := expandFeatureMembershipPolicycontroller(c, f.Policycontroller, res); err != nil {
return nil, fmt.Errorf("error expanding Policycontroller into policycontroller: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
req["policycontroller"] = v
}
return req, nil
}
// marshalUpdateFeatureMembershipUpdateFeatureMembershipRequest converts the update into
// the final JSON request body.
func marshalUpdateFeatureMembershipUpdateFeatureMembershipRequest(c *Client, m map[string]interface{}) ([]byte, error) {
return json.Marshal(m)
}
type updateFeatureMembershipUpdateFeatureMembershipOperation struct {
// If the update operation has the REQUIRES_APPLY_OPTIONS trait, this will be populated.
// Usually it will be nil - this is to prevent us from accidentally depending on apply
// options, which should usually be unnecessary.
ApplyOptions []dcl.ApplyOption
FieldDiffs []*dcl.FieldDiff
}
// do creates a request and sends it to the appropriate URL. In most operations,
// do will transcribe a subset of the resource into a request object and send a
// PUT request to a single URL.
func (c *Client) deleteAllFeatureMembership(ctx context.Context, f func(*FeatureMembership) bool, resources []*FeatureMembership) error {
var errors []string
for _, res := range resources {
if f(res) {
// We do not want deleteAll to fail on a deletion or else it will stop deleting other resources.
err := c.DeleteFeatureMembership(ctx, res)
if err != nil {
errors = append(errors, err.Error())
}
}
}
if len(errors) > 0 {
return fmt.Errorf("%v", strings.Join(errors, "\n"))
} else {
return nil
}
}
type deleteFeatureMembershipOperation struct{}
// Create operations are similar to Update operations, although they do not have
// specific request objects. The Create request object is the json encoding of
// the resource, which is modified by res.marshal to form the base request body.
type createFeatureMembershipOperation struct {
response map[string]interface{}
}
func (op *createFeatureMembershipOperation) FirstResponse() (map[string]interface{}, bool) {
return op.response, len(op.response) > 0
}
func (c *Client) featureMembershipDiffsForRawDesired(ctx context.Context, rawDesired *FeatureMembership, opts ...dcl.ApplyOption) (initial, desired *FeatureMembership, diffs []*dcl.FieldDiff, err error) {
c.Config.Logger.InfoWithContext(ctx, "Fetching initial state...")
// First, let us see if the user provided a state hint. If they did, we will start fetching based on that.
var fetchState *FeatureMembership
if sh := dcl.FetchStateHint(opts); sh != nil {
if r, ok := sh.(*FeatureMembership); !ok {
c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected FeatureMembership, got %T", sh)
} else {
fetchState = r
}
}
if fetchState == nil {
fetchState = rawDesired
}
// 1.2: Retrieval of raw initial state from API
rawInitial, err := c.GetFeatureMembership(ctx, fetchState)
if rawInitial == nil {
if !dcl.IsNotFound(err) {
c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a FeatureMembership resource already exists: %s", err)
return nil, nil, nil, fmt.Errorf("failed to retrieve FeatureMembership resource: %v", err)
}
c.Config.Logger.InfoWithContext(ctx, "Found that FeatureMembership resource did not exist.")
// Perform canonicalization to pick up defaults.
desired, err = canonicalizeFeatureMembershipDesiredState(rawDesired, rawInitial)
return nil, desired, nil, err
}
c.Config.Logger.InfoWithContextf(ctx, "Found initial state for FeatureMembership: %v", rawInitial)
c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for FeatureMembership: %v", rawDesired)
// The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
if err := extractFeatureMembershipFields(rawInitial); err != nil {
return nil, nil, nil, err
}
// 1.3: Canonicalize raw initial state into initial state.
initial, err = canonicalizeFeatureMembershipInitialState(rawInitial, rawDesired)
if err != nil {
return nil, nil, nil, err
}
c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for FeatureMembership: %v", initial)
// 1.4: Canonicalize raw desired state into desired state.
desired, err = canonicalizeFeatureMembershipDesiredState(rawDesired, rawInitial, opts...)
if err != nil {
return nil, nil, nil, err
}
c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for FeatureMembership: %v", desired)
// 2.1: Comparison of initial and desired state.
diffs, err = diffFeatureMembership(c, desired, initial, opts...)
return initial, desired, diffs, err
}
func canonicalizeFeatureMembershipInitialState(rawInitial, rawDesired *FeatureMembership) (*FeatureMembership, error) {
// TODO(magic-modules-eng): write canonicalizer once relevant traits are added.
return rawInitial, nil
}
/*
* Canonicalizers
*
* These are responsible for converting either a user-specified config or a
* GCP API response to a standard format that can be used for difference checking.
* */
func canonicalizeFeatureMembershipDesiredState(rawDesired, rawInitial *FeatureMembership, opts ...dcl.ApplyOption) (*FeatureMembership, error) {
if rawInitial == nil {
// Since the initial state is empty, the desired state is all we have.
// We canonicalize the remaining nested objects with nil to pick up defaults.
rawDesired.Mesh = canonicalizeFeatureMembershipMesh(rawDesired.Mesh, nil, opts...)
rawDesired.Configmanagement = canonicalizeFeatureMembershipConfigmanagement(rawDesired.Configmanagement, nil, opts...)
rawDesired.Policycontroller = canonicalizeFeatureMembershipPolicycontroller(rawDesired.Policycontroller, nil, opts...)
return rawDesired, nil
}
canonicalDesired := &FeatureMembership{}
canonicalDesired.Mesh = canonicalizeFeatureMembershipMesh(rawDesired.Mesh, rawInitial.Mesh, opts...)
canonicalDesired.Configmanagement = canonicalizeFeatureMembershipConfigmanagement(rawDesired.Configmanagement, rawInitial.Configmanagement, opts...)
canonicalDesired.Policycontroller = canonicalizeFeatureMembershipPolicycontroller(rawDesired.Policycontroller, rawInitial.Policycontroller, opts...)
if dcl.NameToSelfLink(rawDesired.Project, rawInitial.Project) {
canonicalDesired.Project = rawInitial.Project
} else {
canonicalDesired.Project = rawDesired.Project
}
if dcl.NameToSelfLink(rawDesired.Location, rawInitial.Location) {
canonicalDesired.Location = rawInitial.Location
} else {
canonicalDesired.Location = rawDesired.Location
}
if dcl.NameToSelfLink(rawDesired.Feature, rawInitial.Feature) {
canonicalDesired.Feature = rawInitial.Feature
} else {
canonicalDesired.Feature = rawDesired.Feature
}
if dcl.NameToSelfLink(rawDesired.Membership, rawInitial.Membership) {
canonicalDesired.Membership = rawInitial.Membership
} else {
canonicalDesired.Membership = rawDesired.Membership
}
if dcl.NameToSelfLink(rawDesired.MembershipLocation, rawInitial.MembershipLocation) {
canonicalDesired.MembershipLocation = rawInitial.MembershipLocation
} else {
canonicalDesired.MembershipLocation = rawDesired.MembershipLocation
}
return canonicalDesired, nil
}
func canonicalizeFeatureMembershipNewState(c *Client, rawNew, rawDesired *FeatureMembership) (*FeatureMembership, error) {
if dcl.IsEmptyValueIndirect(rawNew.Mesh) && dcl.IsEmptyValueIndirect(rawDesired.Mesh) {
rawNew.Mesh = rawDesired.Mesh
} else {
rawNew.Mesh = canonicalizeNewFeatureMembershipMesh(c, rawDesired.Mesh, rawNew.Mesh)
}
if dcl.IsEmptyValueIndirect(rawNew.Configmanagement) && dcl.IsEmptyValueIndirect(rawDesired.Configmanagement) {
rawNew.Configmanagement = rawDesired.Configmanagement
} else {
rawNew.Configmanagement = canonicalizeNewFeatureMembershipConfigmanagement(c, rawDesired.Configmanagement, rawNew.Configmanagement)
}
if dcl.IsEmptyValueIndirect(rawNew.Policycontroller) && dcl.IsEmptyValueIndirect(rawDesired.Policycontroller) {
rawNew.Policycontroller = rawDesired.Policycontroller
} else {
rawNew.Policycontroller = canonicalizeNewFeatureMembershipPolicycontroller(c, rawDesired.Policycontroller, rawNew.Policycontroller)
}
rawNew.Project = rawDesired.Project
rawNew.Location = rawDesired.Location
rawNew.Feature = rawDesired.Feature
rawNew.Membership = rawDesired.Membership
rawNew.MembershipLocation = rawDesired.MembershipLocation
return rawNew, nil
}
func canonicalizeFeatureMembershipMesh(des, initial *FeatureMembershipMesh, opts ...dcl.ApplyOption) *FeatureMembershipMesh {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipMesh{}
if dcl.IsZeroValue(des.Management) || (dcl.IsEmptyValueIndirect(des.Management) && dcl.IsEmptyValueIndirect(initial.Management)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Management = initial.Management
} else {
cDes.Management = des.Management
}
if dcl.IsZeroValue(des.ControlPlane) || (dcl.IsEmptyValueIndirect(des.ControlPlane) && dcl.IsEmptyValueIndirect(initial.ControlPlane)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.ControlPlane = initial.ControlPlane
} else {
cDes.ControlPlane = des.ControlPlane
}
return cDes
}
func canonicalizeFeatureMembershipMeshSlice(des, initial []FeatureMembershipMesh, opts ...dcl.ApplyOption) []FeatureMembershipMesh {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipMesh, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipMesh(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipMesh, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipMesh(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipMesh(c *Client, des, nw *FeatureMembershipMesh) *FeatureMembershipMesh {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipMesh while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewFeatureMembershipMeshSet(c *Client, des, nw []FeatureMembershipMesh) []FeatureMembershipMesh {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipMesh
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipMeshNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipMesh(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipMeshSlice(c *Client, des, nw []FeatureMembershipMesh) []FeatureMembershipMesh {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipMesh
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipMesh(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagement(des, initial *FeatureMembershipConfigmanagement, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagement {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagement{}
cDes.ConfigSync = canonicalizeFeatureMembershipConfigmanagementConfigSync(des.ConfigSync, initial.ConfigSync, opts...)
cDes.PolicyController = canonicalizeFeatureMembershipConfigmanagementPolicyController(des.PolicyController, initial.PolicyController, opts...)
cDes.Binauthz = canonicalizeFeatureMembershipConfigmanagementBinauthz(des.Binauthz, initial.Binauthz, opts...)
cDes.HierarchyController = canonicalizeFeatureMembershipConfigmanagementHierarchyController(des.HierarchyController, initial.HierarchyController, opts...)
if dcl.StringCanonicalize(des.Version, initial.Version) || dcl.IsZeroValue(des.Version) {
cDes.Version = initial.Version
} else {
cDes.Version = des.Version
}
if dcl.IsZeroValue(des.Management) || (dcl.IsEmptyValueIndirect(des.Management) && dcl.IsEmptyValueIndirect(initial.Management)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Management = initial.Management
} else {
cDes.Management = des.Management
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementSlice(des, initial []FeatureMembershipConfigmanagement, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagement {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagement, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagement(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagement, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagement(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagement(c *Client, des, nw *FeatureMembershipConfigmanagement) *FeatureMembershipConfigmanagement {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagement while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.ConfigSync = canonicalizeNewFeatureMembershipConfigmanagementConfigSync(c, des.ConfigSync, nw.ConfigSync)
nw.PolicyController = canonicalizeNewFeatureMembershipConfigmanagementPolicyController(c, des.PolicyController, nw.PolicyController)
nw.Binauthz = canonicalizeNewFeatureMembershipConfigmanagementBinauthz(c, des.Binauthz, nw.Binauthz)
nw.HierarchyController = canonicalizeNewFeatureMembershipConfigmanagementHierarchyController(c, des.HierarchyController, nw.HierarchyController)
if dcl.StringCanonicalize(des.Version, nw.Version) {
nw.Version = des.Version
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementSet(c *Client, des, nw []FeatureMembershipConfigmanagement) []FeatureMembershipConfigmanagement {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagement
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagement(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementSlice(c *Client, des, nw []FeatureMembershipConfigmanagement) []FeatureMembershipConfigmanagement {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagement
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagement(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementConfigSync(des, initial *FeatureMembershipConfigmanagementConfigSync, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementConfigSync {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementConfigSync{}
cDes.DeploymentOverrides = canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(des.DeploymentOverrides, initial.DeploymentOverrides, opts...)
cDes.Git = canonicalizeFeatureMembershipConfigmanagementConfigSyncGit(des.Git, initial.Git, opts...)
if dcl.StringCanonicalize(des.SourceFormat, initial.SourceFormat) || dcl.IsZeroValue(des.SourceFormat) {
cDes.SourceFormat = initial.SourceFormat
} else {
cDes.SourceFormat = des.SourceFormat
}
if dcl.BoolCanonicalize(des.Enabled, initial.Enabled) || dcl.IsZeroValue(des.Enabled) {
cDes.Enabled = initial.Enabled
} else {
cDes.Enabled = des.Enabled
}
if dcl.BoolCanonicalize(des.StopSyncing, initial.StopSyncing) || dcl.IsZeroValue(des.StopSyncing) {
cDes.StopSyncing = initial.StopSyncing
} else {
cDes.StopSyncing = des.StopSyncing
}
if dcl.BoolCanonicalize(des.PreventDrift, initial.PreventDrift) || dcl.IsZeroValue(des.PreventDrift) {
cDes.PreventDrift = initial.PreventDrift
} else {
cDes.PreventDrift = des.PreventDrift
}
if dcl.IsZeroValue(des.MetricsGcpServiceAccountEmail) || (dcl.IsEmptyValueIndirect(des.MetricsGcpServiceAccountEmail) && dcl.IsEmptyValueIndirect(initial.MetricsGcpServiceAccountEmail)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.MetricsGcpServiceAccountEmail = initial.MetricsGcpServiceAccountEmail
} else {
cDes.MetricsGcpServiceAccountEmail = des.MetricsGcpServiceAccountEmail
}
cDes.Oci = canonicalizeFeatureMembershipConfigmanagementConfigSyncOci(des.Oci, initial.Oci, opts...)
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncSlice(des, initial []FeatureMembershipConfigmanagementConfigSync, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementConfigSync {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementConfigSync, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSync(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementConfigSync, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSync(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSync(c *Client, des, nw *FeatureMembershipConfigmanagementConfigSync) *FeatureMembershipConfigmanagementConfigSync {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementConfigSync while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.DeploymentOverrides = canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(c, des.DeploymentOverrides, nw.DeploymentOverrides)
nw.Git = canonicalizeNewFeatureMembershipConfigmanagementConfigSyncGit(c, des.Git, nw.Git)
if dcl.StringCanonicalize(des.SourceFormat, nw.SourceFormat) {
nw.SourceFormat = des.SourceFormat
}
if dcl.BoolCanonicalize(des.Enabled, nw.Enabled) {
nw.Enabled = des.Enabled
}
if dcl.BoolCanonicalize(des.StopSyncing, nw.StopSyncing) {
nw.StopSyncing = des.StopSyncing
}
if dcl.BoolCanonicalize(des.PreventDrift, nw.PreventDrift) {
nw.PreventDrift = des.PreventDrift
}
nw.Oci = canonicalizeNewFeatureMembershipConfigmanagementConfigSyncOci(c, des.Oci, nw.Oci)
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncSet(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSync) []FeatureMembershipConfigmanagementConfigSync {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementConfigSync
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementConfigSyncNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSync(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncSlice(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSync) []FeatureMembershipConfigmanagementConfigSync {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementConfigSync
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSync(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(des, initial *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides{}
if dcl.StringCanonicalize(des.DeploymentName, initial.DeploymentName) || dcl.IsZeroValue(des.DeploymentName) {
cDes.DeploymentName = initial.DeploymentName
} else {
cDes.DeploymentName = des.DeploymentName
}
if dcl.StringCanonicalize(des.DeploymentNamespace, initial.DeploymentNamespace) || dcl.IsZeroValue(des.DeploymentNamespace) {
cDes.DeploymentNamespace = initial.DeploymentNamespace
} else {
cDes.DeploymentNamespace = des.DeploymentNamespace
}
cDes.Containers = canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(des.Containers, initial.Containers, opts...)
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(des, initial []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c *Client, des, nw *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides) *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.DeploymentName, nw.DeploymentName) {
nw.DeploymentName = des.DeploymentName
}
if dcl.StringCanonicalize(des.DeploymentNamespace, nw.DeploymentNamespace) {
nw.DeploymentNamespace = des.DeploymentNamespace
}
nw.Containers = canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(c, des.Containers, nw.Containers)
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSet(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(des, initial *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers{}
if dcl.StringCanonicalize(des.ContainerName, initial.ContainerName) || dcl.IsZeroValue(des.ContainerName) {
cDes.ContainerName = initial.ContainerName
} else {
cDes.ContainerName = des.ContainerName
}
if dcl.StringCanonicalize(des.CpuRequest, initial.CpuRequest) || dcl.IsZeroValue(des.CpuRequest) {
cDes.CpuRequest = initial.CpuRequest
} else {
cDes.CpuRequest = des.CpuRequest
}
if dcl.StringCanonicalize(des.MemoryRequest, initial.MemoryRequest) || dcl.IsZeroValue(des.MemoryRequest) {
cDes.MemoryRequest = initial.MemoryRequest
} else {
cDes.MemoryRequest = des.MemoryRequest
}
if dcl.StringCanonicalize(des.CpuLimit, initial.CpuLimit) || dcl.IsZeroValue(des.CpuLimit) {
cDes.CpuLimit = initial.CpuLimit
} else {
cDes.CpuLimit = des.CpuLimit
}
if dcl.StringCanonicalize(des.MemoryLimit, initial.MemoryLimit) || dcl.IsZeroValue(des.MemoryLimit) {
cDes.MemoryLimit = initial.MemoryLimit
} else {
cDes.MemoryLimit = des.MemoryLimit
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(des, initial []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c *Client, des, nw *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers) *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.ContainerName, nw.ContainerName) {
nw.ContainerName = des.ContainerName
}
if dcl.StringCanonicalize(des.CpuRequest, nw.CpuRequest) {
nw.CpuRequest = des.CpuRequest
}
if dcl.StringCanonicalize(des.MemoryRequest, nw.MemoryRequest) {
nw.MemoryRequest = des.MemoryRequest
}
if dcl.StringCanonicalize(des.CpuLimit, nw.CpuLimit) {
nw.CpuLimit = des.CpuLimit
}
if dcl.StringCanonicalize(des.MemoryLimit, nw.MemoryLimit) {
nw.MemoryLimit = des.MemoryLimit
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSet(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncGit(des, initial *FeatureMembershipConfigmanagementConfigSyncGit, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementConfigSyncGit {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementConfigSyncGit{}
if dcl.StringCanonicalize(des.SyncRepo, initial.SyncRepo) || dcl.IsZeroValue(des.SyncRepo) {
cDes.SyncRepo = initial.SyncRepo
} else {
cDes.SyncRepo = des.SyncRepo
}
if dcl.StringCanonicalize(des.SyncBranch, initial.SyncBranch) || dcl.IsZeroValue(des.SyncBranch) {
cDes.SyncBranch = initial.SyncBranch
} else {
cDes.SyncBranch = des.SyncBranch
}
if dcl.StringCanonicalize(des.PolicyDir, initial.PolicyDir) || dcl.IsZeroValue(des.PolicyDir) {
cDes.PolicyDir = initial.PolicyDir
} else {
cDes.PolicyDir = des.PolicyDir
}
if dcl.StringCanonicalize(des.SyncWaitSecs, initial.SyncWaitSecs) || dcl.IsZeroValue(des.SyncWaitSecs) {
cDes.SyncWaitSecs = initial.SyncWaitSecs
} else {
cDes.SyncWaitSecs = des.SyncWaitSecs
}
if dcl.StringCanonicalize(des.SyncRev, initial.SyncRev) || dcl.IsZeroValue(des.SyncRev) {
cDes.SyncRev = initial.SyncRev
} else {
cDes.SyncRev = des.SyncRev
}
if dcl.StringCanonicalize(des.SecretType, initial.SecretType) || dcl.IsZeroValue(des.SecretType) {
cDes.SecretType = initial.SecretType
} else {
cDes.SecretType = des.SecretType
}
if dcl.StringCanonicalize(des.HttpsProxy, initial.HttpsProxy) || dcl.IsZeroValue(des.HttpsProxy) {
cDes.HttpsProxy = initial.HttpsProxy
} else {
cDes.HttpsProxy = des.HttpsProxy
}
if dcl.IsZeroValue(des.GcpServiceAccountEmail) || (dcl.IsEmptyValueIndirect(des.GcpServiceAccountEmail) && dcl.IsEmptyValueIndirect(initial.GcpServiceAccountEmail)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.GcpServiceAccountEmail = initial.GcpServiceAccountEmail
} else {
cDes.GcpServiceAccountEmail = des.GcpServiceAccountEmail
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncGitSlice(des, initial []FeatureMembershipConfigmanagementConfigSyncGit, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementConfigSyncGit {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementConfigSyncGit, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncGit(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementConfigSyncGit, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncGit(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncGit(c *Client, des, nw *FeatureMembershipConfigmanagementConfigSyncGit) *FeatureMembershipConfigmanagementConfigSyncGit {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementConfigSyncGit while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.SyncRepo, nw.SyncRepo) {
nw.SyncRepo = des.SyncRepo
}
if dcl.StringCanonicalize(des.SyncBranch, nw.SyncBranch) {
nw.SyncBranch = des.SyncBranch
}
if dcl.StringCanonicalize(des.PolicyDir, nw.PolicyDir) {
nw.PolicyDir = des.PolicyDir
}
if dcl.StringCanonicalize(des.SyncWaitSecs, nw.SyncWaitSecs) {
nw.SyncWaitSecs = des.SyncWaitSecs
}
if dcl.StringCanonicalize(des.SyncRev, nw.SyncRev) {
nw.SyncRev = des.SyncRev
}
if dcl.StringCanonicalize(des.SecretType, nw.SecretType) {
nw.SecretType = des.SecretType
}
if dcl.StringCanonicalize(des.HttpsProxy, nw.HttpsProxy) {
nw.HttpsProxy = des.HttpsProxy
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncGitSet(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncGit) []FeatureMembershipConfigmanagementConfigSyncGit {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementConfigSyncGit
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementConfigSyncGitNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncGit(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncGitSlice(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncGit) []FeatureMembershipConfigmanagementConfigSyncGit {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementConfigSyncGit
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncGit(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncOci(des, initial *FeatureMembershipConfigmanagementConfigSyncOci, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementConfigSyncOci {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementConfigSyncOci{}
if dcl.StringCanonicalize(des.SyncRepo, initial.SyncRepo) || dcl.IsZeroValue(des.SyncRepo) {
cDes.SyncRepo = initial.SyncRepo
} else {
cDes.SyncRepo = des.SyncRepo
}
if dcl.StringCanonicalize(des.PolicyDir, initial.PolicyDir) || dcl.IsZeroValue(des.PolicyDir) {
cDes.PolicyDir = initial.PolicyDir
} else {
cDes.PolicyDir = des.PolicyDir
}
if dcl.StringCanonicalize(des.SyncWaitSecs, initial.SyncWaitSecs) || dcl.IsZeroValue(des.SyncWaitSecs) {
cDes.SyncWaitSecs = initial.SyncWaitSecs
} else {
cDes.SyncWaitSecs = des.SyncWaitSecs
}
if dcl.StringCanonicalize(des.SecretType, initial.SecretType) || dcl.IsZeroValue(des.SecretType) {
cDes.SecretType = initial.SecretType
} else {
cDes.SecretType = des.SecretType
}
if dcl.IsZeroValue(des.GcpServiceAccountEmail) || (dcl.IsEmptyValueIndirect(des.GcpServiceAccountEmail) && dcl.IsEmptyValueIndirect(initial.GcpServiceAccountEmail)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.GcpServiceAccountEmail = initial.GcpServiceAccountEmail
} else {
cDes.GcpServiceAccountEmail = des.GcpServiceAccountEmail
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementConfigSyncOciSlice(des, initial []FeatureMembershipConfigmanagementConfigSyncOci, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementConfigSyncOci {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementConfigSyncOci, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncOci(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementConfigSyncOci, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementConfigSyncOci(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncOci(c *Client, des, nw *FeatureMembershipConfigmanagementConfigSyncOci) *FeatureMembershipConfigmanagementConfigSyncOci {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementConfigSyncOci while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.SyncRepo, nw.SyncRepo) {
nw.SyncRepo = des.SyncRepo
}
if dcl.StringCanonicalize(des.PolicyDir, nw.PolicyDir) {
nw.PolicyDir = des.PolicyDir
}
if dcl.StringCanonicalize(des.SyncWaitSecs, nw.SyncWaitSecs) {
nw.SyncWaitSecs = des.SyncWaitSecs
}
if dcl.StringCanonicalize(des.SecretType, nw.SecretType) {
nw.SecretType = des.SecretType
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncOciSet(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncOci) []FeatureMembershipConfigmanagementConfigSyncOci {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementConfigSyncOci
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementConfigSyncOciNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncOci(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementConfigSyncOciSlice(c *Client, des, nw []FeatureMembershipConfigmanagementConfigSyncOci) []FeatureMembershipConfigmanagementConfigSyncOci {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementConfigSyncOci
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementConfigSyncOci(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementPolicyController(des, initial *FeatureMembershipConfigmanagementPolicyController, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementPolicyController {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementPolicyController{}
if dcl.BoolCanonicalize(des.Enabled, initial.Enabled) || dcl.IsZeroValue(des.Enabled) {
cDes.Enabled = initial.Enabled
} else {
cDes.Enabled = des.Enabled
}
if dcl.StringArrayCanonicalize(des.ExemptableNamespaces, initial.ExemptableNamespaces) {
cDes.ExemptableNamespaces = initial.ExemptableNamespaces
} else {
cDes.ExemptableNamespaces = des.ExemptableNamespaces
}
if dcl.BoolCanonicalize(des.ReferentialRulesEnabled, initial.ReferentialRulesEnabled) || dcl.IsZeroValue(des.ReferentialRulesEnabled) {
cDes.ReferentialRulesEnabled = initial.ReferentialRulesEnabled
} else {
cDes.ReferentialRulesEnabled = des.ReferentialRulesEnabled
}
if dcl.BoolCanonicalize(des.LogDeniesEnabled, initial.LogDeniesEnabled) || dcl.IsZeroValue(des.LogDeniesEnabled) {
cDes.LogDeniesEnabled = initial.LogDeniesEnabled
} else {
cDes.LogDeniesEnabled = des.LogDeniesEnabled
}
if dcl.BoolCanonicalize(des.MutationEnabled, initial.MutationEnabled) || dcl.IsZeroValue(des.MutationEnabled) {
cDes.MutationEnabled = initial.MutationEnabled
} else {
cDes.MutationEnabled = des.MutationEnabled
}
cDes.Monitoring = canonicalizeFeatureMembershipConfigmanagementPolicyControllerMonitoring(des.Monitoring, initial.Monitoring, opts...)
if dcl.BoolCanonicalize(des.TemplateLibraryInstalled, initial.TemplateLibraryInstalled) || dcl.IsZeroValue(des.TemplateLibraryInstalled) {
cDes.TemplateLibraryInstalled = initial.TemplateLibraryInstalled
} else {
cDes.TemplateLibraryInstalled = des.TemplateLibraryInstalled
}
if dcl.StringCanonicalize(des.AuditIntervalSeconds, initial.AuditIntervalSeconds) || dcl.IsZeroValue(des.AuditIntervalSeconds) {
cDes.AuditIntervalSeconds = initial.AuditIntervalSeconds
} else {
cDes.AuditIntervalSeconds = des.AuditIntervalSeconds
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementPolicyControllerSlice(des, initial []FeatureMembershipConfigmanagementPolicyController, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementPolicyController {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementPolicyController, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementPolicyController(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementPolicyController, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementPolicyController(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementPolicyController(c *Client, des, nw *FeatureMembershipConfigmanagementPolicyController) *FeatureMembershipConfigmanagementPolicyController {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementPolicyController while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.BoolCanonicalize(des.Enabled, nw.Enabled) {
nw.Enabled = des.Enabled
}
if dcl.StringArrayCanonicalize(des.ExemptableNamespaces, nw.ExemptableNamespaces) {
nw.ExemptableNamespaces = des.ExemptableNamespaces
}
if dcl.BoolCanonicalize(des.ReferentialRulesEnabled, nw.ReferentialRulesEnabled) {
nw.ReferentialRulesEnabled = des.ReferentialRulesEnabled
}
if dcl.BoolCanonicalize(des.LogDeniesEnabled, nw.LogDeniesEnabled) {
nw.LogDeniesEnabled = des.LogDeniesEnabled
}
if dcl.BoolCanonicalize(des.MutationEnabled, nw.MutationEnabled) {
nw.MutationEnabled = des.MutationEnabled
}
nw.Monitoring = canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, des.Monitoring, nw.Monitoring)
if dcl.BoolCanonicalize(des.TemplateLibraryInstalled, nw.TemplateLibraryInstalled) {
nw.TemplateLibraryInstalled = des.TemplateLibraryInstalled
}
if dcl.StringCanonicalize(des.AuditIntervalSeconds, nw.AuditIntervalSeconds) {
nw.AuditIntervalSeconds = des.AuditIntervalSeconds
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerSet(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyController) []FeatureMembershipConfigmanagementPolicyController {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementPolicyController
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementPolicyControllerNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementPolicyController(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerSlice(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyController) []FeatureMembershipConfigmanagementPolicyController {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementPolicyController
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementPolicyController(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementPolicyControllerMonitoring(des, initial *FeatureMembershipConfigmanagementPolicyControllerMonitoring, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementPolicyControllerMonitoring {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
if dcl.IsZeroValue(des.Backends) || (dcl.IsEmptyValueIndirect(des.Backends) && dcl.IsEmptyValueIndirect(initial.Backends)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Backends = initial.Backends
} else {
cDes.Backends = des.Backends
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementPolicyControllerMonitoringSlice(des, initial []FeatureMembershipConfigmanagementPolicyControllerMonitoring, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementPolicyControllerMonitoring {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementPolicyControllerMonitoring, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementPolicyControllerMonitoring(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementPolicyControllerMonitoring, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementPolicyControllerMonitoring(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerMonitoring(c *Client, des, nw *FeatureMembershipConfigmanagementPolicyControllerMonitoring) *FeatureMembershipConfigmanagementPolicyControllerMonitoring {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementPolicyControllerMonitoring while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerMonitoringSet(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyControllerMonitoring) []FeatureMembershipConfigmanagementPolicyControllerMonitoring {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementPolicyControllerMonitoring
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementPolicyControllerMonitoringNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerMonitoringSlice(c *Client, des, nw []FeatureMembershipConfigmanagementPolicyControllerMonitoring) []FeatureMembershipConfigmanagementPolicyControllerMonitoring {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementPolicyControllerMonitoring
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementBinauthz(des, initial *FeatureMembershipConfigmanagementBinauthz, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementBinauthz {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementBinauthz{}
if dcl.BoolCanonicalize(des.Enabled, initial.Enabled) || dcl.IsZeroValue(des.Enabled) {
cDes.Enabled = initial.Enabled
} else {
cDes.Enabled = des.Enabled
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementBinauthzSlice(des, initial []FeatureMembershipConfigmanagementBinauthz, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementBinauthz {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementBinauthz, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementBinauthz(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementBinauthz, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementBinauthz(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementBinauthz(c *Client, des, nw *FeatureMembershipConfigmanagementBinauthz) *FeatureMembershipConfigmanagementBinauthz {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementBinauthz while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.BoolCanonicalize(des.Enabled, nw.Enabled) {
nw.Enabled = des.Enabled
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementBinauthzSet(c *Client, des, nw []FeatureMembershipConfigmanagementBinauthz) []FeatureMembershipConfigmanagementBinauthz {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementBinauthz
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementBinauthzNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementBinauthz(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementBinauthzSlice(c *Client, des, nw []FeatureMembershipConfigmanagementBinauthz) []FeatureMembershipConfigmanagementBinauthz {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementBinauthz
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementBinauthz(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipConfigmanagementHierarchyController(des, initial *FeatureMembershipConfigmanagementHierarchyController, opts ...dcl.ApplyOption) *FeatureMembershipConfigmanagementHierarchyController {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipConfigmanagementHierarchyController{}
if dcl.BoolCanonicalize(des.Enabled, initial.Enabled) || dcl.IsZeroValue(des.Enabled) {
cDes.Enabled = initial.Enabled
} else {
cDes.Enabled = des.Enabled
}
if dcl.BoolCanonicalize(des.EnablePodTreeLabels, initial.EnablePodTreeLabels) || dcl.IsZeroValue(des.EnablePodTreeLabels) {
cDes.EnablePodTreeLabels = initial.EnablePodTreeLabels
} else {
cDes.EnablePodTreeLabels = des.EnablePodTreeLabels
}
if dcl.BoolCanonicalize(des.EnableHierarchicalResourceQuota, initial.EnableHierarchicalResourceQuota) || dcl.IsZeroValue(des.EnableHierarchicalResourceQuota) {
cDes.EnableHierarchicalResourceQuota = initial.EnableHierarchicalResourceQuota
} else {
cDes.EnableHierarchicalResourceQuota = des.EnableHierarchicalResourceQuota
}
return cDes
}
func canonicalizeFeatureMembershipConfigmanagementHierarchyControllerSlice(des, initial []FeatureMembershipConfigmanagementHierarchyController, opts ...dcl.ApplyOption) []FeatureMembershipConfigmanagementHierarchyController {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipConfigmanagementHierarchyController, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementHierarchyController(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipConfigmanagementHierarchyController, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipConfigmanagementHierarchyController(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementHierarchyController(c *Client, des, nw *FeatureMembershipConfigmanagementHierarchyController) *FeatureMembershipConfigmanagementHierarchyController {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipConfigmanagementHierarchyController while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.BoolCanonicalize(des.Enabled, nw.Enabled) {
nw.Enabled = des.Enabled
}
if dcl.BoolCanonicalize(des.EnablePodTreeLabels, nw.EnablePodTreeLabels) {
nw.EnablePodTreeLabels = des.EnablePodTreeLabels
}
if dcl.BoolCanonicalize(des.EnableHierarchicalResourceQuota, nw.EnableHierarchicalResourceQuota) {
nw.EnableHierarchicalResourceQuota = des.EnableHierarchicalResourceQuota
}
return nw
}
func canonicalizeNewFeatureMembershipConfigmanagementHierarchyControllerSet(c *Client, des, nw []FeatureMembershipConfigmanagementHierarchyController) []FeatureMembershipConfigmanagementHierarchyController {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipConfigmanagementHierarchyController
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipConfigmanagementHierarchyControllerNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementHierarchyController(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipConfigmanagementHierarchyControllerSlice(c *Client, des, nw []FeatureMembershipConfigmanagementHierarchyController) []FeatureMembershipConfigmanagementHierarchyController {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipConfigmanagementHierarchyController
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipConfigmanagementHierarchyController(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontroller(des, initial *FeatureMembershipPolicycontroller, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontroller {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontroller{}
if dcl.StringCanonicalize(des.Version, initial.Version) || dcl.IsZeroValue(des.Version) {
cDes.Version = initial.Version
} else {
cDes.Version = des.Version
}
cDes.PolicyControllerHubConfig = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfig(des.PolicyControllerHubConfig, initial.PolicyControllerHubConfig, opts...)
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerSlice(des, initial []FeatureMembershipPolicycontroller, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontroller {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontroller, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontroller(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontroller, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontroller(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontroller(c *Client, des, nw *FeatureMembershipPolicycontroller) *FeatureMembershipPolicycontroller {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontroller while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Version, nw.Version) {
nw.Version = des.Version
}
nw.PolicyControllerHubConfig = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, des.PolicyControllerHubConfig, nw.PolicyControllerHubConfig)
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerSet(c *Client, des, nw []FeatureMembershipPolicycontroller) []FeatureMembershipPolicycontroller {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontroller
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontroller(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerSlice(c *Client, des, nw []FeatureMembershipPolicycontroller) []FeatureMembershipPolicycontroller {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontroller
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontroller(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfig(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfig, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
if dcl.IsZeroValue(des.InstallSpec) || (dcl.IsEmptyValueIndirect(des.InstallSpec) && dcl.IsEmptyValueIndirect(initial.InstallSpec)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.InstallSpec = initial.InstallSpec
} else {
cDes.InstallSpec = des.InstallSpec
}
if dcl.StringArrayCanonicalize(des.ExemptableNamespaces, initial.ExemptableNamespaces) {
cDes.ExemptableNamespaces = initial.ExemptableNamespaces
} else {
cDes.ExemptableNamespaces = des.ExemptableNamespaces
}
if dcl.BoolCanonicalize(des.ReferentialRulesEnabled, initial.ReferentialRulesEnabled) || dcl.IsZeroValue(des.ReferentialRulesEnabled) {
cDes.ReferentialRulesEnabled = initial.ReferentialRulesEnabled
} else {
cDes.ReferentialRulesEnabled = des.ReferentialRulesEnabled
}
if dcl.BoolCanonicalize(des.LogDeniesEnabled, initial.LogDeniesEnabled) || dcl.IsZeroValue(des.LogDeniesEnabled) {
cDes.LogDeniesEnabled = initial.LogDeniesEnabled
} else {
cDes.LogDeniesEnabled = des.LogDeniesEnabled
}
if dcl.BoolCanonicalize(des.MutationEnabled, initial.MutationEnabled) || dcl.IsZeroValue(des.MutationEnabled) {
cDes.MutationEnabled = initial.MutationEnabled
} else {
cDes.MutationEnabled = des.MutationEnabled
}
cDes.Monitoring = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(des.Monitoring, initial.Monitoring, opts...)
if dcl.IsZeroValue(des.AuditIntervalSeconds) || (dcl.IsEmptyValueIndirect(des.AuditIntervalSeconds) && dcl.IsEmptyValueIndirect(initial.AuditIntervalSeconds)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.AuditIntervalSeconds = initial.AuditIntervalSeconds
} else {
cDes.AuditIntervalSeconds = des.AuditIntervalSeconds
}
if dcl.IsZeroValue(des.ConstraintViolationLimit) || (dcl.IsEmptyValueIndirect(des.ConstraintViolationLimit) && dcl.IsEmptyValueIndirect(initial.ConstraintViolationLimit)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.ConstraintViolationLimit = initial.ConstraintViolationLimit
} else {
cDes.ConstraintViolationLimit = des.ConstraintViolationLimit
}
cDes.PolicyContent = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(des.PolicyContent, initial.PolicyContent, opts...)
if dcl.IsZeroValue(des.DeploymentConfigs) || (dcl.IsEmptyValueIndirect(des.DeploymentConfigs) && dcl.IsEmptyValueIndirect(initial.DeploymentConfigs)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.DeploymentConfigs = initial.DeploymentConfigs
} else {
cDes.DeploymentConfigs = des.DeploymentConfigs
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfig, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfig, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfig(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfig, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfig(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfig) *FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfig while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringArrayCanonicalize(des.ExemptableNamespaces, nw.ExemptableNamespaces) {
nw.ExemptableNamespaces = des.ExemptableNamespaces
}
if dcl.BoolCanonicalize(des.ReferentialRulesEnabled, nw.ReferentialRulesEnabled) {
nw.ReferentialRulesEnabled = des.ReferentialRulesEnabled
}
if dcl.BoolCanonicalize(des.LogDeniesEnabled, nw.LogDeniesEnabled) {
nw.LogDeniesEnabled = des.LogDeniesEnabled
}
if dcl.BoolCanonicalize(des.MutationEnabled, nw.MutationEnabled) {
nw.MutationEnabled = des.MutationEnabled
}
nw.Monitoring = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, des.Monitoring, nw.Monitoring)
nw.PolicyContent = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, des.PolicyContent, nw.PolicyContent)
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfig) []FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfig
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfig) []FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfig
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
if dcl.IsZeroValue(des.Backends) || (dcl.IsEmptyValueIndirect(des.Backends) && dcl.IsEmptyValueIndirect(initial.Backends)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Backends = initial.Backends
} else {
cDes.Backends = des.Backends
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
cDes.TemplateLibrary = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(des.TemplateLibrary, initial.TemplateLibrary, opts...)
if dcl.IsZeroValue(des.Bundles) || (dcl.IsEmptyValueIndirect(des.Bundles) && dcl.IsEmptyValueIndirect(initial.Bundles)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Bundles = initial.Bundles
} else {
cDes.Bundles = des.Bundles
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.TemplateLibrary = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, des.TemplateLibrary, nw.TemplateLibrary)
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
if dcl.IsZeroValue(des.Installation) || (dcl.IsEmptyValueIndirect(des.Installation) && dcl.IsEmptyValueIndirect(initial.Installation)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Installation = initial.Installation
} else {
cDes.Installation = des.Installation
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrarySlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrarySet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrarySlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles{}
if dcl.StringArrayCanonicalize(des.ExemptedNamespaces, initial.ExemptedNamespaces) {
cDes.ExemptedNamespaces = initial.ExemptedNamespaces
} else {
cDes.ExemptedNamespaces = des.ExemptedNamespaces
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringArrayCanonicalize(des.ExemptedNamespaces, nw.ExemptedNamespaces) {
nw.ExemptedNamespaces = des.ExemptedNamespaces
}
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
if des == nil {
return initial
}
if des.empty {
return des
}
if des.ReplicaCount != nil || (initial != nil && initial.ReplicaCount != nil) {
// Check if anything else is set.
if dcl.AnySet(des.ContainerResources, des.PodAffinity, des.PodTolerations) {
des.ReplicaCount = nil
if initial != nil {
initial.ReplicaCount = nil
}
}
}
if des.ContainerResources != nil || (initial != nil && initial.ContainerResources != nil) {
// Check if anything else is set.
if dcl.AnySet(des.ReplicaCount, des.PodAffinity, des.PodTolerations) {
des.ContainerResources = nil
if initial != nil {
initial.ContainerResources = nil
}
}
}
if des.PodAffinity != nil || (initial != nil && initial.PodAffinity != nil) {
// Check if anything else is set.
if dcl.AnySet(des.ReplicaCount, des.ContainerResources, des.PodTolerations) {
des.PodAffinity = nil
if initial != nil {
initial.PodAffinity = nil
}
}
}
if des.PodTolerations != nil || (initial != nil && initial.PodTolerations != nil) {
// Check if anything else is set.
if dcl.AnySet(des.ReplicaCount, des.ContainerResources, des.PodAffinity) {
des.PodTolerations = nil
if initial != nil {
initial.PodTolerations = nil
}
}
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs{}
if dcl.IsZeroValue(des.ReplicaCount) || (dcl.IsEmptyValueIndirect(des.ReplicaCount) && dcl.IsEmptyValueIndirect(initial.ReplicaCount)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.ReplicaCount = initial.ReplicaCount
} else {
cDes.ReplicaCount = des.ReplicaCount
}
cDes.ContainerResources = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(des.ContainerResources, initial.ContainerResources, opts...)
if dcl.IsZeroValue(des.PodAffinity) || (dcl.IsEmptyValueIndirect(des.PodAffinity) && dcl.IsEmptyValueIndirect(initial.PodAffinity)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.PodAffinity = initial.PodAffinity
} else {
cDes.PodAffinity = des.PodAffinity
}
cDes.PodTolerations = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(des.PodTolerations, initial.PodTolerations, opts...)
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.ContainerResources = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, des.ContainerResources, nw.ContainerResources)
nw.PodTolerations = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(c, des.PodTolerations, nw.PodTolerations)
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
cDes.Limits = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(des.Limits, initial.Limits, opts...)
cDes.Requests = canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(des.Requests, initial.Requests, opts...)
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.Limits = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, des.Limits, nw.Limits)
nw.Requests = canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, des.Requests, nw.Requests)
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
if dcl.StringCanonicalize(des.Memory, initial.Memory) || dcl.IsZeroValue(des.Memory) {
cDes.Memory = initial.Memory
} else {
cDes.Memory = des.Memory
}
if dcl.StringCanonicalize(des.Cpu, initial.Cpu) || dcl.IsZeroValue(des.Cpu) {
cDes.Cpu = initial.Cpu
} else {
cDes.Cpu = des.Cpu
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Memory, nw.Memory) {
nw.Memory = des.Memory
}
if dcl.StringCanonicalize(des.Cpu, nw.Cpu) {
nw.Cpu = des.Cpu
}
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
if dcl.StringCanonicalize(des.Memory, initial.Memory) || dcl.IsZeroValue(des.Memory) {
cDes.Memory = initial.Memory
} else {
cDes.Memory = des.Memory
}
if dcl.StringCanonicalize(des.Cpu, initial.Cpu) || dcl.IsZeroValue(des.Cpu) {
cDes.Cpu = initial.Cpu
} else {
cDes.Cpu = des.Cpu
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Memory, nw.Memory) {
nw.Memory = des.Memory
}
if dcl.StringCanonicalize(des.Cpu, nw.Cpu) {
nw.Cpu = des.Cpu
}
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, &d, &n))
}
return items
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(des, initial *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, opts ...dcl.ApplyOption) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations{}
if dcl.StringCanonicalize(des.Key, initial.Key) || dcl.IsZeroValue(des.Key) {
cDes.Key = initial.Key
} else {
cDes.Key = des.Key
}
if dcl.StringCanonicalize(des.Operator, initial.Operator) || dcl.IsZeroValue(des.Operator) {
cDes.Operator = initial.Operator
} else {
cDes.Operator = des.Operator
}
if dcl.StringCanonicalize(des.Value, initial.Value) || dcl.IsZeroValue(des.Value) {
cDes.Value = initial.Value
} else {
cDes.Value = des.Value
}
if dcl.StringCanonicalize(des.Effect, initial.Effect) || dcl.IsZeroValue(des.Effect) {
cDes.Effect = initial.Effect
} else {
cDes.Effect = des.Effect
}
return cDes
}
func canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(des, initial []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, opts ...dcl.ApplyOption) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, 0, len(des))
for _, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, 0, len(des))
for i, d := range des {
cd := canonicalizeFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c *Client, des, nw *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Key, nw.Key) {
nw.Key = des.Key
}
if dcl.StringCanonicalize(des.Operator, nw.Operator) {
nw.Operator = des.Operator
}
if dcl.StringCanonicalize(des.Value, nw.Value) {
nw.Value = des.Value
}
if dcl.StringCanonicalize(des.Effect, nw.Effect) {
nw.Effect = des.Effect
}
return nw
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSet(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
if des == nil {
return nw
}
// Find the elements in des that are also in nw and canonicalize them. Remove matched elements from nw.
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c, &d, &nw[matchedIndex]))
nw = append(nw[:matchedIndex], nw[matchedIndex+1:]...)
}
}
// Also include elements in nw that are not matched in des.
items = append(items, nw...)
return items
}
func canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(c *Client, des, nw []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
if des == nil {
return nw
}
// Lengths are unequal. A diff will occur later, so we shouldn't canonicalize.
// Return the original array.
if len(des) != len(nw) {
return nw
}
var items []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c, &d, &n))
}
return items
}
// The differ returns a list of diffs, along with a list of operations that should be taken
// to remedy them. Right now, it does not attempt to consolidate operations - if several
// fields can be fixed with a patch update, it will perform the patch several times.
// Diffs on some fields will be ignored if the `desired` state has an empty (nil)
// value. This empty value indicates that the user does not care about the state for
// the field. Empty fields on the actual object will cause diffs.
// TODO(magic-modules-eng): for efficiency in some resources, add batching.
func diffFeatureMembership(c *Client, desired, actual *FeatureMembership, opts ...dcl.ApplyOption) ([]*dcl.FieldDiff, error) {
if desired == nil || actual == nil {
return nil, fmt.Errorf("nil resource passed to diff - always a programming error: %#v, %#v", desired, actual)
}
c.Config.Logger.Infof("Diff function called with desired state: %v", desired)
c.Config.Logger.Infof("Diff function called with actual state: %v", actual)
var fn dcl.FieldName
var newDiffs []*dcl.FieldDiff
// New style diffs.
if ds, err := dcl.Diff(desired.Mesh, actual.Mesh, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipMeshNewStyle, EmptyObject: EmptyFeatureMembershipMesh, OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("Mesh")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Configmanagement, actual.Configmanagement, dcl.DiffInfo{MergeNestedDiffs: true, ObjectFunction: compareFeatureMembershipConfigmanagementNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagement, OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("Configmanagement")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Policycontroller, actual.Policycontroller, dcl.DiffInfo{MergeNestedDiffs: true, ObjectFunction: compareFeatureMembershipPolicycontrollerNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontroller, OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("Policycontroller")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Project, actual.Project, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Project")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Location, actual.Location, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Location")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Feature, actual.Feature, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Feature")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Membership, actual.Membership, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Membership")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.MembershipLocation, actual.MembershipLocation, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MembershipLocation")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if len(newDiffs) > 0 {
c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
}
return newDiffs, nil
}
func compareFeatureMembershipMeshNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipMesh)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipMesh)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipMesh or *FeatureMembershipMesh", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipMesh)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipMesh)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipMesh", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Management, actual.Management, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("Management")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ControlPlane, actual.ControlPlane, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("ControlPlane")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagement)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagement)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagement or *FeatureMembershipConfigmanagement", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagement)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagement)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagement", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.ConfigSync, actual.ConfigSync, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementConfigSyncNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementConfigSync, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ConfigSync")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PolicyController, actual.PolicyController, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementPolicyControllerNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementPolicyController, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyController")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Binauthz, actual.Binauthz, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareFeatureMembershipConfigmanagementBinauthzNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementBinauthz, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Binauthz")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.HierarchyController, actual.HierarchyController, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementHierarchyControllerNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementHierarchyController, CustomDiff: emptyHNCSameAsAllFalse, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HierarchyController")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Version, actual.Version, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Version")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Management, actual.Management, dcl.DiffInfo{ServerDefault: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Management")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementConfigSyncNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementConfigSync)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementConfigSync)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSync or *FeatureMembershipConfigmanagementConfigSync", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementConfigSync)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementConfigSync)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSync", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.DeploymentOverrides, actual.DeploymentOverrides, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DeploymentOverrides")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Git, actual.Git, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementConfigSyncGitNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementConfigSyncGit, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Git")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SourceFormat, actual.SourceFormat, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SourceFormat")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Enabled, actual.Enabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Enabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.StopSyncing, actual.StopSyncing, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("StopSyncing")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PreventDrift, actual.PreventDrift, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PreventDrift")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MetricsGcpServiceAccountEmail, actual.MetricsGcpServiceAccountEmail, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MetricsGcpServiceAccountEmail")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Oci, actual.Oci, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementConfigSyncOciNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementConfigSyncOci, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Oci")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides or *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.DeploymentName, actual.DeploymentName, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DeploymentName")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.DeploymentNamespace, actual.DeploymentNamespace, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DeploymentNamespace")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Containers, actual.Containers, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Containers")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers or *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.ContainerName, actual.ContainerName, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContainerName")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.CpuRequest, actual.CpuRequest, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CpuRequest")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MemoryRequest, actual.MemoryRequest, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MemoryRequest")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.CpuLimit, actual.CpuLimit, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CpuLimit")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MemoryLimit, actual.MemoryLimit, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MemoryLimit")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementConfigSyncGitNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementConfigSyncGit)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementConfigSyncGit)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncGit or *FeatureMembershipConfigmanagementConfigSyncGit", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementConfigSyncGit)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementConfigSyncGit)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncGit", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.SyncRepo, actual.SyncRepo, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SyncRepo")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SyncBranch, actual.SyncBranch, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SyncBranch")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PolicyDir, actual.PolicyDir, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyDir")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SyncWaitSecs, actual.SyncWaitSecs, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SyncWaitSecs")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SyncRev, actual.SyncRev, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SyncRev")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SecretType, actual.SecretType, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("SecretType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.HttpsProxy, actual.HttpsProxy, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("HttpsProxy")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.GcpServiceAccountEmail, actual.GcpServiceAccountEmail, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("GcpServiceAccountEmail")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementConfigSyncOciNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementConfigSyncOci)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementConfigSyncOci)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncOci or *FeatureMembershipConfigmanagementConfigSyncOci", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementConfigSyncOci)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementConfigSyncOci)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementConfigSyncOci", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.SyncRepo, actual.SyncRepo, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("SyncRepo")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PolicyDir, actual.PolicyDir, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("PolicyDir")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SyncWaitSecs, actual.SyncWaitSecs, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("SyncWaitSecs")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SecretType, actual.SecretType, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("SecretType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.GcpServiceAccountEmail, actual.GcpServiceAccountEmail, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateFeatureMembershipUpdateFeatureMembershipOperation")}, fn.AddNest("GcpServiceAccountEmail")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementPolicyControllerNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementPolicyController)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementPolicyController)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyController or *FeatureMembershipConfigmanagementPolicyController", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementPolicyController)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementPolicyController)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyController", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Enabled, actual.Enabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Enabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ExemptableNamespaces, actual.ExemptableNamespaces, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ExemptableNamespaces")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ReferentialRulesEnabled, actual.ReferentialRulesEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ReferentialRulesEnabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.LogDeniesEnabled, actual.LogDeniesEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LogDeniesEnabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MutationEnabled, actual.MutationEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MutationEnabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Monitoring, actual.Monitoring, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareFeatureMembershipConfigmanagementPolicyControllerMonitoringNewStyle, EmptyObject: EmptyFeatureMembershipConfigmanagementPolicyControllerMonitoring, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Monitoring")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.TemplateLibraryInstalled, actual.TemplateLibraryInstalled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TemplateLibraryInstalled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.AuditIntervalSeconds, actual.AuditIntervalSeconds, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AuditIntervalSeconds")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementPolicyControllerMonitoringNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementPolicyControllerMonitoring)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementPolicyControllerMonitoring)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyControllerMonitoring or *FeatureMembershipConfigmanagementPolicyControllerMonitoring", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementPolicyControllerMonitoring)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementPolicyControllerMonitoring)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementPolicyControllerMonitoring", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Backends, actual.Backends, dcl.DiffInfo{ServerDefault: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Backends")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementBinauthzNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementBinauthz)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementBinauthz)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementBinauthz or *FeatureMembershipConfigmanagementBinauthz", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementBinauthz)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementBinauthz)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementBinauthz", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Enabled, actual.Enabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Enabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipConfigmanagementHierarchyControllerNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipConfigmanagementHierarchyController)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipConfigmanagementHierarchyController)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementHierarchyController or *FeatureMembershipConfigmanagementHierarchyController", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipConfigmanagementHierarchyController)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipConfigmanagementHierarchyController)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipConfigmanagementHierarchyController", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Enabled, actual.Enabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Enabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.EnablePodTreeLabels, actual.EnablePodTreeLabels, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnablePodTreeLabels")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.EnableHierarchicalResourceQuota, actual.EnableHierarchicalResourceQuota, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("EnableHierarchicalResourceQuota")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontroller)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontroller)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontroller or *FeatureMembershipPolicycontroller", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontroller)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontroller)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontroller", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Version, actual.Version, dcl.DiffInfo{ServerDefault: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Version")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PolicyControllerHubConfig, actual.PolicyControllerHubConfig, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfig, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyControllerHubConfig")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfig)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfig)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfig or *FeatureMembershipPolicycontrollerPolicyControllerHubConfig", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfig)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfig)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfig", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.InstallSpec, actual.InstallSpec, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("InstallSpec")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ExemptableNamespaces, actual.ExemptableNamespaces, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ExemptableNamespaces")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ReferentialRulesEnabled, actual.ReferentialRulesEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ReferentialRulesEnabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.LogDeniesEnabled, actual.LogDeniesEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LogDeniesEnabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MutationEnabled, actual.MutationEnabled, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("MutationEnabled")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Monitoring, actual.Monitoring, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Monitoring")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.AuditIntervalSeconds, actual.AuditIntervalSeconds, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("AuditIntervalSeconds")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ConstraintViolationLimit, actual.ConstraintViolationLimit, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ConstraintViolationLimit")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PolicyContent, actual.PolicyContent, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PolicyContent")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.DeploymentConfigs, actual.DeploymentConfigs, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("DeploymentConfigs")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Backends, actual.Backends, dcl.DiffInfo{ServerDefault: true, Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Backends")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.TemplateLibrary, actual.TemplateLibrary, dcl.DiffInfo{ServerDefault: true, ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("TemplateLibrary")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Bundles, actual.Bundles, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Bundles")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Installation, actual.Installation, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Installation")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.ExemptedNamespaces, actual.ExemptedNamespaces, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ExemptedNamespaces")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.ReplicaCount, actual.ReplicaCount, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ReplicaCount")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ContainerResources, actual.ContainerResources, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("ContainerResources")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PodAffinity, actual.PodAffinity, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PodAffinity")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.PodTolerations, actual.PodTolerations, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("PodTolerations")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Limits, actual.Limits, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Limits")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Requests, actual.Requests, dcl.DiffInfo{ObjectFunction: compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsNewStyle, EmptyObject: EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Requests")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Memory, actual.Memory, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Memory")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Cpu, actual.Cpu, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Cpu")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Memory, actual.Memory, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Memory")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Cpu, actual.Cpu, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Cpu")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations)
if !ok {
desiredNotPointer, ok := d.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations or *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations)
if !ok {
actualNotPointer, ok := a.(FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations)
if !ok {
return nil, fmt.Errorf("obj %v is not a FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Key, actual.Key, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Key")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Operator, actual.Operator, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Operator")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Value, actual.Value, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Value")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Effect, actual.Effect, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Effect")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
// urlNormalized returns a copy of the resource struct with values normalized
// for URL substitutions. For instance, it converts long-form self-links to
// short-form so they can be substituted in.
func (r *FeatureMembership) urlNormalized() *FeatureMembership {
normalized := dcl.Copy(*r).(FeatureMembership)
normalized.Project = dcl.SelfLinkToName(r.Project)
normalized.Location = dcl.SelfLinkToName(r.Location)
normalized.Feature = dcl.SelfLinkToName(r.Feature)
normalized.Membership = dcl.SelfLinkToName(r.Membership)
normalized.MembershipLocation = dcl.SelfLinkToName(r.MembershipLocation)
return &normalized
}
func (r *FeatureMembership) updateURL(userBasePath, updateName string) (string, error) {
nr := r.urlNormalized()
if updateName == "UpdateFeatureMembership" {
fields := map[string]interface{}{
"project": dcl.ValueOrEmptyString(nr.Project),
"location": dcl.ValueOrEmptyString(nr.Location),
"feature": dcl.ValueOrEmptyString(nr.Feature),
}
return dcl.URL("projects/{{project}}/locations/{{location}}/features/{{feature}}", nr.basePath(), userBasePath, fields), nil
}
return "", fmt.Errorf("unknown update name: %s", updateName)
}
// marshal encodes the FeatureMembership resource into JSON for a Create request, and
// performs transformations from the resource schema to the API schema if
// necessary.
func (r *FeatureMembership) marshal(c *Client) ([]byte, error) {
m, err := expandFeatureMembership(c, r)
if err != nil {
return nil, fmt.Errorf("error marshalling FeatureMembership: %w", err)
}
return json.Marshal(m)
}
// unmarshalFeatureMembership decodes JSON responses into the FeatureMembership resource schema.
func unmarshalFeatureMembership(b []byte, c *Client, res *FeatureMembership) (*FeatureMembership, error) {
var m map[string]interface{}
if err := json.Unmarshal(b, &m); err != nil {
return nil, err
}
return unmarshalMapFeatureMembership(m, c, res)
}
func unmarshalMapFeatureMembership(m map[string]interface{}, c *Client, res *FeatureMembership) (*FeatureMembership, error) {
flattened := flattenFeatureMembership(c, m, res)
if flattened == nil {
return nil, fmt.Errorf("attempted to flatten empty json object")
}
return flattened, nil
}
// expandFeatureMembership expands FeatureMembership into a JSON request object.
func expandFeatureMembership(c *Client, f *FeatureMembership) (map[string]interface{}, error) {
m := make(map[string]interface{})
res := f
_ = res
if v, err := expandFeatureMembershipMesh(c, f.Mesh, res); err != nil {
return nil, fmt.Errorf("error expanding Mesh into mesh: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["mesh"] = v
}
if v, err := expandFeatureMembershipConfigmanagement(c, f.Configmanagement, res); err != nil {
return nil, fmt.Errorf("error expanding Configmanagement into configmanagement: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["configmanagement"] = v
}
if v, err := expandFeatureMembershipPolicycontroller(c, f.Policycontroller, res); err != nil {
return nil, fmt.Errorf("error expanding Policycontroller into policycontroller: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["policycontroller"] = v
}
if v, err := dcl.EmptyValue(); err != nil {
return nil, fmt.Errorf("error expanding Project into project: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["project"] = v
}
if v, err := dcl.EmptyValue(); err != nil {
return nil, fmt.Errorf("error expanding Location into location: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["location"] = v
}
if v, err := dcl.EmptyValue(); err != nil {
return nil, fmt.Errorf("error expanding Feature into feature: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["feature"] = v
}
if v, err := dcl.EmptyValue(); err != nil {
return nil, fmt.Errorf("error expanding Membership into membership: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["membership"] = v
}
if v, err := dcl.EmptyValue(); err != nil {
return nil, fmt.Errorf("error expanding MembershipLocation into membershipLocation: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["membershipLocation"] = v
}
return m, nil
}
// flattenFeatureMembership flattens FeatureMembership from a JSON request object into the
// FeatureMembership type.
func flattenFeatureMembership(c *Client, i interface{}, res *FeatureMembership) *FeatureMembership {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
if len(m) == 0 {
return nil
}
resultRes := &FeatureMembership{}
resultRes.Mesh = flattenFeatureMembershipMesh(c, m["mesh"], res)
resultRes.Configmanagement = flattenFeatureMembershipConfigmanagement(c, m["configmanagement"], res)
resultRes.Policycontroller = flattenFeatureMembershipPolicycontroller(c, m["policycontroller"], res)
resultRes.Project = dcl.FlattenString(m["project"])
resultRes.Location = dcl.FlattenString(m["location"])
resultRes.Feature = dcl.FlattenString(m["feature"])
resultRes.Membership = dcl.FlattenString(m["membership"])
resultRes.MembershipLocation = dcl.FlattenString(m["membershipLocation"])
return resultRes
}
// expandFeatureMembershipMeshMap expands the contents of FeatureMembershipMesh into a JSON
// request object.
func expandFeatureMembershipMeshMap(c *Client, f map[string]FeatureMembershipMesh, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipMesh(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipMeshSlice expands the contents of FeatureMembershipMesh into a JSON
// request object.
func expandFeatureMembershipMeshSlice(c *Client, f []FeatureMembershipMesh, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipMesh(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipMeshMap flattens the contents of FeatureMembershipMesh from a JSON
// response object.
func flattenFeatureMembershipMeshMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipMesh {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipMesh{}
}
if len(a) == 0 {
return map[string]FeatureMembershipMesh{}
}
items := make(map[string]FeatureMembershipMesh)
for k, item := range a {
items[k] = *flattenFeatureMembershipMesh(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipMeshSlice flattens the contents of FeatureMembershipMesh from a JSON
// response object.
func flattenFeatureMembershipMeshSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipMesh {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipMesh{}
}
if len(a) == 0 {
return []FeatureMembershipMesh{}
}
items := make([]FeatureMembershipMesh, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipMesh(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipMesh expands an instance of FeatureMembershipMesh into a JSON
// request object.
func expandFeatureMembershipMesh(c *Client, f *FeatureMembershipMesh, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Management; !dcl.IsEmptyValueIndirect(v) {
m["management"] = v
}
if v := f.ControlPlane; !dcl.IsEmptyValueIndirect(v) {
m["controlPlane"] = v
}
return m, nil
}
// flattenFeatureMembershipMesh flattens an instance of FeatureMembershipMesh from a JSON
// response object.
func flattenFeatureMembershipMesh(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipMesh {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipMesh{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipMesh
}
r.Management = flattenFeatureMembershipMeshManagementEnum(m["management"])
r.ControlPlane = flattenFeatureMembershipMeshControlPlaneEnum(m["controlPlane"])
return r
}
// expandFeatureMembershipConfigmanagementMap expands the contents of FeatureMembershipConfigmanagement into a JSON
// request object.
func expandFeatureMembershipConfigmanagementMap(c *Client, f map[string]FeatureMembershipConfigmanagement, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagement(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementSlice expands the contents of FeatureMembershipConfigmanagement into a JSON
// request object.
func expandFeatureMembershipConfigmanagementSlice(c *Client, f []FeatureMembershipConfigmanagement, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagement(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementMap flattens the contents of FeatureMembershipConfigmanagement from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagement {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagement{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagement{}
}
items := make(map[string]FeatureMembershipConfigmanagement)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagement(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementSlice flattens the contents of FeatureMembershipConfigmanagement from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagement {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagement{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagement{}
}
items := make([]FeatureMembershipConfigmanagement, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagement(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagement expands an instance of FeatureMembershipConfigmanagement into a JSON
// request object.
func expandFeatureMembershipConfigmanagement(c *Client, f *FeatureMembershipConfigmanagement, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandFeatureMembershipConfigmanagementConfigSync(c, f.ConfigSync, res); err != nil {
return nil, fmt.Errorf("error expanding ConfigSync into configSync: %w", err)
} else if v != nil {
m["configSync"] = v
}
if v, err := expandFeatureMembershipConfigmanagementPolicyController(c, f.PolicyController, res); err != nil {
return nil, fmt.Errorf("error expanding PolicyController into policyController: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["policyController"] = v
}
if v, err := dcl.EmptyValue(); err != nil {
return nil, fmt.Errorf("error expanding Binauthz into binauthz: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["binauthz"] = v
}
if v, err := expandHierarchyControllerConfig(c, f.HierarchyController, res); err != nil {
return nil, fmt.Errorf("error expanding HierarchyController into hierarchyController: %w", err)
} else if v != nil {
m["hierarchyController"] = v
}
if v := f.Version; !dcl.IsEmptyValueIndirect(v) {
m["version"] = v
}
if v := f.Management; !dcl.IsEmptyValueIndirect(v) {
m["management"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagement flattens an instance of FeatureMembershipConfigmanagement from a JSON
// response object.
func flattenFeatureMembershipConfigmanagement(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagement {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagement{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagement
}
r.ConfigSync = flattenFeatureMembershipConfigmanagementConfigSync(c, m["configSync"], res)
r.PolicyController = flattenFeatureMembershipConfigmanagementPolicyController(c, m["policyController"], res)
r.Binauthz = flattenFeatureMembershipConfigmanagementBinauthz(c, m["binauthz"], res)
r.HierarchyController = flattenHierarchyControllerConfig(c, m["hierarchyController"], res)
r.Version = dcl.FlattenString(m["version"])
r.Management = flattenFeatureMembershipConfigmanagementManagementEnum(m["management"])
return r
}
// expandFeatureMembershipConfigmanagementConfigSyncMap expands the contents of FeatureMembershipConfigmanagementConfigSync into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncMap(c *Client, f map[string]FeatureMembershipConfigmanagementConfigSync, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSync(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementConfigSyncSlice expands the contents of FeatureMembershipConfigmanagementConfigSync into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncSlice(c *Client, f []FeatureMembershipConfigmanagementConfigSync, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSync(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncMap flattens the contents of FeatureMembershipConfigmanagementConfigSync from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementConfigSync {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementConfigSync{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementConfigSync{}
}
items := make(map[string]FeatureMembershipConfigmanagementConfigSync)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementConfigSync(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementConfigSyncSlice flattens the contents of FeatureMembershipConfigmanagementConfigSync from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementConfigSync {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementConfigSync{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementConfigSync{}
}
items := make([]FeatureMembershipConfigmanagementConfigSync, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementConfigSync(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementConfigSync expands an instance of FeatureMembershipConfigmanagementConfigSync into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSync(c *Client, f *FeatureMembershipConfigmanagementConfigSync, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(c, f.DeploymentOverrides, res); err != nil {
return nil, fmt.Errorf("error expanding DeploymentOverrides into deploymentOverrides: %w", err)
} else if v != nil {
m["deploymentOverrides"] = v
}
if v, err := expandFeatureMembershipConfigmanagementConfigSyncGit(c, f.Git, res); err != nil {
return nil, fmt.Errorf("error expanding Git into git: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["git"] = v
}
if v := f.SourceFormat; !dcl.IsEmptyValueIndirect(v) {
m["sourceFormat"] = v
}
if v := f.Enabled; !dcl.IsEmptyValueIndirect(v) {
m["enabled"] = v
}
if v := f.StopSyncing; !dcl.IsEmptyValueIndirect(v) {
m["stopSyncing"] = v
}
if v := f.PreventDrift; !dcl.IsEmptyValueIndirect(v) {
m["preventDrift"] = v
}
if v := f.MetricsGcpServiceAccountEmail; !dcl.IsEmptyValueIndirect(v) {
m["metricsGcpServiceAccountEmail"] = v
}
if v, err := expandFeatureMembershipConfigmanagementConfigSyncOci(c, f.Oci, res); err != nil {
return nil, fmt.Errorf("error expanding Oci into oci: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["oci"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementConfigSync flattens an instance of FeatureMembershipConfigmanagementConfigSync from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSync(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementConfigSync {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementConfigSync{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementConfigSync
}
r.DeploymentOverrides = flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(c, m["deploymentOverrides"], res)
r.Git = flattenFeatureMembershipConfigmanagementConfigSyncGit(c, m["git"], res)
r.SourceFormat = dcl.FlattenString(m["sourceFormat"])
r.Enabled = dcl.FlattenBool(m["enabled"])
r.StopSyncing = dcl.FlattenBool(m["stopSyncing"])
r.PreventDrift = dcl.FlattenBool(m["preventDrift"])
r.MetricsGcpServiceAccountEmail = dcl.FlattenString(m["metricsGcpServiceAccountEmail"])
r.Oci = flattenFeatureMembershipConfigmanagementConfigSyncOci(c, m["oci"], res)
return r
}
// expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesMap expands the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesMap(c *Client, f map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice expands the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(c *Client, f []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesMap flattens the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides{}
}
items := make(map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice flattens the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides{}
}
items := make([]FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides expands an instance of FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c *Client, f *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v := f.DeploymentName; !dcl.IsEmptyValueIndirect(v) {
m["deploymentName"] = v
}
if v := f.DeploymentNamespace; !dcl.IsEmptyValueIndirect(v) {
m["deploymentNamespace"] = v
}
if v, err := expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(c, f.Containers, res); err != nil {
return nil, fmt.Errorf("error expanding Containers into containers: %w", err)
} else if v != nil {
m["containers"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides flattens an instance of FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementConfigSyncDeploymentOverrides
}
r.DeploymentName = dcl.FlattenString(m["deploymentName"])
r.DeploymentNamespace = dcl.FlattenString(m["deploymentNamespace"])
r.Containers = flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(c, m["containers"], res)
return r
}
// expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersMap expands the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersMap(c *Client, f map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice expands the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(c *Client, f []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersMap flattens the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers{}
}
items := make(map[string]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice flattens the contents of FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers{}
}
items := make([]FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers expands an instance of FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c *Client, f *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v := f.ContainerName; !dcl.IsEmptyValueIndirect(v) {
m["containerName"] = v
}
if v := f.CpuRequest; !dcl.IsEmptyValueIndirect(v) {
m["cpuRequest"] = v
}
if v := f.MemoryRequest; !dcl.IsEmptyValueIndirect(v) {
m["memoryRequest"] = v
}
if v := f.CpuLimit; !dcl.IsEmptyValueIndirect(v) {
m["cpuLimit"] = v
}
if v := f.MemoryLimit; !dcl.IsEmptyValueIndirect(v) {
m["memoryLimit"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers flattens an instance of FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers
}
r.ContainerName = dcl.FlattenString(m["containerName"])
r.CpuRequest = dcl.FlattenString(m["cpuRequest"])
r.MemoryRequest = dcl.FlattenString(m["memoryRequest"])
r.CpuLimit = dcl.FlattenString(m["cpuLimit"])
r.MemoryLimit = dcl.FlattenString(m["memoryLimit"])
return r
}
// expandFeatureMembershipConfigmanagementConfigSyncGitMap expands the contents of FeatureMembershipConfigmanagementConfigSyncGit into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncGitMap(c *Client, f map[string]FeatureMembershipConfigmanagementConfigSyncGit, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncGit(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementConfigSyncGitSlice expands the contents of FeatureMembershipConfigmanagementConfigSyncGit into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncGitSlice(c *Client, f []FeatureMembershipConfigmanagementConfigSyncGit, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncGit(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncGitMap flattens the contents of FeatureMembershipConfigmanagementConfigSyncGit from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncGitMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementConfigSyncGit {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementConfigSyncGit{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementConfigSyncGit{}
}
items := make(map[string]FeatureMembershipConfigmanagementConfigSyncGit)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementConfigSyncGit(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementConfigSyncGitSlice flattens the contents of FeatureMembershipConfigmanagementConfigSyncGit from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncGitSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementConfigSyncGit {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementConfigSyncGit{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementConfigSyncGit{}
}
items := make([]FeatureMembershipConfigmanagementConfigSyncGit, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementConfigSyncGit(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementConfigSyncGit expands an instance of FeatureMembershipConfigmanagementConfigSyncGit into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncGit(c *Client, f *FeatureMembershipConfigmanagementConfigSyncGit, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.SyncRepo; !dcl.IsEmptyValueIndirect(v) {
m["syncRepo"] = v
}
if v := f.SyncBranch; !dcl.IsEmptyValueIndirect(v) {
m["syncBranch"] = v
}
if v := f.PolicyDir; !dcl.IsEmptyValueIndirect(v) {
m["policyDir"] = v
}
if v := f.SyncWaitSecs; !dcl.IsEmptyValueIndirect(v) {
m["syncWaitSecs"] = v
}
if v := f.SyncRev; !dcl.IsEmptyValueIndirect(v) {
m["syncRev"] = v
}
if v := f.SecretType; !dcl.IsEmptyValueIndirect(v) {
m["secretType"] = v
}
if v := f.HttpsProxy; !dcl.IsEmptyValueIndirect(v) {
m["httpsProxy"] = v
}
if v := f.GcpServiceAccountEmail; !dcl.IsEmptyValueIndirect(v) {
m["gcpServiceAccountEmail"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncGit flattens an instance of FeatureMembershipConfigmanagementConfigSyncGit from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncGit(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementConfigSyncGit {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementConfigSyncGit{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementConfigSyncGit
}
r.SyncRepo = dcl.FlattenString(m["syncRepo"])
r.SyncBranch = dcl.FlattenString(m["syncBranch"])
r.PolicyDir = dcl.FlattenString(m["policyDir"])
r.SyncWaitSecs = dcl.FlattenString(m["syncWaitSecs"])
r.SyncRev = dcl.FlattenString(m["syncRev"])
r.SecretType = dcl.FlattenString(m["secretType"])
r.HttpsProxy = dcl.FlattenString(m["httpsProxy"])
r.GcpServiceAccountEmail = dcl.FlattenString(m["gcpServiceAccountEmail"])
return r
}
// expandFeatureMembershipConfigmanagementConfigSyncOciMap expands the contents of FeatureMembershipConfigmanagementConfigSyncOci into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncOciMap(c *Client, f map[string]FeatureMembershipConfigmanagementConfigSyncOci, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncOci(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementConfigSyncOciSlice expands the contents of FeatureMembershipConfigmanagementConfigSyncOci into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncOciSlice(c *Client, f []FeatureMembershipConfigmanagementConfigSyncOci, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementConfigSyncOci(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncOciMap flattens the contents of FeatureMembershipConfigmanagementConfigSyncOci from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncOciMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementConfigSyncOci {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementConfigSyncOci{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementConfigSyncOci{}
}
items := make(map[string]FeatureMembershipConfigmanagementConfigSyncOci)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementConfigSyncOci(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementConfigSyncOciSlice flattens the contents of FeatureMembershipConfigmanagementConfigSyncOci from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncOciSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementConfigSyncOci {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementConfigSyncOci{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementConfigSyncOci{}
}
items := make([]FeatureMembershipConfigmanagementConfigSyncOci, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementConfigSyncOci(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementConfigSyncOci expands an instance of FeatureMembershipConfigmanagementConfigSyncOci into a JSON
// request object.
func expandFeatureMembershipConfigmanagementConfigSyncOci(c *Client, f *FeatureMembershipConfigmanagementConfigSyncOci, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.SyncRepo; !dcl.IsEmptyValueIndirect(v) {
m["syncRepo"] = v
}
if v := f.PolicyDir; !dcl.IsEmptyValueIndirect(v) {
m["policyDir"] = v
}
if v := f.SyncWaitSecs; !dcl.IsEmptyValueIndirect(v) {
m["syncWaitSecs"] = v
}
if v := f.SecretType; !dcl.IsEmptyValueIndirect(v) {
m["secretType"] = v
}
if v := f.GcpServiceAccountEmail; !dcl.IsEmptyValueIndirect(v) {
m["gcpServiceAccountEmail"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementConfigSyncOci flattens an instance of FeatureMembershipConfigmanagementConfigSyncOci from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementConfigSyncOci(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementConfigSyncOci {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementConfigSyncOci{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementConfigSyncOci
}
r.SyncRepo = dcl.FlattenString(m["syncRepo"])
r.PolicyDir = dcl.FlattenString(m["policyDir"])
r.SyncWaitSecs = dcl.FlattenString(m["syncWaitSecs"])
r.SecretType = dcl.FlattenString(m["secretType"])
r.GcpServiceAccountEmail = dcl.FlattenString(m["gcpServiceAccountEmail"])
return r
}
// expandFeatureMembershipConfigmanagementPolicyControllerMap expands the contents of FeatureMembershipConfigmanagementPolicyController into a JSON
// request object.
func expandFeatureMembershipConfigmanagementPolicyControllerMap(c *Client, f map[string]FeatureMembershipConfigmanagementPolicyController, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementPolicyController(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementPolicyControllerSlice expands the contents of FeatureMembershipConfigmanagementPolicyController into a JSON
// request object.
func expandFeatureMembershipConfigmanagementPolicyControllerSlice(c *Client, f []FeatureMembershipConfigmanagementPolicyController, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementPolicyController(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementPolicyControllerMap flattens the contents of FeatureMembershipConfigmanagementPolicyController from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyControllerMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementPolicyController {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementPolicyController{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementPolicyController{}
}
items := make(map[string]FeatureMembershipConfigmanagementPolicyController)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementPolicyController(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementPolicyControllerSlice flattens the contents of FeatureMembershipConfigmanagementPolicyController from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyControllerSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementPolicyController {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementPolicyController{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementPolicyController{}
}
items := make([]FeatureMembershipConfigmanagementPolicyController, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementPolicyController(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementPolicyController expands an instance of FeatureMembershipConfigmanagementPolicyController into a JSON
// request object.
func expandFeatureMembershipConfigmanagementPolicyController(c *Client, f *FeatureMembershipConfigmanagementPolicyController, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Enabled; !dcl.IsEmptyValueIndirect(v) {
m["enabled"] = v
}
if v := f.ExemptableNamespaces; v != nil {
m["exemptableNamespaces"] = v
}
if v := f.ReferentialRulesEnabled; !dcl.IsEmptyValueIndirect(v) {
m["referentialRulesEnabled"] = v
}
if v := f.LogDeniesEnabled; !dcl.IsEmptyValueIndirect(v) {
m["logDeniesEnabled"] = v
}
if v := f.MutationEnabled; !dcl.IsEmptyValueIndirect(v) {
m["mutationEnabled"] = v
}
if v, err := expandFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, f.Monitoring, res); err != nil {
return nil, fmt.Errorf("error expanding Monitoring into monitoring: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["monitoring"] = v
}
if v := f.TemplateLibraryInstalled; !dcl.IsEmptyValueIndirect(v) {
m["templateLibraryInstalled"] = v
}
if v := f.AuditIntervalSeconds; !dcl.IsEmptyValueIndirect(v) {
m["auditIntervalSeconds"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementPolicyController flattens an instance of FeatureMembershipConfigmanagementPolicyController from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyController(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementPolicyController {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementPolicyController{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementPolicyController
}
r.Enabled = dcl.FlattenBool(m["enabled"])
r.ExemptableNamespaces = dcl.FlattenStringSlice(m["exemptableNamespaces"])
r.ReferentialRulesEnabled = dcl.FlattenBool(m["referentialRulesEnabled"])
r.LogDeniesEnabled = dcl.FlattenBool(m["logDeniesEnabled"])
r.MutationEnabled = dcl.FlattenBool(m["mutationEnabled"])
r.Monitoring = flattenFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, m["monitoring"], res)
r.TemplateLibraryInstalled = dcl.FlattenBool(m["templateLibraryInstalled"])
r.AuditIntervalSeconds = dcl.FlattenString(m["auditIntervalSeconds"])
return r
}
// expandFeatureMembershipConfigmanagementPolicyControllerMonitoringMap expands the contents of FeatureMembershipConfigmanagementPolicyControllerMonitoring into a JSON
// request object.
func expandFeatureMembershipConfigmanagementPolicyControllerMonitoringMap(c *Client, f map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoring, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementPolicyControllerMonitoringSlice expands the contents of FeatureMembershipConfigmanagementPolicyControllerMonitoring into a JSON
// request object.
func expandFeatureMembershipConfigmanagementPolicyControllerMonitoringSlice(c *Client, f []FeatureMembershipConfigmanagementPolicyControllerMonitoring, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringMap flattens the contents of FeatureMembershipConfigmanagementPolicyControllerMonitoring from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoring {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
}
items := make(map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoring)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringSlice flattens the contents of FeatureMembershipConfigmanagementPolicyControllerMonitoring from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementPolicyControllerMonitoring {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
}
items := make([]FeatureMembershipConfigmanagementPolicyControllerMonitoring, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementPolicyControllerMonitoring(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementPolicyControllerMonitoring expands an instance of FeatureMembershipConfigmanagementPolicyControllerMonitoring into a JSON
// request object.
func expandFeatureMembershipConfigmanagementPolicyControllerMonitoring(c *Client, f *FeatureMembershipConfigmanagementPolicyControllerMonitoring, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Backends; v != nil {
m["backends"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementPolicyControllerMonitoring flattens an instance of FeatureMembershipConfigmanagementPolicyControllerMonitoring from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyControllerMonitoring(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementPolicyControllerMonitoring {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementPolicyControllerMonitoring
}
r.Backends = flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumSlice(c, m["backends"], res)
return r
}
// expandFeatureMembershipConfigmanagementBinauthzMap expands the contents of FeatureMembershipConfigmanagementBinauthz into a JSON
// request object.
func expandFeatureMembershipConfigmanagementBinauthzMap(c *Client, f map[string]FeatureMembershipConfigmanagementBinauthz, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementBinauthz(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementBinauthzSlice expands the contents of FeatureMembershipConfigmanagementBinauthz into a JSON
// request object.
func expandFeatureMembershipConfigmanagementBinauthzSlice(c *Client, f []FeatureMembershipConfigmanagementBinauthz, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementBinauthz(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementBinauthzMap flattens the contents of FeatureMembershipConfigmanagementBinauthz from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementBinauthzMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementBinauthz {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementBinauthz{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementBinauthz{}
}
items := make(map[string]FeatureMembershipConfigmanagementBinauthz)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementBinauthz(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementBinauthzSlice flattens the contents of FeatureMembershipConfigmanagementBinauthz from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementBinauthzSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementBinauthz {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementBinauthz{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementBinauthz{}
}
items := make([]FeatureMembershipConfigmanagementBinauthz, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementBinauthz(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementBinauthz expands an instance of FeatureMembershipConfigmanagementBinauthz into a JSON
// request object.
func expandFeatureMembershipConfigmanagementBinauthz(c *Client, f *FeatureMembershipConfigmanagementBinauthz, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Enabled; !dcl.IsEmptyValueIndirect(v) {
m["enabled"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementBinauthz flattens an instance of FeatureMembershipConfigmanagementBinauthz from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementBinauthz(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementBinauthz {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementBinauthz{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementBinauthz
}
r.Enabled = dcl.FlattenBool(m["enabled"])
return r
}
// expandFeatureMembershipConfigmanagementHierarchyControllerMap expands the contents of FeatureMembershipConfigmanagementHierarchyController into a JSON
// request object.
func expandFeatureMembershipConfigmanagementHierarchyControllerMap(c *Client, f map[string]FeatureMembershipConfigmanagementHierarchyController, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipConfigmanagementHierarchyController(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipConfigmanagementHierarchyControllerSlice expands the contents of FeatureMembershipConfigmanagementHierarchyController into a JSON
// request object.
func expandFeatureMembershipConfigmanagementHierarchyControllerSlice(c *Client, f []FeatureMembershipConfigmanagementHierarchyController, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipConfigmanagementHierarchyController(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipConfigmanagementHierarchyControllerMap flattens the contents of FeatureMembershipConfigmanagementHierarchyController from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementHierarchyControllerMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementHierarchyController {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementHierarchyController{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementHierarchyController{}
}
items := make(map[string]FeatureMembershipConfigmanagementHierarchyController)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementHierarchyController(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipConfigmanagementHierarchyControllerSlice flattens the contents of FeatureMembershipConfigmanagementHierarchyController from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementHierarchyControllerSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementHierarchyController {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementHierarchyController{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementHierarchyController{}
}
items := make([]FeatureMembershipConfigmanagementHierarchyController, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementHierarchyController(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipConfigmanagementHierarchyController expands an instance of FeatureMembershipConfigmanagementHierarchyController into a JSON
// request object.
func expandFeatureMembershipConfigmanagementHierarchyController(c *Client, f *FeatureMembershipConfigmanagementHierarchyController, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Enabled; v != nil {
m["enabled"] = v
}
if v := f.EnablePodTreeLabels; v != nil {
m["enablePodTreeLabels"] = v
}
if v := f.EnableHierarchicalResourceQuota; v != nil {
m["enableHierarchicalResourceQuota"] = v
}
return m, nil
}
// flattenFeatureMembershipConfigmanagementHierarchyController flattens an instance of FeatureMembershipConfigmanagementHierarchyController from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementHierarchyController(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipConfigmanagementHierarchyController {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipConfigmanagementHierarchyController{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipConfigmanagementHierarchyController
}
r.Enabled = dcl.FlattenBool(m["enabled"])
r.EnablePodTreeLabels = dcl.FlattenBool(m["enablePodTreeLabels"])
r.EnableHierarchicalResourceQuota = dcl.FlattenBool(m["enableHierarchicalResourceQuota"])
return r
}
// expandFeatureMembershipPolicycontrollerMap expands the contents of FeatureMembershipPolicycontroller into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerMap(c *Client, f map[string]FeatureMembershipPolicycontroller, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontroller(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerSlice expands the contents of FeatureMembershipPolicycontroller into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerSlice(c *Client, f []FeatureMembershipPolicycontroller, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontroller(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerMap flattens the contents of FeatureMembershipPolicycontroller from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontroller {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontroller{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontroller{}
}
items := make(map[string]FeatureMembershipPolicycontroller)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontroller(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerSlice flattens the contents of FeatureMembershipPolicycontroller from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontroller {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontroller{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontroller{}
}
items := make([]FeatureMembershipPolicycontroller, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontroller(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontroller expands an instance of FeatureMembershipPolicycontroller into a JSON
// request object.
func expandFeatureMembershipPolicycontroller(c *Client, f *FeatureMembershipPolicycontroller, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Version; !dcl.IsEmptyValueIndirect(v) {
m["version"] = v
}
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, f.PolicyControllerHubConfig, res); err != nil {
return nil, fmt.Errorf("error expanding PolicyControllerHubConfig into policyControllerHubConfig: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["policyControllerHubConfig"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontroller flattens an instance of FeatureMembershipPolicycontroller from a JSON
// response object.
func flattenFeatureMembershipPolicycontroller(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontroller {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontroller{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontroller
}
r.Version = dcl.FlattenString(m["version"])
r.PolicyControllerHubConfig = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, m["policyControllerHubConfig"], res)
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfig into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfig, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfig into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfig, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfig from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfig)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfig from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfig, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfig expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfig into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfig, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.InstallSpec; !dcl.IsEmptyValueIndirect(v) {
m["installSpec"] = v
}
if v := f.ExemptableNamespaces; v != nil {
m["exemptableNamespaces"] = v
}
if v := f.ReferentialRulesEnabled; !dcl.IsEmptyValueIndirect(v) {
m["referentialRulesEnabled"] = v
}
if v := f.LogDeniesEnabled; !dcl.IsEmptyValueIndirect(v) {
m["logDeniesEnabled"] = v
}
if v := f.MutationEnabled; !dcl.IsEmptyValueIndirect(v) {
m["mutationEnabled"] = v
}
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, f.Monitoring, res); err != nil {
return nil, fmt.Errorf("error expanding Monitoring into monitoring: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["monitoring"] = v
}
if v := f.AuditIntervalSeconds; !dcl.IsEmptyValueIndirect(v) {
m["auditIntervalSeconds"] = v
}
if v := f.ConstraintViolationLimit; !dcl.IsEmptyValueIndirect(v) {
m["constraintViolationLimit"] = v
}
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, f.PolicyContent, res); err != nil {
return nil, fmt.Errorf("error expanding PolicyContent into policyContent: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["policyContent"] = v
}
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsMap(c, f.DeploymentConfigs, res); err != nil {
return nil, fmt.Errorf("error expanding DeploymentConfigs into deploymentConfigs: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["deploymentConfigs"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfig flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfig from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfig(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfig {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfig
}
r.InstallSpec = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum(m["installSpec"])
r.ExemptableNamespaces = dcl.FlattenStringSlice(m["exemptableNamespaces"])
r.ReferentialRulesEnabled = dcl.FlattenBool(m["referentialRulesEnabled"])
r.LogDeniesEnabled = dcl.FlattenBool(m["logDeniesEnabled"])
r.MutationEnabled = dcl.FlattenBool(m["mutationEnabled"])
r.Monitoring = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, m["monitoring"], res)
r.AuditIntervalSeconds = dcl.FlattenInteger(m["auditIntervalSeconds"])
r.ConstraintViolationLimit = dcl.FlattenInteger(m["constraintViolationLimit"])
r.PolicyContent = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, m["policyContent"], res)
r.DeploymentConfigs = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsMap(c, m["deploymentConfigs"], res)
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Backends; v != nil {
m["backends"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring
}
r.Backends = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumSlice(c, m["backends"], res)
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, f.TemplateLibrary, res); err != nil {
return nil, fmt.Errorf("error expanding TemplateLibrary into templateLibrary: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["templateLibrary"] = v
}
if v, err := alsoExpandEmptyBundlesInMap(c, f.Bundles, res); err != nil {
return nil, fmt.Errorf("error expanding Bundles into bundles: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["bundles"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent
}
r.TemplateLibrary = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, m["templateLibrary"], res)
r.Bundles = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesMap(c, m["bundles"], res)
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrarySlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrarySlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrarySlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrarySlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Installation; !dcl.IsEmptyValueIndirect(v) {
m["installation"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary
}
r.Installation = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum(m["installation"])
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.ExemptedNamespaces; v != nil {
m["exemptedNamespaces"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles
}
r.ExemptedNamespaces = dcl.FlattenStringSlice(m["exemptedNamespaces"])
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.ReplicaCount; !dcl.IsEmptyValueIndirect(v) {
m["replicaCount"] = v
}
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, f.ContainerResources, res); err != nil {
return nil, fmt.Errorf("error expanding ContainerResources into containerResources: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["containerResources"] = v
}
if v := f.PodAffinity; !dcl.IsEmptyValueIndirect(v) {
m["podAffinity"] = v
}
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(c, f.PodTolerations, res); err != nil {
return nil, fmt.Errorf("error expanding PodTolerations into podTolerations: %w", err)
} else if v != nil {
m["podTolerations"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs
}
r.ReplicaCount = dcl.FlattenInteger(m["replicaCount"])
r.ContainerResources = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, m["containerResources"], res)
r.PodAffinity = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum(m["podAffinity"])
r.PodTolerations = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(c, m["podTolerations"], res)
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, f.Limits, res); err != nil {
return nil, fmt.Errorf("error expanding Limits into limits: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["limits"] = v
}
if v, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, f.Requests, res); err != nil {
return nil, fmt.Errorf("error expanding Requests into requests: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["requests"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources
}
r.Limits = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, m["limits"], res)
r.Requests = flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, m["requests"], res)
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Memory; !dcl.IsEmptyValueIndirect(v) {
m["memory"] = v
}
if v := f.Cpu; !dcl.IsEmptyValueIndirect(v) {
m["cpu"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits
}
r.Memory = dcl.FlattenString(m["memory"])
r.Cpu = dcl.FlattenString(m["cpu"])
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests, res *FeatureMembership) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Memory; !dcl.IsEmptyValueIndirect(v) {
m["memory"] = v
}
if v := f.Cpu; !dcl.IsEmptyValueIndirect(v) {
m["cpu"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests
}
r.Memory = dcl.FlattenString(m["memory"])
r.Cpu = dcl.FlattenString(m["cpu"])
return r
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsMap expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsMap(c *Client, f map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice expands the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(c *Client, f []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, res *FeatureMembership) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c, item.(map[string]interface{}), res)
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c, item.(map[string]interface{}), res))
}
return items
}
// expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations expands an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations into a JSON
// request object.
func expandFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c *Client, f *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations, res *FeatureMembership) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Key; !dcl.IsEmptyValueIndirect(v) {
m["key"] = v
}
if v := f.Operator; !dcl.IsEmptyValueIndirect(v) {
m["operator"] = v
}
if v := f.Value; !dcl.IsEmptyValueIndirect(v) {
m["value"] = v
}
if v := f.Effect; !dcl.IsEmptyValueIndirect(v) {
m["effect"] = v
}
return m, nil
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations flattens an instance of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations(c *Client, i interface{}, res *FeatureMembership) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations
}
r.Key = dcl.FlattenString(m["key"])
r.Operator = dcl.FlattenString(m["operator"])
r.Value = dcl.FlattenString(m["value"])
r.Effect = dcl.FlattenString(m["effect"])
return r
}
// flattenFeatureMembershipMeshManagementEnumMap flattens the contents of FeatureMembershipMeshManagementEnum from a JSON
// response object.
func flattenFeatureMembershipMeshManagementEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipMeshManagementEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipMeshManagementEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipMeshManagementEnum{}
}
items := make(map[string]FeatureMembershipMeshManagementEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipMeshManagementEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipMeshManagementEnumSlice flattens the contents of FeatureMembershipMeshManagementEnum from a JSON
// response object.
func flattenFeatureMembershipMeshManagementEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipMeshManagementEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipMeshManagementEnum{}
}
if len(a) == 0 {
return []FeatureMembershipMeshManagementEnum{}
}
items := make([]FeatureMembershipMeshManagementEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipMeshManagementEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipMeshManagementEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipMeshManagementEnum with the same value as that string.
func flattenFeatureMembershipMeshManagementEnum(i interface{}) *FeatureMembershipMeshManagementEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipMeshManagementEnumRef(s)
}
// flattenFeatureMembershipMeshControlPlaneEnumMap flattens the contents of FeatureMembershipMeshControlPlaneEnum from a JSON
// response object.
func flattenFeatureMembershipMeshControlPlaneEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipMeshControlPlaneEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipMeshControlPlaneEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipMeshControlPlaneEnum{}
}
items := make(map[string]FeatureMembershipMeshControlPlaneEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipMeshControlPlaneEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipMeshControlPlaneEnumSlice flattens the contents of FeatureMembershipMeshControlPlaneEnum from a JSON
// response object.
func flattenFeatureMembershipMeshControlPlaneEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipMeshControlPlaneEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipMeshControlPlaneEnum{}
}
if len(a) == 0 {
return []FeatureMembershipMeshControlPlaneEnum{}
}
items := make([]FeatureMembershipMeshControlPlaneEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipMeshControlPlaneEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipMeshControlPlaneEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipMeshControlPlaneEnum with the same value as that string.
func flattenFeatureMembershipMeshControlPlaneEnum(i interface{}) *FeatureMembershipMeshControlPlaneEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipMeshControlPlaneEnumRef(s)
}
// flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumMap flattens the contents of FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum{}
}
items := make(map[string]FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumSlice flattens the contents of FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum{}
}
items := make([]FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum with the same value as that string.
func flattenFeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum(i interface{}) *FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipConfigmanagementPolicyControllerMonitoringBackendsEnumRef(s)
}
// flattenFeatureMembershipConfigmanagementManagementEnumMap flattens the contents of FeatureMembershipConfigmanagementManagementEnum from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementManagementEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipConfigmanagementManagementEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipConfigmanagementManagementEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipConfigmanagementManagementEnum{}
}
items := make(map[string]FeatureMembershipConfigmanagementManagementEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipConfigmanagementManagementEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipConfigmanagementManagementEnumSlice flattens the contents of FeatureMembershipConfigmanagementManagementEnum from a JSON
// response object.
func flattenFeatureMembershipConfigmanagementManagementEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipConfigmanagementManagementEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipConfigmanagementManagementEnum{}
}
if len(a) == 0 {
return []FeatureMembershipConfigmanagementManagementEnum{}
}
items := make([]FeatureMembershipConfigmanagementManagementEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipConfigmanagementManagementEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipConfigmanagementManagementEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipConfigmanagementManagementEnum with the same value as that string.
func flattenFeatureMembershipConfigmanagementManagementEnum(i interface{}) *FeatureMembershipConfigmanagementManagementEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipConfigmanagementManagementEnumRef(s)
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum with the same value as that string.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum(i interface{}) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipPolicycontrollerPolicyControllerHubConfigInstallSpecEnumRef(s)
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum with the same value as that string.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum(i interface{}) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringBackendsEnumRef(s)
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum with the same value as that string.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum(i interface{}) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryInstallationEnumRef(s)
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumMap flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumMap(c *Client, i interface{}, res *FeatureMembership) map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum{}
}
if len(a) == 0 {
return map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum{}
}
items := make(map[string]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum)
for k, item := range a {
items[k] = *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum(item.(interface{}))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumSlice flattens the contents of FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum from a JSON
// response object.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumSlice(c *Client, i interface{}, res *FeatureMembership) []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum {
a, ok := i.([]interface{})
if !ok {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum{}
}
if len(a) == 0 {
return []FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum{}
}
items := make([]FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum(item.(interface{})))
}
return items
}
// flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum asserts that an interface is a string, and returns a
// pointer to a *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum with the same value as that string.
func flattenFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum(i interface{}) *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnum {
s, ok := i.(string)
if !ok {
return nil
}
return FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodAffinityEnumRef(s)
}
// This function returns a matcher that checks whether a serialized resource matches this resource
// in its parameters (as defined by the fields in a Get, which definitionally define resource
// identity). This is useful in extracting the element from a List call.
func (r *FeatureMembership) matcher(c *Client) func([]byte) bool {
return func(b []byte) bool {
cr, err := unmarshalFeatureMembership(b, c, r)
if err != nil {
c.Config.Logger.Warning("failed to unmarshal provided resource in matcher.")
return false
}
nr := r.urlNormalized()
ncr := cr.urlNormalized()
c.Config.Logger.Infof("looking for %v\nin %v", nr, ncr)
if nr.Project == nil && ncr.Project == nil {
c.Config.Logger.Info("Both Project fields null - considering equal.")
} else if nr.Project == nil || ncr.Project == nil {
c.Config.Logger.Info("Only one Project field is null - considering unequal.")
return false
} else if *nr.Project != *ncr.Project {
return false
}
if nr.Location == nil && ncr.Location == nil {
c.Config.Logger.Info("Both Location fields null - considering equal.")
} else if nr.Location == nil || ncr.Location == nil {
c.Config.Logger.Info("Only one Location field is null - considering unequal.")
return false
} else if *nr.Location != *ncr.Location {
return false
}
if nr.Feature == nil && ncr.Feature == nil {
c.Config.Logger.Info("Both Feature fields null - considering equal.")
} else if nr.Feature == nil || ncr.Feature == nil {
c.Config.Logger.Info("Only one Feature field is null - considering unequal.")
return false
} else if *nr.Feature != *ncr.Feature {
return false
}
return true
}
}
type featureMembershipDiff struct {
// The diff should include one or the other of RequiresRecreate or UpdateOp.
RequiresRecreate bool
UpdateOp featureMembershipApiOperation
FieldName string // used for error logging
}
func convertFieldDiffsToFeatureMembershipDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]featureMembershipDiff, error) {
opNamesToFieldDiffs := make(map[string][]*dcl.FieldDiff)
// Map each operation name to the field diffs associated with it.
for _, fd := range fds {
for _, ro := range fd.ResultingOperation {
if fieldDiffs, ok := opNamesToFieldDiffs[ro]; ok {
fieldDiffs = append(fieldDiffs, fd)
opNamesToFieldDiffs[ro] = fieldDiffs
} else {
config.Logger.Infof("%s required due to diff: %v", ro, fd)
opNamesToFieldDiffs[ro] = []*dcl.FieldDiff{fd}
}
}
}
var diffs []featureMembershipDiff
// For each operation name, create a featureMembershipDiff which contains the operation.
for opName, fieldDiffs := range opNamesToFieldDiffs {
// Use the first field diff's field name for logging required recreate error.
diff := featureMembershipDiff{FieldName: fieldDiffs[0].FieldName}
if opName == "Recreate" {
diff.RequiresRecreate = true
} else {
apiOp, err := convertOpNameToFeatureMembershipApiOperation(opName, fieldDiffs, opts...)
if err != nil {
return diffs, err
}
diff.UpdateOp = apiOp
}
diffs = append(diffs, diff)
}
return diffs, nil
}
func convertOpNameToFeatureMembershipApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (featureMembershipApiOperation, error) {
switch opName {
case "updateFeatureMembershipUpdateFeatureMembershipOperation":
return &updateFeatureMembershipUpdateFeatureMembershipOperation{FieldDiffs: fieldDiffs}, nil
default:
return nil, fmt.Errorf("no such operation with name: %v", opName)
}
}
func extractFeatureMembershipFields(r *FeatureMembership) error {
vMesh := r.Mesh
if vMesh == nil {
// note: explicitly not the empty object.
vMesh = &FeatureMembershipMesh{}
}
if err := extractFeatureMembershipMeshFields(r, vMesh); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vMesh) {
r.Mesh = vMesh
}
vConfigmanagement := r.Configmanagement
if vConfigmanagement == nil {
// note: explicitly not the empty object.
vConfigmanagement = &FeatureMembershipConfigmanagement{}
}
if err := extractFeatureMembershipConfigmanagementFields(r, vConfigmanagement); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vConfigmanagement) {
r.Configmanagement = vConfigmanagement
}
vPolicycontroller := r.Policycontroller
if vPolicycontroller == nil {
// note: explicitly not the empty object.
vPolicycontroller = &FeatureMembershipPolicycontroller{}
}
if err := extractFeatureMembershipPolicycontrollerFields(r, vPolicycontroller); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicycontroller) {
r.Policycontroller = vPolicycontroller
}
return nil
}
func extractFeatureMembershipMeshFields(r *FeatureMembership, o *FeatureMembershipMesh) error {
return nil
}
func extractFeatureMembershipConfigmanagementFields(r *FeatureMembership, o *FeatureMembershipConfigmanagement) error {
vConfigSync := o.ConfigSync
if vConfigSync == nil {
// note: explicitly not the empty object.
vConfigSync = &FeatureMembershipConfigmanagementConfigSync{}
}
if err := extractFeatureMembershipConfigmanagementConfigSyncFields(r, vConfigSync); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vConfigSync) {
o.ConfigSync = vConfigSync
}
vPolicyController := o.PolicyController
if vPolicyController == nil {
// note: explicitly not the empty object.
vPolicyController = &FeatureMembershipConfigmanagementPolicyController{}
}
if err := extractFeatureMembershipConfigmanagementPolicyControllerFields(r, vPolicyController); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicyController) {
o.PolicyController = vPolicyController
}
vBinauthz := o.Binauthz
if vBinauthz == nil {
// note: explicitly not the empty object.
vBinauthz = &FeatureMembershipConfigmanagementBinauthz{}
}
if err := extractFeatureMembershipConfigmanagementBinauthzFields(r, vBinauthz); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vBinauthz) {
o.Binauthz = vBinauthz
}
vHierarchyController := o.HierarchyController
if vHierarchyController == nil {
// note: explicitly not the empty object.
vHierarchyController = &FeatureMembershipConfigmanagementHierarchyController{}
}
if err := extractFeatureMembershipConfigmanagementHierarchyControllerFields(r, vHierarchyController); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vHierarchyController) {
o.HierarchyController = vHierarchyController
}
return nil
}
func extractFeatureMembershipConfigmanagementConfigSyncFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSync) error {
vGit := o.Git
if vGit == nil {
// note: explicitly not the empty object.
vGit = &FeatureMembershipConfigmanagementConfigSyncGit{}
}
if err := extractFeatureMembershipConfigmanagementConfigSyncGitFields(r, vGit); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vGit) {
o.Git = vGit
}
vOci := o.Oci
if vOci == nil {
// note: explicitly not the empty object.
vOci = &FeatureMembershipConfigmanagementConfigSyncOci{}
}
if err := extractFeatureMembershipConfigmanagementConfigSyncOciFields(r, vOci); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vOci) {
o.Oci = vOci
}
return nil
}
func extractFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides) error {
return nil
}
func extractFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers) error {
return nil
}
func extractFeatureMembershipConfigmanagementConfigSyncGitFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncGit) error {
return nil
}
func extractFeatureMembershipConfigmanagementConfigSyncOciFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncOci) error {
return nil
}
func extractFeatureMembershipConfigmanagementPolicyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyController) error {
vMonitoring := o.Monitoring
if vMonitoring == nil {
// note: explicitly not the empty object.
vMonitoring = &FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
}
if err := extractFeatureMembershipConfigmanagementPolicyControllerMonitoringFields(r, vMonitoring); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vMonitoring) {
o.Monitoring = vMonitoring
}
return nil
}
func extractFeatureMembershipConfigmanagementPolicyControllerMonitoringFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyControllerMonitoring) error {
return nil
}
func extractFeatureMembershipConfigmanagementBinauthzFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementBinauthz) error {
return nil
}
func extractFeatureMembershipConfigmanagementHierarchyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementHierarchyController) error {
return nil
}
func extractFeatureMembershipPolicycontrollerFields(r *FeatureMembership, o *FeatureMembershipPolicycontroller) error {
vPolicyControllerHubConfig := o.PolicyControllerHubConfig
if vPolicyControllerHubConfig == nil {
// note: explicitly not the empty object.
vPolicyControllerHubConfig = &FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigFields(r, vPolicyControllerHubConfig); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicyControllerHubConfig) {
o.PolicyControllerHubConfig = vPolicyControllerHubConfig
}
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfig) error {
vMonitoring := o.Monitoring
if vMonitoring == nil {
// note: explicitly not the empty object.
vMonitoring = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringFields(r, vMonitoring); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vMonitoring) {
o.Monitoring = vMonitoring
}
vPolicyContent := o.PolicyContent
if vPolicyContent == nil {
// note: explicitly not the empty object.
vPolicyContent = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentFields(r, vPolicyContent); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicyContent) {
o.PolicyContent = vPolicyContent
}
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring) error {
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent) error {
vTemplateLibrary := o.TemplateLibrary
if vTemplateLibrary == nil {
// note: explicitly not the empty object.
vTemplateLibrary = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryFields(r, vTemplateLibrary); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vTemplateLibrary) {
o.TemplateLibrary = vTemplateLibrary
}
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary) error {
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles) error {
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs) error {
vContainerResources := o.ContainerResources
if vContainerResources == nil {
// note: explicitly not the empty object.
vContainerResources = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesFields(r, vContainerResources); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vContainerResources) {
o.ContainerResources = vContainerResources
}
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources) error {
vLimits := o.Limits
if vLimits == nil {
// note: explicitly not the empty object.
vLimits = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsFields(r, vLimits); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vLimits) {
o.Limits = vLimits
}
vRequests := o.Requests
if vRequests == nil {
// note: explicitly not the empty object.
vRequests = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsFields(r, vRequests); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vRequests) {
o.Requests = vRequests
}
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits) error {
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests) error {
return nil
}
func extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations) error {
return nil
}
func postReadExtractFeatureMembershipFields(r *FeatureMembership) error {
vMesh := r.Mesh
if vMesh == nil {
// note: explicitly not the empty object.
vMesh = &FeatureMembershipMesh{}
}
if err := postReadExtractFeatureMembershipMeshFields(r, vMesh); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vMesh) {
r.Mesh = vMesh
}
vConfigmanagement := r.Configmanagement
if vConfigmanagement == nil {
// note: explicitly not the empty object.
vConfigmanagement = &FeatureMembershipConfigmanagement{}
}
if err := postReadExtractFeatureMembershipConfigmanagementFields(r, vConfigmanagement); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vConfigmanagement) {
r.Configmanagement = vConfigmanagement
}
vPolicycontroller := r.Policycontroller
if vPolicycontroller == nil {
// note: explicitly not the empty object.
vPolicycontroller = &FeatureMembershipPolicycontroller{}
}
if err := postReadExtractFeatureMembershipPolicycontrollerFields(r, vPolicycontroller); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicycontroller) {
r.Policycontroller = vPolicycontroller
}
return nil
}
func postReadExtractFeatureMembershipMeshFields(r *FeatureMembership, o *FeatureMembershipMesh) error {
return nil
}
func postReadExtractFeatureMembershipConfigmanagementFields(r *FeatureMembership, o *FeatureMembershipConfigmanagement) error {
vConfigSync := o.ConfigSync
if vConfigSync == nil {
// note: explicitly not the empty object.
vConfigSync = &FeatureMembershipConfigmanagementConfigSync{}
}
if err := extractFeatureMembershipConfigmanagementConfigSyncFields(r, vConfigSync); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vConfigSync) {
o.ConfigSync = vConfigSync
}
vPolicyController := o.PolicyController
if vPolicyController == nil {
// note: explicitly not the empty object.
vPolicyController = &FeatureMembershipConfigmanagementPolicyController{}
}
if err := extractFeatureMembershipConfigmanagementPolicyControllerFields(r, vPolicyController); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicyController) {
o.PolicyController = vPolicyController
}
vBinauthz := o.Binauthz
if vBinauthz == nil {
// note: explicitly not the empty object.
vBinauthz = &FeatureMembershipConfigmanagementBinauthz{}
}
if err := extractFeatureMembershipConfigmanagementBinauthzFields(r, vBinauthz); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vBinauthz) {
o.Binauthz = vBinauthz
}
vHierarchyController := o.HierarchyController
if vHierarchyController == nil {
// note: explicitly not the empty object.
vHierarchyController = &FeatureMembershipConfigmanagementHierarchyController{}
}
if err := extractFeatureMembershipConfigmanagementHierarchyControllerFields(r, vHierarchyController); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vHierarchyController) {
o.HierarchyController = vHierarchyController
}
return nil
}
func postReadExtractFeatureMembershipConfigmanagementConfigSyncFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSync) error {
vGit := o.Git
if vGit == nil {
// note: explicitly not the empty object.
vGit = &FeatureMembershipConfigmanagementConfigSyncGit{}
}
if err := extractFeatureMembershipConfigmanagementConfigSyncGitFields(r, vGit); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vGit) {
o.Git = vGit
}
vOci := o.Oci
if vOci == nil {
// note: explicitly not the empty object.
vOci = &FeatureMembershipConfigmanagementConfigSyncOci{}
}
if err := extractFeatureMembershipConfigmanagementConfigSyncOciFields(r, vOci); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vOci) {
o.Oci = vOci
}
return nil
}
func postReadExtractFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncDeploymentOverrides) error {
return nil
}
func postReadExtractFeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainersFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncDeploymentOverridesContainers) error {
return nil
}
func postReadExtractFeatureMembershipConfigmanagementConfigSyncGitFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncGit) error {
return nil
}
func postReadExtractFeatureMembershipConfigmanagementConfigSyncOciFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementConfigSyncOci) error {
return nil
}
func postReadExtractFeatureMembershipConfigmanagementPolicyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyController) error {
vMonitoring := o.Monitoring
if vMonitoring == nil {
// note: explicitly not the empty object.
vMonitoring = &FeatureMembershipConfigmanagementPolicyControllerMonitoring{}
}
if err := extractFeatureMembershipConfigmanagementPolicyControllerMonitoringFields(r, vMonitoring); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vMonitoring) {
o.Monitoring = vMonitoring
}
return nil
}
func postReadExtractFeatureMembershipConfigmanagementPolicyControllerMonitoringFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementPolicyControllerMonitoring) error {
return nil
}
func postReadExtractFeatureMembershipConfigmanagementBinauthzFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementBinauthz) error {
return nil
}
func postReadExtractFeatureMembershipConfigmanagementHierarchyControllerFields(r *FeatureMembership, o *FeatureMembershipConfigmanagementHierarchyController) error {
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerFields(r *FeatureMembership, o *FeatureMembershipPolicycontroller) error {
vPolicyControllerHubConfig := o.PolicyControllerHubConfig
if vPolicyControllerHubConfig == nil {
// note: explicitly not the empty object.
vPolicyControllerHubConfig = &FeatureMembershipPolicycontrollerPolicyControllerHubConfig{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigFields(r, vPolicyControllerHubConfig); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicyControllerHubConfig) {
o.PolicyControllerHubConfig = vPolicyControllerHubConfig
}
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfig) error {
vMonitoring := o.Monitoring
if vMonitoring == nil {
// note: explicitly not the empty object.
vMonitoring = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringFields(r, vMonitoring); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vMonitoring) {
o.Monitoring = vMonitoring
}
vPolicyContent := o.PolicyContent
if vPolicyContent == nil {
// note: explicitly not the empty object.
vPolicyContent = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentFields(r, vPolicyContent); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vPolicyContent) {
o.PolicyContent = vPolicyContent
}
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring) error {
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent) error {
vTemplateLibrary := o.TemplateLibrary
if vTemplateLibrary == nil {
// note: explicitly not the empty object.
vTemplateLibrary = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryFields(r, vTemplateLibrary); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vTemplateLibrary) {
o.TemplateLibrary = vTemplateLibrary
}
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary) error {
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundlesFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentBundles) error {
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigs) error {
vContainerResources := o.ContainerResources
if vContainerResources == nil {
// note: explicitly not the empty object.
vContainerResources = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesFields(r, vContainerResources); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vContainerResources) {
o.ContainerResources = vContainerResources
}
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResources) error {
vLimits := o.Limits
if vLimits == nil {
// note: explicitly not the empty object.
vLimits = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsFields(r, vLimits); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vLimits) {
o.Limits = vLimits
}
vRequests := o.Requests
if vRequests == nil {
// note: explicitly not the empty object.
vRequests = &FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests{}
}
if err := extractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsFields(r, vRequests); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vRequests) {
o.Requests = vRequests
}
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimitsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesLimits) error {
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequestsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsContainerResourcesRequests) error {
return nil
}
func postReadExtractFeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerationsFields(r *FeatureMembership, o *FeatureMembershipPolicycontrollerPolicyControllerHubConfigDeploymentConfigsPodTolerations) error {
return nil
}