services/google/dlp/beta/inspect_template_internal.go (7,415 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 (
"bytes"
"context"
"encoding/json"
"fmt"
"io/ioutil"
"strings"
"github.com/GoogleCloudPlatform/declarative-resource-client-library/dcl"
)
func (r *InspectTemplate) validate() error {
if err := dcl.RequiredParameter(r.Parent, "Parent"); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.InspectConfig) {
if err := r.InspectConfig.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfig) validate() error {
if !dcl.IsEmptyValueIndirect(r.Limits) {
if err := r.Limits.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigInfoTypes) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigLimits) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType) validate() error {
if !dcl.IsEmptyValueIndirect(r.InfoType) {
if err := r.InfoType.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypes) validate() error {
if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Dictionary", "Regex", "SurrogateType", "StoredType"}, r.Dictionary, r.Regex, r.SurrogateType, r.StoredType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.InfoType) {
if err := r.InfoType.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Dictionary) {
if err := r.Dictionary.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Regex) {
if err := r.Regex.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.SurrogateType) {
if err := r.SurrogateType.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.StoredType) {
if err := r.StoredType.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypesInfoType) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypesDictionary) validate() error {
if err := dcl.ValidateExactlyOneOfFieldsSet([]string{"WordList", "CloudStoragePath"}, r.WordList, r.CloudStoragePath); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.WordList) {
if err := r.WordList.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.CloudStoragePath) {
if err := r.CloudStoragePath.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypesRegex) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypesSurrogateType) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigCustomInfoTypesStoredType) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSet) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetInfoTypes) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRules) validate() error {
if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"HotwordRule", "ExclusionRule"}, r.HotwordRule, r.ExclusionRule); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.HotwordRule) {
if err := r.HotwordRule.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.ExclusionRule) {
if err := r.ExclusionRule.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesHotwordRule) validate() error {
if !dcl.IsEmptyValueIndirect(r.HotwordRegex) {
if err := r.HotwordRegex.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Proximity) {
if err := r.Proximity.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.LikelihoodAdjustment) {
if err := r.LikelihoodAdjustment.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment) validate() error {
if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"FixedLikelihood", "RelativeLikelihood"}, r.FixedLikelihood, r.RelativeLikelihood); err != nil {
return err
}
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesExclusionRule) validate() error {
if err := dcl.ValidateAtMostOneOfFieldsSet([]string{"Dictionary", "Regex", "ExcludeInfoTypes"}, r.Dictionary, r.Regex, r.ExcludeInfoTypes); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.Dictionary) {
if err := r.Dictionary.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.Regex) {
if err := r.Regex.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.ExcludeInfoTypes) {
if err := r.ExcludeInfoTypes.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary) validate() error {
if err := dcl.ValidateExactlyOneOfFieldsSet([]string{"WordList", "CloudStoragePath"}, r.WordList, r.CloudStoragePath); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(r.WordList) {
if err := r.WordList.validate(); err != nil {
return err
}
}
if !dcl.IsEmptyValueIndirect(r.CloudStoragePath) {
if err := r.CloudStoragePath.validate(); err != nil {
return err
}
}
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes) validate() error {
return nil
}
func (r *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes) validate() error {
return nil
}
func (r *InspectTemplate) basePath() string {
params := map[string]interface{}{}
return dcl.Nprintf("https://dlp.googleapis.com/v2/", params)
}
func (r *InspectTemplate) getURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"location": dcl.ValueOrEmptyString(nr.Location),
"parent": dcl.ValueOrEmptyString(nr.Parent),
"name": dcl.ValueOrEmptyString(nr.Name),
}
if dcl.IsRegion(nr.Location) {
return dcl.URL("{{parent}}/locations/{{location}}/inspectTemplates/{{name}}", nr.basePath(), userBasePath, params), nil
}
return dcl.URL("{{parent}}/inspectTemplates/{{name}}", nr.basePath(), userBasePath, params), nil
}
func (r *InspectTemplate) listURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"location": dcl.ValueOrEmptyString(nr.Location),
"parent": dcl.ValueOrEmptyString(nr.Parent),
}
if dcl.IsRegion(nr.Location) {
return dcl.URL("{{parent}}/locations/{{location}}/inspectTemplates", nr.basePath(), userBasePath, params), nil
}
return dcl.URL("{{parent}}/inspectTemplates", nr.basePath(), userBasePath, params), nil
}
func (r *InspectTemplate) createURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"location": dcl.ValueOrEmptyString(nr.Location),
"parent": dcl.ValueOrEmptyString(nr.Parent),
}
if dcl.IsRegion(nr.Location) {
return dcl.URL("{{parent}}/locations/{{location}}/inspectTemplates", nr.basePath(), userBasePath, params), nil
}
return dcl.URL("{{parent}}/inspectTemplates", nr.basePath(), userBasePath, params), nil
}
func (r *InspectTemplate) deleteURL(userBasePath string) (string, error) {
nr := r.urlNormalized()
params := map[string]interface{}{
"location": dcl.ValueOrEmptyString(nr.Location),
"parent": dcl.ValueOrEmptyString(nr.Parent),
"name": dcl.ValueOrEmptyString(nr.Name),
}
if dcl.IsRegion(nr.Location) {
return dcl.URL("{{parent}}/locations/{{location}}/inspectTemplates/{{name}}", nr.basePath(), userBasePath, params), nil
}
return dcl.URL("{{parent}}/inspectTemplates/{{name}}", nr.basePath(), userBasePath, params), nil
}
// inspectTemplateApiOperation represents a mutable operation in the underlying REST
// API such as Create, Update, or Delete.
type inspectTemplateApiOperation interface {
do(context.Context, *InspectTemplate, *Client) error
}
// newUpdateInspectTemplateUpdateInspectTemplateRequest creates a request for an
// InspectTemplate resource's UpdateInspectTemplate update type by filling in the update
// fields based on the intended state of the resource.
func newUpdateInspectTemplateUpdateInspectTemplateRequest(ctx context.Context, f *InspectTemplate, c *Client) (map[string]interface{}, error) {
req := map[string]interface{}{}
res := f
_ = res
if v := f.DisplayName; !dcl.IsEmptyValueIndirect(v) {
req["displayName"] = v
}
if v := f.Description; !dcl.IsEmptyValueIndirect(v) {
req["description"] = v
}
if v, err := expandInspectTemplateInspectConfig(c, f.InspectConfig, res); err != nil {
return nil, fmt.Errorf("error expanding InspectConfig into inspectConfig: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
req["inspectConfig"] = v
}
return req, nil
}
// marshalUpdateInspectTemplateUpdateInspectTemplateRequest converts the update into
// the final JSON request body.
func marshalUpdateInspectTemplateUpdateInspectTemplateRequest(c *Client, m map[string]interface{}) ([]byte, error) {
return json.Marshal(m)
}
type updateInspectTemplateUpdateInspectTemplateOperation 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) listInspectTemplateRaw(ctx context.Context, r *InspectTemplate, pageToken string, pageSize int32) ([]byte, error) {
u, err := r.urlNormalized().listURL(c.Config.BasePath)
if err != nil {
return nil, err
}
m := make(map[string]string)
if pageToken != "" {
m["pageToken"] = pageToken
}
if pageSize != InspectTemplateMaxPage {
m["pageSize"] = fmt.Sprintf("%v", pageSize)
}
u, err = dcl.AddQueryParams(u, m)
if err != nil {
return nil, err
}
resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
if err != nil {
return nil, err
}
defer resp.Response.Body.Close()
return ioutil.ReadAll(resp.Response.Body)
}
type listInspectTemplateOperation struct {
InspectTemplates []map[string]interface{} `json:"inspectTemplates"`
Token string `json:"nextPageToken"`
}
func (c *Client) listInspectTemplate(ctx context.Context, r *InspectTemplate, pageToken string, pageSize int32) ([]*InspectTemplate, string, error) {
b, err := c.listInspectTemplateRaw(ctx, r, pageToken, pageSize)
if err != nil {
return nil, "", err
}
var m listInspectTemplateOperation
if err := json.Unmarshal(b, &m); err != nil {
return nil, "", err
}
var l []*InspectTemplate
for _, v := range m.InspectTemplates {
res, err := unmarshalMapInspectTemplate(v, c, r)
if err != nil {
return nil, m.Token, err
}
res.Location = r.Location
res.Parent = r.Parent
l = append(l, res)
}
return l, m.Token, nil
}
func (c *Client) deleteAllInspectTemplate(ctx context.Context, f func(*InspectTemplate) bool, resources []*InspectTemplate) 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.DeleteInspectTemplate(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 deleteInspectTemplateOperation struct{}
func (op *deleteInspectTemplateOperation) do(ctx context.Context, r *InspectTemplate, c *Client) error {
r, err := c.GetInspectTemplate(ctx, r)
if err != nil {
if dcl.IsNotFound(err) {
c.Config.Logger.InfoWithContextf(ctx, "InspectTemplate not found, returning. Original error: %v", err)
return nil
}
c.Config.Logger.WarningWithContextf(ctx, "GetInspectTemplate checking for existence. error: %v", err)
return err
}
u, err := r.deleteURL(c.Config.BasePath)
if err != nil {
return err
}
// Delete should never have a body
body := &bytes.Buffer{}
_, err = dcl.SendRequest(ctx, c.Config, "DELETE", u, body, c.Config.RetryProvider)
if err != nil {
return fmt.Errorf("failed to delete InspectTemplate: %w", err)
}
// We saw a race condition where for some successful delete operation, the Get calls returned resources for a short duration.
// This is the reason we are adding retry to handle that case.
retriesRemaining := 10
dcl.Do(ctx, func(ctx context.Context) (*dcl.RetryDetails, error) {
_, err := c.GetInspectTemplate(ctx, r)
if dcl.IsNotFound(err) {
return nil, nil
}
if retriesRemaining > 0 {
retriesRemaining--
return &dcl.RetryDetails{}, dcl.OperationNotDone{}
}
return nil, dcl.NotDeletedError{ExistingResource: r}
}, c.Config.RetryProvider)
return nil
}
// 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 createInspectTemplateOperation struct {
response map[string]interface{}
}
func (op *createInspectTemplateOperation) FirstResponse() (map[string]interface{}, bool) {
return op.response, len(op.response) > 0
}
func (op *createInspectTemplateOperation) do(ctx context.Context, r *InspectTemplate, c *Client) error {
c.Config.Logger.InfoWithContextf(ctx, "Attempting to create %v", r)
u, err := r.createURL(c.Config.BasePath)
if err != nil {
return err
}
req, err := r.marshal(c)
if err != nil {
return err
}
if r.Name != nil {
// Allowing creation to continue with Name set could result in a InspectTemplate with the wrong Name.
return fmt.Errorf("server-generated parameter Name was specified by user as %v, should be unspecified", dcl.ValueOrEmptyString(r.Name))
}
resp, err := dcl.SendRequest(ctx, c.Config, "POST", u, bytes.NewBuffer(req), c.Config.RetryProvider)
if err != nil {
return err
}
o, err := dcl.ResponseBodyAsJSON(resp)
if err != nil {
return fmt.Errorf("error decoding response body into JSON: %w", err)
}
op.response = o
// Include Name in URL substitution for initial GET request.
m := op.response
r.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
if _, err := c.GetInspectTemplate(ctx, r); err != nil {
c.Config.Logger.WarningWithContextf(ctx, "get returned error: %v", err)
return err
}
return nil
}
func (c *Client) getInspectTemplateRaw(ctx context.Context, r *InspectTemplate) ([]byte, error) {
u, err := r.getURL(c.Config.BasePath)
if err != nil {
return nil, err
}
resp, err := dcl.SendRequest(ctx, c.Config, "GET", u, &bytes.Buffer{}, c.Config.RetryProvider)
if err != nil {
return nil, err
}
defer resp.Response.Body.Close()
b, err := ioutil.ReadAll(resp.Response.Body)
if err != nil {
return nil, err
}
return b, nil
}
func (c *Client) inspectTemplateDiffsForRawDesired(ctx context.Context, rawDesired *InspectTemplate, opts ...dcl.ApplyOption) (initial, desired *InspectTemplate, 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 *InspectTemplate
if sh := dcl.FetchStateHint(opts); sh != nil {
if r, ok := sh.(*InspectTemplate); !ok {
c.Config.Logger.WarningWithContextf(ctx, "Initial state hint was of the wrong type; expected InspectTemplate, got %T", sh)
} else {
fetchState = r
}
}
if fetchState == nil {
fetchState = rawDesired
}
if fetchState.Name == nil {
// We cannot perform a get because of lack of information. We have to assume
// that this is being created for the first time.
desired, err := canonicalizeInspectTemplateDesiredState(rawDesired, nil)
return nil, desired, nil, err
}
// 1.2: Retrieval of raw initial state from API
rawInitial, err := c.GetInspectTemplate(ctx, fetchState)
if rawInitial == nil {
if !dcl.IsNotFound(err) {
c.Config.Logger.WarningWithContextf(ctx, "Failed to retrieve whether a InspectTemplate resource already exists: %s", err)
return nil, nil, nil, fmt.Errorf("failed to retrieve InspectTemplate resource: %v", err)
}
c.Config.Logger.InfoWithContext(ctx, "Found that InspectTemplate resource did not exist.")
// Perform canonicalization to pick up defaults.
desired, err = canonicalizeInspectTemplateDesiredState(rawDesired, rawInitial)
return nil, desired, nil, err
}
c.Config.Logger.InfoWithContextf(ctx, "Found initial state for InspectTemplate: %v", rawInitial)
c.Config.Logger.InfoWithContextf(ctx, "Initial desired state for InspectTemplate: %v", rawDesired)
// The Get call applies postReadExtract and so the result may contain fields that are not part of API version.
if err := extractInspectTemplateFields(rawInitial); err != nil {
return nil, nil, nil, err
}
// 1.3: Canonicalize raw initial state into initial state.
initial, err = canonicalizeInspectTemplateInitialState(rawInitial, rawDesired)
if err != nil {
return nil, nil, nil, err
}
c.Config.Logger.InfoWithContextf(ctx, "Canonicalized initial state for InspectTemplate: %v", initial)
// 1.4: Canonicalize raw desired state into desired state.
desired, err = canonicalizeInspectTemplateDesiredState(rawDesired, rawInitial, opts...)
if err != nil {
return nil, nil, nil, err
}
c.Config.Logger.InfoWithContextf(ctx, "Canonicalized desired state for InspectTemplate: %v", desired)
// 2.1: Comparison of initial and desired state.
diffs, err = diffInspectTemplate(c, desired, initial, opts...)
return initial, desired, diffs, err
}
func canonicalizeInspectTemplateInitialState(rawInitial, rawDesired *InspectTemplate) (*InspectTemplate, 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 canonicalizeInspectTemplateDesiredState(rawDesired, rawInitial *InspectTemplate, opts ...dcl.ApplyOption) (*InspectTemplate, 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.InspectConfig = canonicalizeInspectTemplateInspectConfig(rawDesired.InspectConfig, nil, opts...)
return rawDesired, nil
}
canonicalDesired := &InspectTemplate{}
if dcl.IsZeroValue(rawDesired.Name) || (dcl.IsEmptyValueIndirect(rawDesired.Name) && dcl.IsEmptyValueIndirect(rawInitial.Name)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
canonicalDesired.Name = rawInitial.Name
} else {
canonicalDesired.Name = rawDesired.Name
}
if dcl.StringCanonicalize(rawDesired.DisplayName, rawInitial.DisplayName) {
canonicalDesired.DisplayName = rawInitial.DisplayName
} else {
canonicalDesired.DisplayName = rawDesired.DisplayName
}
if dcl.StringCanonicalize(rawDesired.Description, rawInitial.Description) {
canonicalDesired.Description = rawInitial.Description
} else {
canonicalDesired.Description = rawDesired.Description
}
canonicalDesired.InspectConfig = canonicalizeInspectTemplateInspectConfig(rawDesired.InspectConfig, rawInitial.InspectConfig, opts...)
if dcl.NameToSelfLink(rawDesired.Parent, rawInitial.Parent) {
canonicalDesired.Parent = rawInitial.Parent
} else {
canonicalDesired.Parent = rawDesired.Parent
}
if dcl.NameToSelfLink(rawDesired.Location, rawInitial.Location) {
canonicalDesired.Location = rawInitial.Location
} else {
canonicalDesired.Location = rawDesired.Location
}
return canonicalDesired, nil
}
func canonicalizeInspectTemplateNewState(c *Client, rawNew, rawDesired *InspectTemplate) (*InspectTemplate, error) {
if dcl.IsEmptyValueIndirect(rawNew.Name) && dcl.IsEmptyValueIndirect(rawDesired.Name) {
rawNew.Name = rawDesired.Name
} else {
}
if dcl.IsEmptyValueIndirect(rawNew.DisplayName) && dcl.IsEmptyValueIndirect(rawDesired.DisplayName) {
rawNew.DisplayName = rawDesired.DisplayName
} else {
if dcl.StringCanonicalize(rawDesired.DisplayName, rawNew.DisplayName) {
rawNew.DisplayName = rawDesired.DisplayName
}
}
if dcl.IsEmptyValueIndirect(rawNew.Description) && dcl.IsEmptyValueIndirect(rawDesired.Description) {
rawNew.Description = rawDesired.Description
} else {
if dcl.StringCanonicalize(rawDesired.Description, rawNew.Description) {
rawNew.Description = rawDesired.Description
}
}
if dcl.IsEmptyValueIndirect(rawNew.CreateTime) && dcl.IsEmptyValueIndirect(rawDesired.CreateTime) {
rawNew.CreateTime = rawDesired.CreateTime
} else {
}
if dcl.IsEmptyValueIndirect(rawNew.UpdateTime) && dcl.IsEmptyValueIndirect(rawDesired.UpdateTime) {
rawNew.UpdateTime = rawDesired.UpdateTime
} else {
}
if dcl.IsEmptyValueIndirect(rawNew.InspectConfig) && dcl.IsEmptyValueIndirect(rawDesired.InspectConfig) {
rawNew.InspectConfig = rawDesired.InspectConfig
} else {
rawNew.InspectConfig = canonicalizeNewInspectTemplateInspectConfig(c, rawDesired.InspectConfig, rawNew.InspectConfig)
}
if dcl.IsEmptyValueIndirect(rawNew.LocationId) && dcl.IsEmptyValueIndirect(rawDesired.LocationId) {
rawNew.LocationId = rawDesired.LocationId
} else {
if dcl.StringCanonicalize(rawDesired.LocationId, rawNew.LocationId) {
rawNew.LocationId = rawDesired.LocationId
}
}
rawNew.Parent = rawDesired.Parent
rawNew.Location = rawDesired.Location
return rawNew, nil
}
func canonicalizeInspectTemplateInspectConfig(des, initial *InspectTemplateInspectConfig, opts ...dcl.ApplyOption) *InspectTemplateInspectConfig {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfig{}
cDes.InfoTypes = canonicalizeInspectTemplateInspectConfigInfoTypesSlice(des.InfoTypes, initial.InfoTypes, opts...)
if dcl.IsZeroValue(des.MinLikelihood) || (dcl.IsEmptyValueIndirect(des.MinLikelihood) && dcl.IsEmptyValueIndirect(initial.MinLikelihood)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.MinLikelihood = initial.MinLikelihood
} else {
cDes.MinLikelihood = des.MinLikelihood
}
cDes.Limits = canonicalizeInspectTemplateInspectConfigLimits(des.Limits, initial.Limits, opts...)
if dcl.BoolCanonicalize(des.IncludeQuote, initial.IncludeQuote) || dcl.IsZeroValue(des.IncludeQuote) {
cDes.IncludeQuote = initial.IncludeQuote
} else {
cDes.IncludeQuote = des.IncludeQuote
}
if dcl.BoolCanonicalize(des.ExcludeInfoTypes, initial.ExcludeInfoTypes) || dcl.IsZeroValue(des.ExcludeInfoTypes) {
cDes.ExcludeInfoTypes = initial.ExcludeInfoTypes
} else {
cDes.ExcludeInfoTypes = des.ExcludeInfoTypes
}
cDes.CustomInfoTypes = canonicalizeInspectTemplateInspectConfigCustomInfoTypesSlice(des.CustomInfoTypes, initial.CustomInfoTypes, opts...)
if dcl.IsZeroValue(des.ContentOptions) || (dcl.IsEmptyValueIndirect(des.ContentOptions) && dcl.IsEmptyValueIndirect(initial.ContentOptions)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.ContentOptions = initial.ContentOptions
} else {
cDes.ContentOptions = des.ContentOptions
}
cDes.RuleSet = canonicalizeInspectTemplateInspectConfigRuleSetSlice(des.RuleSet, initial.RuleSet, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigSlice(des, initial []InspectTemplateInspectConfig, opts ...dcl.ApplyOption) []InspectTemplateInspectConfig {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfig, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfig(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfig, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfig(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfig(c *Client, des, nw *InspectTemplateInspectConfig) *InspectTemplateInspectConfig {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfig while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.InfoTypes = canonicalizeNewInspectTemplateInspectConfigInfoTypesSlice(c, des.InfoTypes, nw.InfoTypes)
nw.Limits = canonicalizeNewInspectTemplateInspectConfigLimits(c, des.Limits, nw.Limits)
if dcl.BoolCanonicalize(des.IncludeQuote, nw.IncludeQuote) {
nw.IncludeQuote = des.IncludeQuote
}
if dcl.BoolCanonicalize(des.ExcludeInfoTypes, nw.ExcludeInfoTypes) {
nw.ExcludeInfoTypes = des.ExcludeInfoTypes
}
nw.CustomInfoTypes = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSlice(c, des.CustomInfoTypes, nw.CustomInfoTypes)
nw.RuleSet = canonicalizeNewInspectTemplateInspectConfigRuleSetSlice(c, des.RuleSet, nw.RuleSet)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigSet(c *Client, des, nw []InspectTemplateInspectConfig) []InspectTemplateInspectConfig {
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 []InspectTemplateInspectConfig
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfig(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 canonicalizeNewInspectTemplateInspectConfigSlice(c *Client, des, nw []InspectTemplateInspectConfig) []InspectTemplateInspectConfig {
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 []InspectTemplateInspectConfig
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfig(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigInfoTypes(des, initial *InspectTemplateInspectConfigInfoTypes, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigInfoTypes {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigInfoTypes{}
if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
cDes.Name = initial.Name
} else {
cDes.Name = des.Name
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigInfoTypesSlice(des, initial []InspectTemplateInspectConfigInfoTypes, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigInfoTypes {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigInfoTypes, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigInfoTypes(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigInfoTypes, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigInfoTypes(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigInfoTypes(c *Client, des, nw *InspectTemplateInspectConfigInfoTypes) *InspectTemplateInspectConfigInfoTypes {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigInfoTypes while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Name, nw.Name) {
nw.Name = des.Name
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigInfoTypesSet(c *Client, des, nw []InspectTemplateInspectConfigInfoTypes) []InspectTemplateInspectConfigInfoTypes {
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 []InspectTemplateInspectConfigInfoTypes
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigInfoTypesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigInfoTypes(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 canonicalizeNewInspectTemplateInspectConfigInfoTypesSlice(c *Client, des, nw []InspectTemplateInspectConfigInfoTypes) []InspectTemplateInspectConfigInfoTypes {
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 []InspectTemplateInspectConfigInfoTypes
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigInfoTypes(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigLimits(des, initial *InspectTemplateInspectConfigLimits, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigLimits {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigLimits{}
if dcl.IsZeroValue(des.MaxFindingsPerItem) || (dcl.IsEmptyValueIndirect(des.MaxFindingsPerItem) && dcl.IsEmptyValueIndirect(initial.MaxFindingsPerItem)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.MaxFindingsPerItem = initial.MaxFindingsPerItem
} else {
cDes.MaxFindingsPerItem = des.MaxFindingsPerItem
}
if dcl.IsZeroValue(des.MaxFindingsPerRequest) || (dcl.IsEmptyValueIndirect(des.MaxFindingsPerRequest) && dcl.IsEmptyValueIndirect(initial.MaxFindingsPerRequest)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.MaxFindingsPerRequest = initial.MaxFindingsPerRequest
} else {
cDes.MaxFindingsPerRequest = des.MaxFindingsPerRequest
}
cDes.MaxFindingsPerInfoType = canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(des.MaxFindingsPerInfoType, initial.MaxFindingsPerInfoType, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigLimitsSlice(des, initial []InspectTemplateInspectConfigLimits, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigLimits {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigLimits, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigLimits(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigLimits, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigLimits(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigLimits(c *Client, des, nw *InspectTemplateInspectConfigLimits) *InspectTemplateInspectConfigLimits {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigLimits while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.MaxFindingsPerInfoType = canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(c, des.MaxFindingsPerInfoType, nw.MaxFindingsPerInfoType)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigLimitsSet(c *Client, des, nw []InspectTemplateInspectConfigLimits) []InspectTemplateInspectConfigLimits {
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 []InspectTemplateInspectConfigLimits
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigLimitsNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigLimits(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 canonicalizeNewInspectTemplateInspectConfigLimitsSlice(c *Client, des, nw []InspectTemplateInspectConfigLimits) []InspectTemplateInspectConfigLimits {
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 []InspectTemplateInspectConfigLimits
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigLimits(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(des, initial *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType{}
cDes.InfoType = canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(des.InfoType, initial.InfoType, opts...)
if dcl.IsZeroValue(des.MaxFindings) || (dcl.IsEmptyValueIndirect(des.MaxFindings) && dcl.IsEmptyValueIndirect(initial.MaxFindings)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.MaxFindings = initial.MaxFindings
} else {
cDes.MaxFindings = des.MaxFindings
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(des, initial []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c *Client, des, nw *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType) *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.InfoType = canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, des.InfoType, nw.InfoType)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSet(c *Client, des, nw []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
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 []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(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 canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(c *Client, des, nw []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
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 []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(des, initial *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
cDes.Name = initial.Name
} else {
cDes.Name = des.Name
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSlice(des, initial []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c *Client, des, nw *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType) *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Name, nw.Name) {
nw.Name = des.Name
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSet(c *Client, des, nw []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
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 []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(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 canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSlice(c *Client, des, nw []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
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 []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypes(des, initial *InspectTemplateInspectConfigCustomInfoTypes, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypes {
if des == nil {
return initial
}
if des.empty {
return des
}
if des.Dictionary != nil || (initial != nil && initial.Dictionary != nil) {
// Check if anything else is set.
if dcl.AnySet(des.Regex, des.SurrogateType, des.StoredType) {
des.Dictionary = nil
if initial != nil {
initial.Dictionary = nil
}
}
}
if des.Regex != nil || (initial != nil && initial.Regex != nil) {
// Check if anything else is set.
if dcl.AnySet(des.Dictionary, des.SurrogateType, des.StoredType) {
des.Regex = nil
if initial != nil {
initial.Regex = nil
}
}
}
if des.SurrogateType != nil || (initial != nil && initial.SurrogateType != nil) {
// Check if anything else is set.
if dcl.AnySet(des.Dictionary, des.Regex, des.StoredType) {
des.SurrogateType = nil
if initial != nil {
initial.SurrogateType = nil
}
}
}
if des.StoredType != nil || (initial != nil && initial.StoredType != nil) {
// Check if anything else is set.
if dcl.AnySet(des.Dictionary, des.Regex, des.SurrogateType) {
des.StoredType = nil
if initial != nil {
initial.StoredType = nil
}
}
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypes{}
cDes.InfoType = canonicalizeInspectTemplateInspectConfigCustomInfoTypesInfoType(des.InfoType, initial.InfoType, opts...)
if dcl.IsZeroValue(des.Likelihood) || (dcl.IsEmptyValueIndirect(des.Likelihood) && dcl.IsEmptyValueIndirect(initial.Likelihood)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Likelihood = initial.Likelihood
} else {
cDes.Likelihood = des.Likelihood
}
cDes.Dictionary = canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionary(des.Dictionary, initial.Dictionary, opts...)
cDes.Regex = canonicalizeInspectTemplateInspectConfigCustomInfoTypesRegex(des.Regex, initial.Regex, opts...)
cDes.SurrogateType = canonicalizeInspectTemplateInspectConfigCustomInfoTypesSurrogateType(des.SurrogateType, initial.SurrogateType, opts...)
cDes.StoredType = canonicalizeInspectTemplateInspectConfigCustomInfoTypesStoredType(des.StoredType, initial.StoredType, opts...)
if dcl.IsZeroValue(des.ExclusionType) || (dcl.IsEmptyValueIndirect(des.ExclusionType) && dcl.IsEmptyValueIndirect(initial.ExclusionType)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.ExclusionType = initial.ExclusionType
} else {
cDes.ExclusionType = des.ExclusionType
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesSlice(des, initial []InspectTemplateInspectConfigCustomInfoTypes, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypes {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypes, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypes(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypes, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypes(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypes(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypes) *InspectTemplateInspectConfigCustomInfoTypes {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypes while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.InfoType = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesInfoType(c, des.InfoType, nw.InfoType)
nw.Dictionary = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionary(c, des.Dictionary, nw.Dictionary)
nw.Regex = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesRegex(c, des.Regex, nw.Regex)
nw.SurrogateType = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, des.SurrogateType, nw.SurrogateType)
nw.StoredType = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesStoredType(c, des.StoredType, nw.StoredType)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypes) []InspectTemplateInspectConfigCustomInfoTypes {
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 []InspectTemplateInspectConfigCustomInfoTypes
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypes(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypes) []InspectTemplateInspectConfigCustomInfoTypes {
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 []InspectTemplateInspectConfigCustomInfoTypes
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypes(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesInfoType(des, initial *InspectTemplateInspectConfigCustomInfoTypesInfoType, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypesInfoType {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypesInfoType{}
if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
cDes.Name = initial.Name
} else {
cDes.Name = des.Name
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesInfoTypeSlice(des, initial []InspectTemplateInspectConfigCustomInfoTypesInfoType, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypesInfoType {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypesInfoType, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesInfoType(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesInfoType, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesInfoType(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesInfoType(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypesInfoType) *InspectTemplateInspectConfigCustomInfoTypesInfoType {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypesInfoType while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Name, nw.Name) {
nw.Name = des.Name
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesInfoTypeSet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesInfoType) []InspectTemplateInspectConfigCustomInfoTypesInfoType {
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 []InspectTemplateInspectConfigCustomInfoTypesInfoType
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesInfoTypeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesInfoType(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesInfoTypeSlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesInfoType) []InspectTemplateInspectConfigCustomInfoTypesInfoType {
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 []InspectTemplateInspectConfigCustomInfoTypesInfoType
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesInfoType(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionary(des, initial *InspectTemplateInspectConfigCustomInfoTypesDictionary, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypesDictionary {
if des == nil {
return initial
}
if des.empty {
return des
}
if des.WordList != nil || (initial != nil && initial.WordList != nil) {
// Check if anything else is set.
if dcl.AnySet(des.CloudStoragePath) {
des.WordList = nil
if initial != nil {
initial.WordList = nil
}
}
}
if des.CloudStoragePath != nil || (initial != nil && initial.CloudStoragePath != nil) {
// Check if anything else is set.
if dcl.AnySet(des.WordList) {
des.CloudStoragePath = nil
if initial != nil {
initial.CloudStoragePath = nil
}
}
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypesDictionary{}
cDes.WordList = canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(des.WordList, initial.WordList, opts...)
cDes.CloudStoragePath = canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(des.CloudStoragePath, initial.CloudStoragePath, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionarySlice(des, initial []InspectTemplateInspectConfigCustomInfoTypesDictionary, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypesDictionary {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionary, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionary(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionary, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionary(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionary(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypesDictionary) *InspectTemplateInspectConfigCustomInfoTypesDictionary {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypesDictionary while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.WordList = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, des.WordList, nw.WordList)
nw.CloudStoragePath = canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, des.CloudStoragePath, nw.CloudStoragePath)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionarySet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesDictionary) []InspectTemplateInspectConfigCustomInfoTypesDictionary {
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 []InspectTemplateInspectConfigCustomInfoTypesDictionary
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesDictionaryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionary(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionarySlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesDictionary) []InspectTemplateInspectConfigCustomInfoTypesDictionary {
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 []InspectTemplateInspectConfigCustomInfoTypesDictionary
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionary(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(des, initial *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
if dcl.StringArrayCanonicalize(des.Words, initial.Words) {
cDes.Words = initial.Words
} else {
cDes.Words = des.Words
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListSlice(des, initial []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList) *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringArrayCanonicalize(des.Words, nw.Words) {
nw.Words = des.Words
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListSet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList) []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
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 []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListSlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList) []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
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 []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(des, initial *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
if dcl.StringCanonicalize(des.Path, initial.Path) || dcl.IsZeroValue(des.Path) {
cDes.Path = initial.Path
} else {
cDes.Path = des.Path
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathSlice(des, initial []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath) *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Path, nw.Path) {
nw.Path = des.Path
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathSet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath) []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
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 []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathSlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath) []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
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 []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesRegex(des, initial *InspectTemplateInspectConfigCustomInfoTypesRegex, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypesRegex {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypesRegex{}
if dcl.StringCanonicalize(des.Pattern, initial.Pattern) || dcl.IsZeroValue(des.Pattern) {
cDes.Pattern = initial.Pattern
} else {
cDes.Pattern = des.Pattern
}
if dcl.IsZeroValue(des.GroupIndexes) || (dcl.IsEmptyValueIndirect(des.GroupIndexes) && dcl.IsEmptyValueIndirect(initial.GroupIndexes)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.GroupIndexes = initial.GroupIndexes
} else {
cDes.GroupIndexes = des.GroupIndexes
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesRegexSlice(des, initial []InspectTemplateInspectConfigCustomInfoTypesRegex, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypesRegex {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypesRegex, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesRegex(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesRegex, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesRegex(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesRegex(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypesRegex) *InspectTemplateInspectConfigCustomInfoTypesRegex {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypesRegex while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Pattern, nw.Pattern) {
nw.Pattern = des.Pattern
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesRegexSet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesRegex) []InspectTemplateInspectConfigCustomInfoTypesRegex {
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 []InspectTemplateInspectConfigCustomInfoTypesRegex
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesRegexNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesRegex(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesRegexSlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesRegex) []InspectTemplateInspectConfigCustomInfoTypesRegex {
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 []InspectTemplateInspectConfigCustomInfoTypesRegex
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesRegex(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesSurrogateType(des, initial *InspectTemplateInspectConfigCustomInfoTypesSurrogateType, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeSlice(des, initial []InspectTemplateInspectConfigCustomInfoTypesSurrogateType, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypesSurrogateType, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesSurrogateType(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesSurrogateType, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesSurrogateType(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypesSurrogateType) *InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypesSurrogateType while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeSet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesSurrogateType) []InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
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 []InspectTemplateInspectConfigCustomInfoTypesSurrogateType
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSurrogateType(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeSlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesSurrogateType) []InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
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 []InspectTemplateInspectConfigCustomInfoTypesSurrogateType
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesStoredType(des, initial *InspectTemplateInspectConfigCustomInfoTypesStoredType, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigCustomInfoTypesStoredType {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigCustomInfoTypesStoredType{}
if dcl.IsZeroValue(des.Name) || (dcl.IsEmptyValueIndirect(des.Name) && dcl.IsEmptyValueIndirect(initial.Name)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.Name = initial.Name
} else {
cDes.Name = des.Name
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigCustomInfoTypesStoredTypeSlice(des, initial []InspectTemplateInspectConfigCustomInfoTypesStoredType, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigCustomInfoTypesStoredType {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigCustomInfoTypesStoredType, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesStoredType(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesStoredType, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigCustomInfoTypesStoredType(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesStoredType(c *Client, des, nw *InspectTemplateInspectConfigCustomInfoTypesStoredType) *InspectTemplateInspectConfigCustomInfoTypesStoredType {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigCustomInfoTypesStoredType while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesStoredTypeSet(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesStoredType) []InspectTemplateInspectConfigCustomInfoTypesStoredType {
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 []InspectTemplateInspectConfigCustomInfoTypesStoredType
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigCustomInfoTypesStoredTypeNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesStoredType(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 canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesStoredTypeSlice(c *Client, des, nw []InspectTemplateInspectConfigCustomInfoTypesStoredType) []InspectTemplateInspectConfigCustomInfoTypesStoredType {
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 []InspectTemplateInspectConfigCustomInfoTypesStoredType
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigCustomInfoTypesStoredType(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSet(des, initial *InspectTemplateInspectConfigRuleSet, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSet {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSet{}
cDes.InfoTypes = canonicalizeInspectTemplateInspectConfigRuleSetInfoTypesSlice(des.InfoTypes, initial.InfoTypes, opts...)
cDes.Rules = canonicalizeInspectTemplateInspectConfigRuleSetRulesSlice(des.Rules, initial.Rules, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetSlice(des, initial []InspectTemplateInspectConfigRuleSet, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSet {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSet, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSet(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSet, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSet(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSet(c *Client, des, nw *InspectTemplateInspectConfigRuleSet) *InspectTemplateInspectConfigRuleSet {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSet while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.InfoTypes = canonicalizeNewInspectTemplateInspectConfigRuleSetInfoTypesSlice(c, des.InfoTypes, nw.InfoTypes)
nw.Rules = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesSlice(c, des.Rules, nw.Rules)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSet) []InspectTemplateInspectConfigRuleSet {
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 []InspectTemplateInspectConfigRuleSet
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSet(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 canonicalizeNewInspectTemplateInspectConfigRuleSetSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSet) []InspectTemplateInspectConfigRuleSet {
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 []InspectTemplateInspectConfigRuleSet
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSet(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetInfoTypes(des, initial *InspectTemplateInspectConfigRuleSetInfoTypes, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetInfoTypes {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetInfoTypes{}
if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
cDes.Name = initial.Name
} else {
cDes.Name = des.Name
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetInfoTypesSlice(des, initial []InspectTemplateInspectConfigRuleSetInfoTypes, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetInfoTypes {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetInfoTypes, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetInfoTypes(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetInfoTypes, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetInfoTypes(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetInfoTypes(c *Client, des, nw *InspectTemplateInspectConfigRuleSetInfoTypes) *InspectTemplateInspectConfigRuleSetInfoTypes {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetInfoTypes while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Name, nw.Name) {
nw.Name = des.Name
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetInfoTypesSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetInfoTypes) []InspectTemplateInspectConfigRuleSetInfoTypes {
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 []InspectTemplateInspectConfigRuleSetInfoTypes
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetInfoTypesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetInfoTypes(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 canonicalizeNewInspectTemplateInspectConfigRuleSetInfoTypesSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetInfoTypes) []InspectTemplateInspectConfigRuleSetInfoTypes {
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 []InspectTemplateInspectConfigRuleSetInfoTypes
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetInfoTypes(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRules(des, initial *InspectTemplateInspectConfigRuleSetRules, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRules {
if des == nil {
return initial
}
if des.empty {
return des
}
if des.HotwordRule != nil || (initial != nil && initial.HotwordRule != nil) {
// Check if anything else is set.
if dcl.AnySet(des.ExclusionRule) {
des.HotwordRule = nil
if initial != nil {
initial.HotwordRule = nil
}
}
}
if des.ExclusionRule != nil || (initial != nil && initial.ExclusionRule != nil) {
// Check if anything else is set.
if dcl.AnySet(des.HotwordRule) {
des.ExclusionRule = nil
if initial != nil {
initial.ExclusionRule = nil
}
}
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRules{}
cDes.HotwordRule = canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRule(des.HotwordRule, initial.HotwordRule, opts...)
cDes.ExclusionRule = canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRule(des.ExclusionRule, initial.ExclusionRule, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesSlice(des, initial []InspectTemplateInspectConfigRuleSetRules, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRules {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRules, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRules(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRules, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRules(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRules(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRules) *InspectTemplateInspectConfigRuleSetRules {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRules while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.HotwordRule = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, des.HotwordRule, nw.HotwordRule)
nw.ExclusionRule = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, des.ExclusionRule, nw.ExclusionRule)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRules) []InspectTemplateInspectConfigRuleSetRules {
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 []InspectTemplateInspectConfigRuleSetRules
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRules(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRules) []InspectTemplateInspectConfigRuleSetRules {
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 []InspectTemplateInspectConfigRuleSetRules
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRules(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRule(des, initial *InspectTemplateInspectConfigRuleSetRulesHotwordRule, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesHotwordRule {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
cDes.HotwordRegex = canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(des.HotwordRegex, initial.HotwordRegex, opts...)
cDes.Proximity = canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(des.Proximity, initial.Proximity, opts...)
cDes.LikelihoodAdjustment = canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(des.LikelihoodAdjustment, initial.LikelihoodAdjustment, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesHotwordRule, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesHotwordRule {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRule, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRule(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRule, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRule(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRule(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesHotwordRule) *InspectTemplateInspectConfigRuleSetRulesHotwordRule {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesHotwordRule while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.HotwordRegex = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, des.HotwordRegex, nw.HotwordRegex)
nw.Proximity = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, des.Proximity, nw.Proximity)
nw.LikelihoodAdjustment = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, des.LikelihoodAdjustment, nw.LikelihoodAdjustment)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRule) []InspectTemplateInspectConfigRuleSetRulesHotwordRule {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRule
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRule(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRule) []InspectTemplateInspectConfigRuleSetRulesHotwordRule {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRule
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(des, initial *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
if dcl.StringCanonicalize(des.Pattern, initial.Pattern) || dcl.IsZeroValue(des.Pattern) {
cDes.Pattern = initial.Pattern
} else {
cDes.Pattern = des.Pattern
}
if dcl.IsZeroValue(des.GroupIndexes) || (dcl.IsEmptyValueIndirect(des.GroupIndexes) && dcl.IsEmptyValueIndirect(initial.GroupIndexes)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.GroupIndexes = initial.GroupIndexes
} else {
cDes.GroupIndexes = des.GroupIndexes
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Pattern, nw.Pattern) {
nw.Pattern = des.Pattern
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(des, initial *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
if dcl.IsZeroValue(des.WindowBefore) || (dcl.IsEmptyValueIndirect(des.WindowBefore) && dcl.IsEmptyValueIndirect(initial.WindowBefore)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.WindowBefore = initial.WindowBefore
} else {
cDes.WindowBefore = des.WindowBefore
}
if dcl.IsZeroValue(des.WindowAfter) || (dcl.IsEmptyValueIndirect(des.WindowAfter) && dcl.IsEmptyValueIndirect(initial.WindowAfter)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.WindowAfter = initial.WindowAfter
} else {
cDes.WindowAfter = des.WindowAfter
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximitySlice(des, initial []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximitySet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximitySlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(des, initial *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
if des == nil {
return initial
}
if des.empty {
return des
}
if des.FixedLikelihood != nil || (initial != nil && initial.FixedLikelihood != nil) {
// Check if anything else is set.
if dcl.AnySet(des.RelativeLikelihood) {
des.FixedLikelihood = nil
if initial != nil {
initial.FixedLikelihood = nil
}
}
}
if des.RelativeLikelihood != nil || (initial != nil && initial.RelativeLikelihood != nil) {
// Check if anything else is set.
if dcl.AnySet(des.FixedLikelihood) {
des.RelativeLikelihood = nil
if initial != nil {
initial.RelativeLikelihood = nil
}
}
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
if dcl.IsZeroValue(des.FixedLikelihood) || (dcl.IsEmptyValueIndirect(des.FixedLikelihood) && dcl.IsEmptyValueIndirect(initial.FixedLikelihood)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.FixedLikelihood = initial.FixedLikelihood
} else {
cDes.FixedLikelihood = des.FixedLikelihood
}
if dcl.IsZeroValue(des.RelativeLikelihood) || (dcl.IsEmptyValueIndirect(des.RelativeLikelihood) && dcl.IsEmptyValueIndirect(initial.RelativeLikelihood)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.RelativeLikelihood = initial.RelativeLikelihood
} else {
cDes.RelativeLikelihood = des.RelativeLikelihood
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
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 []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRule(des, initial *InspectTemplateInspectConfigRuleSetRulesExclusionRule, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesExclusionRule {
if des == nil {
return initial
}
if des.empty {
return des
}
if des.Dictionary != nil || (initial != nil && initial.Dictionary != nil) {
// Check if anything else is set.
if dcl.AnySet(des.Regex, des.ExcludeInfoTypes) {
des.Dictionary = nil
if initial != nil {
initial.Dictionary = nil
}
}
}
if des.Regex != nil || (initial != nil && initial.Regex != nil) {
// Check if anything else is set.
if dcl.AnySet(des.Dictionary, des.ExcludeInfoTypes) {
des.Regex = nil
if initial != nil {
initial.Regex = nil
}
}
}
if des.ExcludeInfoTypes != nil || (initial != nil && initial.ExcludeInfoTypes != nil) {
// Check if anything else is set.
if dcl.AnySet(des.Dictionary, des.Regex) {
des.ExcludeInfoTypes = nil
if initial != nil {
initial.ExcludeInfoTypes = nil
}
}
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
cDes.Dictionary = canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(des.Dictionary, initial.Dictionary, opts...)
cDes.Regex = canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(des.Regex, initial.Regex, opts...)
cDes.ExcludeInfoTypes = canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(des.ExcludeInfoTypes, initial.ExcludeInfoTypes, opts...)
if dcl.IsZeroValue(des.MatchingType) || (dcl.IsEmptyValueIndirect(des.MatchingType) && dcl.IsEmptyValueIndirect(initial.MatchingType)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.MatchingType = initial.MatchingType
} else {
cDes.MatchingType = des.MatchingType
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesExclusionRule, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesExclusionRule {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRule, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRule(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRule, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRule(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRule(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesExclusionRule) *InspectTemplateInspectConfigRuleSetRulesExclusionRule {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesExclusionRule while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.Dictionary = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, des.Dictionary, nw.Dictionary)
nw.Regex = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, des.Regex, nw.Regex)
nw.ExcludeInfoTypes = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, des.ExcludeInfoTypes, nw.ExcludeInfoTypes)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRule) []InspectTemplateInspectConfigRuleSetRulesExclusionRule {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRule
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRule(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRule) []InspectTemplateInspectConfigRuleSetRulesExclusionRule {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRule
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(des, initial *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
if des == nil {
return initial
}
if des.empty {
return des
}
if des.WordList != nil || (initial != nil && initial.WordList != nil) {
// Check if anything else is set.
if dcl.AnySet(des.CloudStoragePath) {
des.WordList = nil
if initial != nil {
initial.WordList = nil
}
}
}
if des.CloudStoragePath != nil || (initial != nil && initial.CloudStoragePath != nil) {
// Check if anything else is set.
if dcl.AnySet(des.WordList) {
des.CloudStoragePath = nil
if initial != nil {
initial.CloudStoragePath = nil
}
}
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
cDes.WordList = canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(des.WordList, initial.WordList, opts...)
cDes.CloudStoragePath = canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(des.CloudStoragePath, initial.CloudStoragePath, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionarySlice(des, initial []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.WordList = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, des.WordList, nw.WordList)
nw.CloudStoragePath = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, des.CloudStoragePath, nw.CloudStoragePath)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionarySet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionarySlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(des, initial *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
if dcl.StringArrayCanonicalize(des.Words, initial.Words) {
cDes.Words = initial.Words
} else {
cDes.Words = des.Words
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringArrayCanonicalize(des.Words, nw.Words) {
nw.Words = des.Words
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(des, initial *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
if dcl.StringCanonicalize(des.Path, initial.Path) || dcl.IsZeroValue(des.Path) {
cDes.Path = initial.Path
} else {
cDes.Path = des.Path
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Path, nw.Path) {
nw.Path = des.Path
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(des, initial *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
if dcl.StringCanonicalize(des.Pattern, initial.Pattern) || dcl.IsZeroValue(des.Pattern) {
cDes.Pattern = initial.Pattern
} else {
cDes.Pattern = des.Pattern
}
if dcl.IsZeroValue(des.GroupIndexes) || (dcl.IsEmptyValueIndirect(des.GroupIndexes) && dcl.IsEmptyValueIndirect(initial.GroupIndexes)) {
// Desired and initial values are equivalent, so set canonical desired value to initial value.
cDes.GroupIndexes = initial.GroupIndexes
} else {
cDes.GroupIndexes = des.GroupIndexes
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Pattern, nw.Pattern) {
nw.Pattern = des.Pattern
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(des, initial *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
cDes.InfoTypes = canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(des.InfoTypes, initial.InfoTypes, opts...)
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
if dcl.IsEmptyValueIndirect(des) {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
nw.InfoTypes = canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(c, des.InfoTypes, nw.InfoTypes)
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, &d, &n))
}
return items
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(des, initial *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, opts ...dcl.ApplyOption) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
if des == nil {
return initial
}
if des.empty {
return des
}
if initial == nil {
return des
}
cDes := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes{}
if dcl.StringCanonicalize(des.Name, initial.Name) || dcl.IsZeroValue(des.Name) {
cDes.Name = initial.Name
} else {
cDes.Name = des.Name
}
return cDes
}
func canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(des, initial []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, opts ...dcl.ApplyOption) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
if des == nil {
return initial
}
if len(des) != len(initial) {
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, 0, len(des))
for _, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(&d, nil, opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, 0, len(des))
for i, d := range des {
cd := canonicalizeInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(&d, &initial[i], opts...)
if cd != nil {
items = append(items, *cd)
}
}
return items
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(c *Client, des, nw *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
if des == nil {
return nw
}
if nw == nil {
if dcl.IsEmptyValueIndirect(des) {
c.Config.Logger.Info("Found explicitly empty value for InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes while comparing non-nil desired to nil actual. Returning desired object.")
return des
}
return nil
}
if dcl.StringCanonicalize(des.Name, nw.Name) {
nw.Name = des.Name
}
return nw
}
func canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSet(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes
for _, d := range des {
matchedIndex := -1
for i, n := range nw {
if diffs, _ := compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesNewStyle(&d, &n, dcl.FieldName{}); len(diffs) == 0 {
matchedIndex = i
break
}
}
if matchedIndex != -1 {
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(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 canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(c *Client, des, nw []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
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 []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes
for i, d := range des {
n := nw[i]
items = append(items, *canonicalizeNewInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(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 diffInspectTemplate(c *Client, desired, actual *InspectTemplate, 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.Name, actual.Name, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.DisplayName, actual.DisplayName, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("DisplayName")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Description, actual.Description, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Description")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.UpdateTime, actual.UpdateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("UpdateTime")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.InspectConfig, actual.InspectConfig, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigNewStyle, EmptyObject: EmptyInspectTemplateInspectConfig, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("InspectConfig")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.LocationId, actual.LocationId, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("LocationId")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
newDiffs = append(newDiffs, ds...)
}
if ds, err := dcl.Diff(desired.Parent, actual.Parent, dcl.DiffInfo{OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("Parent")); 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 len(newDiffs) > 0 {
c.Config.Logger.Infof("Diff function found diffs: %v", newDiffs)
}
return newDiffs, nil
}
func compareInspectTemplateInspectConfigNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfig)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfig)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfig or *InspectTemplateInspectConfig", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfig)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfig)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfig", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.InfoTypes, actual.InfoTypes, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigInfoTypesNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigInfoTypes, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("InfoTypes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MinLikelihood, actual.MinLikelihood, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("MinLikelihood")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Limits, actual.Limits, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigLimitsNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigLimits, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Limits")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.IncludeQuote, actual.IncludeQuote, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("IncludeQuote")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ExcludeInfoTypes, actual.ExcludeInfoTypes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("ExcludeInfoTypes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.CustomInfoTypes, actual.CustomInfoTypes, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypes, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("CustomInfoTypes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ContentOptions, actual.ContentOptions, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("ContentOptions")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.RuleSet, actual.RuleSet, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSet, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("RuleSet")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigInfoTypesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigInfoTypes)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigInfoTypes or *InspectTemplateInspectConfigInfoTypes", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigInfoTypes)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigInfoTypes", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigLimitsNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigLimits)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigLimits)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigLimits or *InspectTemplateInspectConfigLimits", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigLimits)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigLimits)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigLimits", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.MaxFindingsPerItem, actual.MaxFindingsPerItem, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("MaxFindingsPerItem")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MaxFindingsPerRequest, actual.MaxFindingsPerRequest, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("MaxFindingsPerRequest")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MaxFindingsPerInfoType, actual.MaxFindingsPerInfoType, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("MaxFindingsPerInfoType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType or *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.InfoType, actual.InfoType, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("InfoType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MaxFindings, actual.MaxFindings, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("MaxFindings")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType or *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigCustomInfoTypes)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigCustomInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypes or *InspectTemplateInspectConfigCustomInfoTypes", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigCustomInfoTypes)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigCustomInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypes", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.InfoType, actual.InfoType, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesInfoTypeNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypesInfoType, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("InfoType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Likelihood, actual.Likelihood, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Likelihood")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Dictionary, actual.Dictionary, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesDictionaryNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypesDictionary, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Dictionary")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Regex, actual.Regex, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesRegexNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypesRegex, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Regex")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.SurrogateType, actual.SurrogateType, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypesSurrogateType, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("SurrogateType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.StoredType, actual.StoredType, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesStoredTypeNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypesStoredType, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("StoredType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ExclusionType, actual.ExclusionType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("ExclusionType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesInfoTypeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigCustomInfoTypesInfoType)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigCustomInfoTypesInfoType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesInfoType or *InspectTemplateInspectConfigCustomInfoTypesInfoType", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigCustomInfoTypesInfoType)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigCustomInfoTypesInfoType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesInfoType", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesDictionaryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigCustomInfoTypesDictionary)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigCustomInfoTypesDictionary)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesDictionary or *InspectTemplateInspectConfigCustomInfoTypesDictionary", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigCustomInfoTypesDictionary)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigCustomInfoTypesDictionary)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesDictionary", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.WordList, actual.WordList, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("WordList")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.CloudStoragePath, actual.CloudStoragePath, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("CloudStoragePath")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList or *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Words, actual.Words, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Words")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath or *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Path, actual.Path, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Path")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesRegexNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigCustomInfoTypesRegex)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigCustomInfoTypesRegex)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesRegex or *InspectTemplateInspectConfigCustomInfoTypesRegex", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigCustomInfoTypesRegex)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigCustomInfoTypesRegex)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesRegex", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Pattern, actual.Pattern, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Pattern")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.GroupIndexes, actual.GroupIndexes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("GroupIndexes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
return diffs, nil
}
func compareInspectTemplateInspectConfigCustomInfoTypesStoredTypeNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigCustomInfoTypesStoredType)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigCustomInfoTypesStoredType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesStoredType or *InspectTemplateInspectConfigCustomInfoTypesStoredType", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigCustomInfoTypesStoredType)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigCustomInfoTypesStoredType)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigCustomInfoTypesStoredType", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{Type: "ReferenceType", OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.CreateTime, actual.CreateTime, dcl.DiffInfo{OutputOnly: true, OperationSelector: dcl.RequiresRecreate()}, fn.AddNest("CreateTime")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSet)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSet)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSet or *InspectTemplateInspectConfigRuleSet", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSet)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSet)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSet", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.InfoTypes, actual.InfoTypes, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetInfoTypesNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetInfoTypes, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("InfoTypes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Rules, actual.Rules, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRules, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Rules")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetInfoTypesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetInfoTypes)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetInfoTypes or *InspectTemplateInspectConfigRuleSetInfoTypes", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetInfoTypes)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetInfoTypes", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Name")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRules)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRules)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRules or *InspectTemplateInspectConfigRuleSetRules", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRules)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRules)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRules", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.HotwordRule, actual.HotwordRule, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRule, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("HotwordRule")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ExclusionRule, actual.ExclusionRule, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRule, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("ExclusionRule")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesHotwordRule)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesHotwordRule)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRule or *InspectTemplateInspectConfigRuleSetRulesHotwordRule", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesHotwordRule)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesHotwordRule)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRule", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.HotwordRegex, actual.HotwordRegex, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("HotwordRegex")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Proximity, actual.Proximity, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Proximity")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.LikelihoodAdjustment, actual.LikelihoodAdjustment, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("LikelihoodAdjustment")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex or *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Pattern, actual.Pattern, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Pattern")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.GroupIndexes, actual.GroupIndexes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("GroupIndexes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity or *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.WindowBefore, actual.WindowBefore, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("WindowBefore")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.WindowAfter, actual.WindowAfter, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("WindowAfter")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment or *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.FixedLikelihood, actual.FixedLikelihood, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("FixedLikelihood")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.RelativeLikelihood, actual.RelativeLikelihood, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("RelativeLikelihood")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesExclusionRule)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesExclusionRule)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRule or *InspectTemplateInspectConfigRuleSetRulesExclusionRule", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesExclusionRule)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesExclusionRule)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRule", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Dictionary, actual.Dictionary, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Dictionary")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.Regex, actual.Regex, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Regex")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.ExcludeInfoTypes, actual.ExcludeInfoTypes, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("ExcludeInfoTypes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.MatchingType, actual.MatchingType, dcl.DiffInfo{Type: "EnumType", OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("MatchingType")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary or *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.WordList, actual.WordList, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("WordList")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.CloudStoragePath, actual.CloudStoragePath, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("CloudStoragePath")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList or *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Words, actual.Words, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Words")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath or *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Path, actual.Path, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Path")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex or *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Pattern, actual.Pattern, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Pattern")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
if ds, err := dcl.Diff(desired.GroupIndexes, actual.GroupIndexes, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("GroupIndexes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes or *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.InfoTypes, actual.InfoTypes, dcl.DiffInfo{ObjectFunction: compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesNewStyle, EmptyObject: EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("InfoTypes")); len(ds) != 0 || err != nil {
if err != nil {
return nil, err
}
diffs = append(diffs, ds...)
}
return diffs, nil
}
func compareInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesNewStyle(d, a interface{}, fn dcl.FieldName) ([]*dcl.FieldDiff, error) {
var diffs []*dcl.FieldDiff
desired, ok := d.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes)
if !ok {
desiredNotPointer, ok := d.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes or *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes", d)
}
desired = &desiredNotPointer
}
actual, ok := a.(*InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes)
if !ok {
actualNotPointer, ok := a.(InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes)
if !ok {
return nil, fmt.Errorf("obj %v is not a InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes", a)
}
actual = &actualNotPointer
}
if ds, err := dcl.Diff(desired.Name, actual.Name, dcl.DiffInfo{OperationSelector: dcl.TriggersOperation("updateInspectTemplateUpdateInspectTemplateOperation")}, fn.AddNest("Name")); 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 *InspectTemplate) urlNormalized() *InspectTemplate {
normalized := dcl.Copy(*r).(InspectTemplate)
normalized.Name = dcl.SelfLinkToName(r.Name)
normalized.DisplayName = dcl.SelfLinkToName(r.DisplayName)
normalized.Description = dcl.SelfLinkToName(r.Description)
normalized.LocationId = dcl.SelfLinkToName(r.LocationId)
normalized.Parent = r.Parent
normalized.Location = dcl.SelfLinkToName(r.Location)
return &normalized
}
func (r *InspectTemplate) updateURL(userBasePath, updateName string) (string, error) {
nr := r.urlNormalized()
if updateName == "UpdateInspectTemplate" {
fields := map[string]interface{}{
"location": dcl.ValueOrEmptyString(nr.Location),
"parent": dcl.ValueOrEmptyString(nr.Parent),
"name": dcl.ValueOrEmptyString(nr.Name),
}
if dcl.IsRegion(nr.Location) {
return dcl.URL("{{parent}}/locations/{{location}}/inspectTemplates/{{name}}", nr.basePath(), userBasePath, fields), nil
}
return dcl.URL("{{parent}}/inspectTemplates/{{name}}", nr.basePath(), userBasePath, fields), nil
}
return "", fmt.Errorf("unknown update name: %s", updateName)
}
// marshal encodes the InspectTemplate resource into JSON for a Create request, and
// performs transformations from the resource schema to the API schema if
// necessary.
func (r *InspectTemplate) marshal(c *Client) ([]byte, error) {
m, err := expandInspectTemplate(c, r)
if err != nil {
return nil, fmt.Errorf("error marshalling InspectTemplate: %w", err)
}
m = encodeInspectTemplateCreateRequest(m)
return json.Marshal(m)
}
// unmarshalInspectTemplate decodes JSON responses into the InspectTemplate resource schema.
func unmarshalInspectTemplate(b []byte, c *Client, res *InspectTemplate) (*InspectTemplate, error) {
var m map[string]interface{}
if err := json.Unmarshal(b, &m); err != nil {
return nil, err
}
return unmarshalMapInspectTemplate(m, c, res)
}
func unmarshalMapInspectTemplate(m map[string]interface{}, c *Client, res *InspectTemplate) (*InspectTemplate, error) {
flattened := flattenInspectTemplate(c, m, res)
if flattened == nil {
return nil, fmt.Errorf("attempted to flatten empty json object")
}
return flattened, nil
}
// expandInspectTemplate expands InspectTemplate into a JSON request object.
func expandInspectTemplate(c *Client, f *InspectTemplate) (map[string]interface{}, error) {
m := make(map[string]interface{})
res := f
_ = res
if v := f.Name; dcl.ValueShouldBeSent(v) {
m["name"] = v
}
if v := f.DisplayName; dcl.ValueShouldBeSent(v) {
m["displayName"] = v
}
if v := f.Description; dcl.ValueShouldBeSent(v) {
m["description"] = v
}
if v, err := expandInspectTemplateInspectConfig(c, f.InspectConfig, res); err != nil {
return nil, fmt.Errorf("error expanding InspectConfig into inspectConfig: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["inspectConfig"] = v
}
if v, err := dcl.EmptyValue(); err != nil {
return nil, fmt.Errorf("error expanding Parent into parent: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["parent"] = 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
}
return m, nil
}
// flattenInspectTemplate flattens InspectTemplate from a JSON request object into the
// InspectTemplate type.
func flattenInspectTemplate(c *Client, i interface{}, res *InspectTemplate) *InspectTemplate {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
if len(m) == 0 {
return nil
}
resultRes := &InspectTemplate{}
resultRes.Name = dcl.SelfLinkToName(dcl.FlattenString(m["name"]))
resultRes.DisplayName = dcl.FlattenString(m["displayName"])
resultRes.Description = dcl.FlattenString(m["description"])
resultRes.CreateTime = dcl.FlattenString(m["createTime"])
resultRes.UpdateTime = dcl.FlattenString(m["updateTime"])
resultRes.InspectConfig = flattenInspectTemplateInspectConfig(c, m["inspectConfig"], res)
resultRes.LocationId = dcl.FlattenString(m["locationId"])
resultRes.Parent = dcl.FlattenString(m["parent"])
resultRes.Location = dcl.FlattenString(m["location"])
return resultRes
}
// expandInspectTemplateInspectConfigMap expands the contents of InspectTemplateInspectConfig into a JSON
// request object.
func expandInspectTemplateInspectConfigMap(c *Client, f map[string]InspectTemplateInspectConfig, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfig(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigSlice expands the contents of InspectTemplateInspectConfig into a JSON
// request object.
func expandInspectTemplateInspectConfigSlice(c *Client, f []InspectTemplateInspectConfig, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfig(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigMap flattens the contents of InspectTemplateInspectConfig from a JSON
// response object.
func flattenInspectTemplateInspectConfigMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfig {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfig{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfig{}
}
items := make(map[string]InspectTemplateInspectConfig)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfig(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigSlice flattens the contents of InspectTemplateInspectConfig from a JSON
// response object.
func flattenInspectTemplateInspectConfigSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfig {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfig{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfig{}
}
items := make([]InspectTemplateInspectConfig, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfig(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfig expands an instance of InspectTemplateInspectConfig into a JSON
// request object.
func expandInspectTemplateInspectConfig(c *Client, f *InspectTemplateInspectConfig, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigInfoTypesSlice(c, f.InfoTypes, res); err != nil {
return nil, fmt.Errorf("error expanding InfoTypes into infoTypes: %w", err)
} else if v != nil {
m["infoTypes"] = v
}
if v := f.MinLikelihood; !dcl.IsEmptyValueIndirect(v) {
m["minLikelihood"] = v
}
if v, err := expandInspectTemplateInspectConfigLimits(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 := f.IncludeQuote; !dcl.IsEmptyValueIndirect(v) {
m["includeQuote"] = v
}
if v := f.ExcludeInfoTypes; !dcl.IsEmptyValueIndirect(v) {
m["excludeInfoTypes"] = v
}
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesSlice(c, f.CustomInfoTypes, res); err != nil {
return nil, fmt.Errorf("error expanding CustomInfoTypes into customInfoTypes: %w", err)
} else if v != nil {
m["customInfoTypes"] = v
}
if v := f.ContentOptions; v != nil {
m["contentOptions"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetSlice(c, f.RuleSet, res); err != nil {
return nil, fmt.Errorf("error expanding RuleSet into ruleSet: %w", err)
} else if v != nil {
m["ruleSet"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfig flattens an instance of InspectTemplateInspectConfig from a JSON
// response object.
func flattenInspectTemplateInspectConfig(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfig {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfig{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfig
}
r.InfoTypes = flattenInspectTemplateInspectConfigInfoTypesSlice(c, m["infoTypes"], res)
r.MinLikelihood = flattenInspectTemplateInspectConfigMinLikelihoodEnum(m["minLikelihood"])
r.Limits = flattenInspectTemplateInspectConfigLimits(c, m["limits"], res)
r.IncludeQuote = dcl.FlattenBool(m["includeQuote"])
r.ExcludeInfoTypes = dcl.FlattenBool(m["excludeInfoTypes"])
r.CustomInfoTypes = flattenInspectTemplateInspectConfigCustomInfoTypesSlice(c, m["customInfoTypes"], res)
r.ContentOptions = flattenInspectTemplateInspectConfigContentOptionsEnumSlice(c, m["contentOptions"], res)
r.RuleSet = flattenInspectTemplateInspectConfigRuleSetSlice(c, m["ruleSet"], res)
return r
}
// expandInspectTemplateInspectConfigInfoTypesMap expands the contents of InspectTemplateInspectConfigInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigInfoTypesMap(c *Client, f map[string]InspectTemplateInspectConfigInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigInfoTypesSlice expands the contents of InspectTemplateInspectConfigInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigInfoTypesSlice(c *Client, f []InspectTemplateInspectConfigInfoTypes, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigInfoTypesMap flattens the contents of InspectTemplateInspectConfigInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigInfoTypesMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigInfoTypes {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigInfoTypes{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigInfoTypes{}
}
items := make(map[string]InspectTemplateInspectConfigInfoTypes)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigInfoTypes(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigInfoTypesSlice flattens the contents of InspectTemplateInspectConfigInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigInfoTypesSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigInfoTypes {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigInfoTypes{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigInfoTypes{}
}
items := make([]InspectTemplateInspectConfigInfoTypes, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigInfoTypes(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigInfoTypes expands an instance of InspectTemplateInspectConfigInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigInfoTypes(c *Client, f *InspectTemplateInspectConfigInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
m["name"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigInfoTypes flattens an instance of InspectTemplateInspectConfigInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigInfoTypes(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigInfoTypes {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigInfoTypes{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigInfoTypes
}
r.Name = dcl.FlattenString(m["name"])
return r
}
// expandInspectTemplateInspectConfigLimitsMap expands the contents of InspectTemplateInspectConfigLimits into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsMap(c *Client, f map[string]InspectTemplateInspectConfigLimits, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigLimits(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigLimitsSlice expands the contents of InspectTemplateInspectConfigLimits into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsSlice(c *Client, f []InspectTemplateInspectConfigLimits, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigLimits(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigLimitsMap flattens the contents of InspectTemplateInspectConfigLimits from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigLimits {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigLimits{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigLimits{}
}
items := make(map[string]InspectTemplateInspectConfigLimits)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigLimits(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigLimitsSlice flattens the contents of InspectTemplateInspectConfigLimits from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigLimits {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigLimits{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigLimits{}
}
items := make([]InspectTemplateInspectConfigLimits, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigLimits(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigLimits expands an instance of InspectTemplateInspectConfigLimits into a JSON
// request object.
func expandInspectTemplateInspectConfigLimits(c *Client, f *InspectTemplateInspectConfigLimits, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.MaxFindingsPerItem; !dcl.IsEmptyValueIndirect(v) {
m["maxFindingsPerItem"] = v
}
if v := f.MaxFindingsPerRequest; !dcl.IsEmptyValueIndirect(v) {
m["maxFindingsPerRequest"] = v
}
if v, err := expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(c, f.MaxFindingsPerInfoType, res); err != nil {
return nil, fmt.Errorf("error expanding MaxFindingsPerInfoType into maxFindingsPerInfoType: %w", err)
} else if v != nil {
m["maxFindingsPerInfoType"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigLimits flattens an instance of InspectTemplateInspectConfigLimits from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimits(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigLimits {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigLimits{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigLimits
}
r.MaxFindingsPerItem = dcl.FlattenInteger(m["maxFindingsPerItem"])
r.MaxFindingsPerRequest = dcl.FlattenInteger(m["maxFindingsPerRequest"])
r.MaxFindingsPerInfoType = flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(c, m["maxFindingsPerInfoType"], res)
return r
}
// expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeMap expands the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeMap(c *Client, f map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice expands the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(c *Client, f []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeMap flattens the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType{}
}
items := make(map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice flattens the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType{}
}
items := make([]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType expands an instance of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c *Client, f *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, f.InfoType, res); err != nil {
return nil, fmt.Errorf("error expanding InfoType into infoType: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["infoType"] = v
}
if v := f.MaxFindings; !dcl.IsEmptyValueIndirect(v) {
m["maxFindings"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType flattens an instance of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigLimitsMaxFindingsPerInfoType
}
r.InfoType = flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, m["infoType"], res)
r.MaxFindings = dcl.FlattenInteger(m["maxFindings"])
return r
}
// expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeMap expands the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeMap(c *Client, f map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSlice expands the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSlice(c *Client, f []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeMap flattens the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
}
items := make(map[string]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSlice flattens the contents of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
}
items := make([]InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType expands an instance of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c *Client, f *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
m["name"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType flattens an instance of InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType
}
r.Name = dcl.FlattenString(m["name"])
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesMap expands the contents of InspectTemplateInspectConfigCustomInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesSlice expands the contents of InspectTemplateInspectConfigCustomInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesSlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypes, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypes {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypes{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypes{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypes)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypes(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypes {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypes{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypes{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypes, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypes(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypes expands an instance of InspectTemplateInspectConfigCustomInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypes(c *Client, f *InspectTemplateInspectConfigCustomInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesInfoType(c, f.InfoType, res); err != nil {
return nil, fmt.Errorf("error expanding InfoType into infoType: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["infoType"] = v
}
if v := f.Likelihood; !dcl.IsEmptyValueIndirect(v) {
m["likelihood"] = v
}
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionary(c, f.Dictionary, res); err != nil {
return nil, fmt.Errorf("error expanding Dictionary into dictionary: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["dictionary"] = v
}
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesRegex(c, f.Regex, res); err != nil {
return nil, fmt.Errorf("error expanding Regex into regex: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["regex"] = v
}
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, f.SurrogateType, res); err != nil {
return nil, fmt.Errorf("error expanding SurrogateType into surrogateType: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["surrogateType"] = v
}
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesStoredType(c, f.StoredType, res); err != nil {
return nil, fmt.Errorf("error expanding StoredType into storedType: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["storedType"] = v
}
if v := f.ExclusionType; !dcl.IsEmptyValueIndirect(v) {
m["exclusionType"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypes flattens an instance of InspectTemplateInspectConfigCustomInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypes(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypes {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypes{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypes
}
r.InfoType = flattenInspectTemplateInspectConfigCustomInfoTypesInfoType(c, m["infoType"], res)
r.Likelihood = flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum(m["likelihood"])
r.Dictionary = flattenInspectTemplateInspectConfigCustomInfoTypesDictionary(c, m["dictionary"], res)
r.Regex = flattenInspectTemplateInspectConfigCustomInfoTypesRegex(c, m["regex"], res)
r.SurrogateType = flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, m["surrogateType"], res)
r.StoredType = flattenInspectTemplateInspectConfigCustomInfoTypesStoredType(c, m["storedType"], res)
r.ExclusionType = flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum(m["exclusionType"])
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesInfoTypeMap expands the contents of InspectTemplateInspectConfigCustomInfoTypesInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesInfoTypeMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypesInfoType, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesInfoType(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesInfoTypeSlice expands the contents of InspectTemplateInspectConfigCustomInfoTypesInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesInfoTypeSlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypesInfoType, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesInfoType(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesInfoTypeMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesInfoTypeMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesInfoType {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesInfoType{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesInfoType{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesInfoType)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesInfoType(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesInfoTypeSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesInfoTypeSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesInfoType {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesInfoType{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesInfoType{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesInfoType, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesInfoType(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypesInfoType expands an instance of InspectTemplateInspectConfigCustomInfoTypesInfoType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesInfoType(c *Client, f *InspectTemplateInspectConfigCustomInfoTypesInfoType, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
m["name"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesInfoType flattens an instance of InspectTemplateInspectConfigCustomInfoTypesInfoType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesInfoType(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypesInfoType {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypesInfoType{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypesInfoType
}
r.Name = dcl.FlattenString(m["name"])
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionaryMap expands the contents of InspectTemplateInspectConfigCustomInfoTypesDictionary into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionaryMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypesDictionary, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionary(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionarySlice expands the contents of InspectTemplateInspectConfigCustomInfoTypesDictionary into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionarySlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypesDictionary, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionary(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesDictionary from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesDictionary {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesDictionary{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesDictionary{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesDictionary)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesDictionary(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionarySlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesDictionary from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionarySlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesDictionary {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesDictionary{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesDictionary{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionary, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesDictionary(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionary expands an instance of InspectTemplateInspectConfigCustomInfoTypesDictionary into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionary(c *Client, f *InspectTemplateInspectConfigCustomInfoTypesDictionary, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, f.WordList, res); err != nil {
return nil, fmt.Errorf("error expanding WordList into wordList: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["wordList"] = v
}
if v, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, f.CloudStoragePath, res); err != nil {
return nil, fmt.Errorf("error expanding CloudStoragePath into cloudStoragePath: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["cloudStoragePath"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionary flattens an instance of InspectTemplateInspectConfigCustomInfoTypesDictionary from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionary(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypesDictionary {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypesDictionary{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypesDictionary
}
r.WordList = flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, m["wordList"], res)
r.CloudStoragePath = flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, m["cloudStoragePath"], res)
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListMap expands the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListSlice expands the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListSlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList expands an instance of InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c *Client, f *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Words; v != nil {
m["words"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList flattens an instance of InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypesDictionaryWordList
}
r.Words = dcl.FlattenStringSlice(m["words"])
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathMap expands the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathSlice expands the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathSlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath expands an instance of InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c *Client, f *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Path; !dcl.IsEmptyValueIndirect(v) {
m["path"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath flattens an instance of InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath
}
r.Path = dcl.FlattenString(m["path"])
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesRegexMap expands the contents of InspectTemplateInspectConfigCustomInfoTypesRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesRegexMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypesRegex, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesRegex(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesRegexSlice expands the contents of InspectTemplateInspectConfigCustomInfoTypesRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesRegexSlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypesRegex, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesRegex(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesRegexMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesRegexMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesRegex {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesRegex{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesRegex{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesRegex)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesRegex(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesRegexSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesRegexSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesRegex {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesRegex{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesRegex{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesRegex, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesRegex(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypesRegex expands an instance of InspectTemplateInspectConfigCustomInfoTypesRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesRegex(c *Client, f *InspectTemplateInspectConfigCustomInfoTypesRegex, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Pattern; !dcl.IsEmptyValueIndirect(v) {
m["pattern"] = v
}
if v := f.GroupIndexes; v != nil {
m["groupIndexes"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesRegex flattens an instance of InspectTemplateInspectConfigCustomInfoTypesRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesRegex(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypesRegex {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypesRegex{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypesRegex
}
r.Pattern = dcl.FlattenString(m["pattern"])
r.GroupIndexes = dcl.FlattenIntSlice(m["groupIndexes"])
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeMap expands the contents of InspectTemplateInspectConfigCustomInfoTypesSurrogateType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypesSurrogateType, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeSlice expands the contents of InspectTemplateInspectConfigCustomInfoTypesSurrogateType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeSlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypesSurrogateType, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesSurrogateType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesSurrogateType)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesSurrogateType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesSurrogateType, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypesSurrogateType expands an instance of InspectTemplateInspectConfigCustomInfoTypesSurrogateType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c *Client, f *InspectTemplateInspectConfigCustomInfoTypesSurrogateType, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateType flattens an instance of InspectTemplateInspectConfigCustomInfoTypesSurrogateType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesSurrogateType(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypesSurrogateType {
_, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypesSurrogateType
}
return r
}
// expandInspectTemplateInspectConfigCustomInfoTypesStoredTypeMap expands the contents of InspectTemplateInspectConfigCustomInfoTypesStoredType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesStoredTypeMap(c *Client, f map[string]InspectTemplateInspectConfigCustomInfoTypesStoredType, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesStoredType(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigCustomInfoTypesStoredTypeSlice expands the contents of InspectTemplateInspectConfigCustomInfoTypesStoredType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesStoredTypeSlice(c *Client, f []InspectTemplateInspectConfigCustomInfoTypesStoredType, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigCustomInfoTypesStoredType(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesStoredTypeMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesStoredType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesStoredTypeMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesStoredType {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesStoredType{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesStoredType{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesStoredType)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesStoredType(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesStoredTypeSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesStoredType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesStoredTypeSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesStoredType {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesStoredType{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesStoredType{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesStoredType, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesStoredType(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigCustomInfoTypesStoredType expands an instance of InspectTemplateInspectConfigCustomInfoTypesStoredType into a JSON
// request object.
func expandInspectTemplateInspectConfigCustomInfoTypesStoredType(c *Client, f *InspectTemplateInspectConfigCustomInfoTypesStoredType, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
m["name"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigCustomInfoTypesStoredType flattens an instance of InspectTemplateInspectConfigCustomInfoTypesStoredType from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesStoredType(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigCustomInfoTypesStoredType {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigCustomInfoTypesStoredType{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigCustomInfoTypesStoredType
}
r.Name = dcl.FlattenString(m["name"])
r.CreateTime = dcl.FlattenString(m["createTime"])
return r
}
// expandInspectTemplateInspectConfigRuleSetMap expands the contents of InspectTemplateInspectConfigRuleSet into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSet, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSet(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetSlice expands the contents of InspectTemplateInspectConfigRuleSet into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetSlice(c *Client, f []InspectTemplateInspectConfigRuleSet, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSet(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetMap flattens the contents of InspectTemplateInspectConfigRuleSet from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSet {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSet{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSet{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSet)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSet(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetSlice flattens the contents of InspectTemplateInspectConfigRuleSet from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSet {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSet{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSet{}
}
items := make([]InspectTemplateInspectConfigRuleSet, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSet(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSet expands an instance of InspectTemplateInspectConfigRuleSet into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSet(c *Client, f *InspectTemplateInspectConfigRuleSet, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigRuleSetInfoTypesSlice(c, f.InfoTypes, res); err != nil {
return nil, fmt.Errorf("error expanding InfoTypes into infoTypes: %w", err)
} else if v != nil {
m["infoTypes"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetRulesSlice(c, f.Rules, res); err != nil {
return nil, fmt.Errorf("error expanding Rules into rules: %w", err)
} else if v != nil {
m["rules"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSet flattens an instance of InspectTemplateInspectConfigRuleSet from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSet(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSet {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSet{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSet
}
r.InfoTypes = flattenInspectTemplateInspectConfigRuleSetInfoTypesSlice(c, m["infoTypes"], res)
r.Rules = flattenInspectTemplateInspectConfigRuleSetRulesSlice(c, m["rules"], res)
return r
}
// expandInspectTemplateInspectConfigRuleSetInfoTypesMap expands the contents of InspectTemplateInspectConfigRuleSetInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetInfoTypesMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetInfoTypesSlice expands the contents of InspectTemplateInspectConfigRuleSetInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetInfoTypesSlice(c *Client, f []InspectTemplateInspectConfigRuleSetInfoTypes, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetInfoTypesMap flattens the contents of InspectTemplateInspectConfigRuleSetInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetInfoTypesMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetInfoTypes {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetInfoTypes{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetInfoTypes{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetInfoTypes)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetInfoTypes(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetInfoTypesSlice flattens the contents of InspectTemplateInspectConfigRuleSetInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetInfoTypesSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetInfoTypes {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetInfoTypes{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetInfoTypes{}
}
items := make([]InspectTemplateInspectConfigRuleSetInfoTypes, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetInfoTypes(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetInfoTypes expands an instance of InspectTemplateInspectConfigRuleSetInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetInfoTypes(c *Client, f *InspectTemplateInspectConfigRuleSetInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
m["name"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetInfoTypes flattens an instance of InspectTemplateInspectConfigRuleSetInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetInfoTypes(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetInfoTypes {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetInfoTypes{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetInfoTypes
}
r.Name = dcl.FlattenString(m["name"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesMap expands the contents of InspectTemplateInspectConfigRuleSetRules into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRules, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRules(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesSlice expands the contents of InspectTemplateInspectConfigRuleSetRules into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRules, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRules(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesMap flattens the contents of InspectTemplateInspectConfigRuleSetRules from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRules {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRules{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRules{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRules)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRules(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesSlice flattens the contents of InspectTemplateInspectConfigRuleSetRules from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRules {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRules{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRules{}
}
items := make([]InspectTemplateInspectConfigRuleSetRules, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRules(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRules expands an instance of InspectTemplateInspectConfigRuleSetRules into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRules(c *Client, f *InspectTemplateInspectConfigRuleSetRules, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, f.HotwordRule, res); err != nil {
return nil, fmt.Errorf("error expanding HotwordRule into hotwordRule: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["hotwordRule"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, f.ExclusionRule, res); err != nil {
return nil, fmt.Errorf("error expanding ExclusionRule into exclusionRule: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["exclusionRule"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRules flattens an instance of InspectTemplateInspectConfigRuleSetRules from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRules(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRules {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRules{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRules
}
r.HotwordRule = flattenInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, m["hotwordRule"], res)
r.ExclusionRule = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, m["exclusionRule"], res)
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleMap expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRule into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRule, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRule into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesHotwordRule, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRule from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRule {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRule)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRule from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesHotwordRule {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRule, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRule(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRule expands an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRule into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRule(c *Client, f *InspectTemplateInspectConfigRuleSetRulesHotwordRule, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, f.HotwordRegex, res); err != nil {
return nil, fmt.Errorf("error expanding HotwordRegex into hotwordRegex: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["hotwordRegex"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, f.Proximity, res); err != nil {
return nil, fmt.Errorf("error expanding Proximity into proximity: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["proximity"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, f.LikelihoodAdjustment, res); err != nil {
return nil, fmt.Errorf("error expanding LikelihoodAdjustment into likelihoodAdjustment: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["likelihoodAdjustment"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRule flattens an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRule from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRule(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesHotwordRule {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRule
}
r.HotwordRegex = flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, m["hotwordRegex"], res)
r.Proximity = flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, m["proximity"], res)
r.LikelihoodAdjustment = flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, m["likelihoodAdjustment"], res)
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexMap expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex expands an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c *Client, f *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Pattern; !dcl.IsEmptyValueIndirect(v) {
m["pattern"] = v
}
if v := f.GroupIndexes; v != nil {
m["groupIndexes"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex flattens an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex
}
r.Pattern = dcl.FlattenString(m["pattern"])
r.GroupIndexes = dcl.FlattenIntSlice(m["groupIndexes"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityMap expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximitySlice expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximitySlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximitySlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximitySlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity expands an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c *Client, f *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.WindowBefore; !dcl.IsEmptyValueIndirect(v) {
m["windowBefore"] = v
}
if v := f.WindowAfter; !dcl.IsEmptyValueIndirect(v) {
m["windowAfter"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity flattens an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity
}
r.WindowBefore = dcl.FlattenInteger(m["windowBefore"])
r.WindowAfter = dcl.FlattenInteger(m["windowAfter"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentMap expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment expands an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c *Client, f *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.FixedLikelihood; !dcl.IsEmptyValueIndirect(v) {
m["fixedLikelihood"] = v
}
if v := f.RelativeLikelihood; !dcl.IsEmptyValueIndirect(v) {
m["relativeLikelihood"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment flattens an instance of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment
}
r.FixedLikelihood = flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum(m["fixedLikelihood"])
r.RelativeLikelihood = dcl.FlattenInteger(m["relativeLikelihood"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleMap expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRule into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRule, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRule into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesExclusionRule, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRule from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRule {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRule)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRule from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRule {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRule, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRule(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRule expands an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRule into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRule(c *Client, f *InspectTemplateInspectConfigRuleSetRulesExclusionRule, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, f.Dictionary, res); err != nil {
return nil, fmt.Errorf("error expanding Dictionary into dictionary: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["dictionary"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, f.Regex, res); err != nil {
return nil, fmt.Errorf("error expanding Regex into regex: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["regex"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, f.ExcludeInfoTypes, res); err != nil {
return nil, fmt.Errorf("error expanding ExcludeInfoTypes into excludeInfoTypes: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["excludeInfoTypes"] = v
}
if v := f.MatchingType; !dcl.IsEmptyValueIndirect(v) {
m["matchingType"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRule flattens an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRule from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRule(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesExclusionRule {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRule
}
r.Dictionary = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, m["dictionary"], res)
r.Regex = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, m["regex"], res)
r.ExcludeInfoTypes = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, m["excludeInfoTypes"], res)
r.MatchingType = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum(m["matchingType"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryMap expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionarySlice expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionarySlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionarySlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionarySlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary expands an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c *Client, f *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, f.WordList, res); err != nil {
return nil, fmt.Errorf("error expanding WordList into wordList: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["wordList"] = v
}
if v, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, f.CloudStoragePath, res); err != nil {
return nil, fmt.Errorf("error expanding CloudStoragePath into cloudStoragePath: %w", err)
} else if !dcl.IsEmptyValueIndirect(v) {
m["cloudStoragePath"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary flattens an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary
}
r.WordList = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, m["wordList"], res)
r.CloudStoragePath = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, m["cloudStoragePath"], res)
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListMap expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList expands an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c *Client, f *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Words; v != nil {
m["words"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList flattens an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList
}
r.Words = dcl.FlattenStringSlice(m["words"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathMap expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath expands an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c *Client, f *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Path; !dcl.IsEmptyValueIndirect(v) {
m["path"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath flattens an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath
}
r.Path = dcl.FlattenString(m["path"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexMap expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex expands an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c *Client, f *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Pattern; !dcl.IsEmptyValueIndirect(v) {
m["pattern"] = v
}
if v := f.GroupIndexes; v != nil {
m["groupIndexes"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex flattens an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex
}
r.Pattern = dcl.FlattenString(m["pattern"])
r.GroupIndexes = dcl.FlattenIntSlice(m["groupIndexes"])
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesMap expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes expands an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c *Client, f *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if dcl.IsEmptyValueIndirect(f) {
return nil, nil
}
m := make(map[string]interface{})
if v, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(c, f.InfoTypes, res); err != nil {
return nil, fmt.Errorf("error expanding InfoTypes into infoTypes: %w", err)
} else if v != nil {
m["infoTypes"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes flattens an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes
}
r.InfoTypes = flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(c, m["infoTypes"], res)
return r
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesMap expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesMap(c *Client, f map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := make(map[string]interface{})
for k, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
if i != nil {
items[k] = i
}
}
return items, nil
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice expands the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(c *Client, f []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, res *InspectTemplate) ([]map[string]interface{}, error) {
if f == nil {
return nil, nil
}
items := []map[string]interface{}{}
for _, item := range f {
i, err := expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(c, &item, res)
if err != nil {
return nil, err
}
items = append(items, i)
}
return items, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(c, item.(map[string]interface{}), res)
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(c, item.(map[string]interface{}), res))
}
return items
}
// expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes expands an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes into a JSON
// request object.
func expandInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(c *Client, f *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes, res *InspectTemplate) (map[string]interface{}, error) {
if f == nil {
return nil, nil
}
m := make(map[string]interface{})
if v := f.Name; !dcl.IsEmptyValueIndirect(v) {
m["name"] = v
}
return m, nil
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes flattens an instance of InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes(c *Client, i interface{}, res *InspectTemplate) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes {
m, ok := i.(map[string]interface{})
if !ok {
return nil
}
r := &InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes{}
if dcl.IsEmptyValueIndirect(i) {
return EmptyInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes
}
r.Name = dcl.FlattenString(m["name"])
return r
}
// flattenInspectTemplateInspectConfigMinLikelihoodEnumMap flattens the contents of InspectTemplateInspectConfigMinLikelihoodEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigMinLikelihoodEnumMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigMinLikelihoodEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigMinLikelihoodEnum{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigMinLikelihoodEnum{}
}
items := make(map[string]InspectTemplateInspectConfigMinLikelihoodEnum)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigMinLikelihoodEnum(item.(interface{}))
}
return items
}
// flattenInspectTemplateInspectConfigMinLikelihoodEnumSlice flattens the contents of InspectTemplateInspectConfigMinLikelihoodEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigMinLikelihoodEnumSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigMinLikelihoodEnum {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigMinLikelihoodEnum{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigMinLikelihoodEnum{}
}
items := make([]InspectTemplateInspectConfigMinLikelihoodEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigMinLikelihoodEnum(item.(interface{})))
}
return items
}
// flattenInspectTemplateInspectConfigMinLikelihoodEnum asserts that an interface is a string, and returns a
// pointer to a *InspectTemplateInspectConfigMinLikelihoodEnum with the same value as that string.
func flattenInspectTemplateInspectConfigMinLikelihoodEnum(i interface{}) *InspectTemplateInspectConfigMinLikelihoodEnum {
s, ok := i.(string)
if !ok {
return nil
}
return InspectTemplateInspectConfigMinLikelihoodEnumRef(s)
}
// flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnumMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnumMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum(item.(interface{}))
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnumSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnumSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum(item.(interface{})))
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum asserts that an interface is a string, and returns a
// pointer to a *InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum with the same value as that string.
func flattenInspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum(i interface{}) *InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnum {
s, ok := i.(string)
if !ok {
return nil
}
return InspectTemplateInspectConfigCustomInfoTypesLikelihoodEnumRef(s)
}
// flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnumMap flattens the contents of InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnumMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum{}
}
items := make(map[string]InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum(item.(interface{}))
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnumSlice flattens the contents of InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnumSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum{}
}
items := make([]InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum(item.(interface{})))
}
return items
}
// flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum asserts that an interface is a string, and returns a
// pointer to a *InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum with the same value as that string.
func flattenInspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum(i interface{}) *InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnum {
s, ok := i.(string)
if !ok {
return nil
}
return InspectTemplateInspectConfigCustomInfoTypesExclusionTypeEnumRef(s)
}
// flattenInspectTemplateInspectConfigContentOptionsEnumMap flattens the contents of InspectTemplateInspectConfigContentOptionsEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigContentOptionsEnumMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigContentOptionsEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigContentOptionsEnum{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigContentOptionsEnum{}
}
items := make(map[string]InspectTemplateInspectConfigContentOptionsEnum)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigContentOptionsEnum(item.(interface{}))
}
return items
}
// flattenInspectTemplateInspectConfigContentOptionsEnumSlice flattens the contents of InspectTemplateInspectConfigContentOptionsEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigContentOptionsEnumSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigContentOptionsEnum {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigContentOptionsEnum{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigContentOptionsEnum{}
}
items := make([]InspectTemplateInspectConfigContentOptionsEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigContentOptionsEnum(item.(interface{})))
}
return items
}
// flattenInspectTemplateInspectConfigContentOptionsEnum asserts that an interface is a string, and returns a
// pointer to a *InspectTemplateInspectConfigContentOptionsEnum with the same value as that string.
func flattenInspectTemplateInspectConfigContentOptionsEnum(i interface{}) *InspectTemplateInspectConfigContentOptionsEnum {
s, ok := i.(string)
if !ok {
return nil
}
return InspectTemplateInspectConfigContentOptionsEnumRef(s)
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnumMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnumMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum(item.(interface{}))
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnumSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnumSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum(item.(interface{})))
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum asserts that an interface is a string, and returns a
// pointer to a *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum with the same value as that string.
func flattenInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum(i interface{}) *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnum {
s, ok := i.(string)
if !ok {
return nil
}
return InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFixedLikelihoodEnumRef(s)
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnumMap flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnumMap(c *Client, i interface{}, res *InspectTemplate) map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum {
a, ok := i.(map[string]interface{})
if !ok {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum{}
}
if len(a) == 0 {
return map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum{}
}
items := make(map[string]InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum)
for k, item := range a {
items[k] = *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum(item.(interface{}))
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnumSlice flattens the contents of InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum from a JSON
// response object.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnumSlice(c *Client, i interface{}, res *InspectTemplate) []InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum {
a, ok := i.([]interface{})
if !ok {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum{}
}
if len(a) == 0 {
return []InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum{}
}
items := make([]InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum, 0, len(a))
for _, item := range a {
items = append(items, *flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum(item.(interface{})))
}
return items
}
// flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum asserts that an interface is a string, and returns a
// pointer to a *InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum with the same value as that string.
func flattenInspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum(i interface{}) *InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnum {
s, ok := i.(string)
if !ok {
return nil
}
return InspectTemplateInspectConfigRuleSetRulesExclusionRuleMatchingTypeEnumRef(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 *InspectTemplate) matcher(c *Client) func([]byte) bool {
return func(b []byte) bool {
cr, err := unmarshalInspectTemplate(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.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.Parent == nil && ncr.Parent == nil {
c.Config.Logger.Info("Both Parent fields null - considering equal.")
} else if nr.Parent == nil || ncr.Parent == nil {
c.Config.Logger.Info("Only one Parent field is null - considering unequal.")
return false
} else if *nr.Parent != *ncr.Parent {
return false
}
if nr.Name == nil && ncr.Name == nil {
c.Config.Logger.Info("Both Name fields null - considering equal.")
} else if nr.Name == nil || ncr.Name == nil {
c.Config.Logger.Info("Only one Name field is null - considering unequal.")
return false
} else if *nr.Name != *ncr.Name {
return false
}
return true
}
}
type inspectTemplateDiff struct {
// The diff should include one or the other of RequiresRecreate or UpdateOp.
RequiresRecreate bool
UpdateOp inspectTemplateApiOperation
FieldName string // used for error logging
}
func convertFieldDiffsToInspectTemplateDiffs(config *dcl.Config, fds []*dcl.FieldDiff, opts []dcl.ApplyOption) ([]inspectTemplateDiff, 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 []inspectTemplateDiff
// For each operation name, create a inspectTemplateDiff which contains the operation.
for opName, fieldDiffs := range opNamesToFieldDiffs {
// Use the first field diff's field name for logging required recreate error.
diff := inspectTemplateDiff{FieldName: fieldDiffs[0].FieldName}
if opName == "Recreate" {
diff.RequiresRecreate = true
} else {
apiOp, err := convertOpNameToInspectTemplateApiOperation(opName, fieldDiffs, opts...)
if err != nil {
return diffs, err
}
diff.UpdateOp = apiOp
}
diffs = append(diffs, diff)
}
return diffs, nil
}
func convertOpNameToInspectTemplateApiOperation(opName string, fieldDiffs []*dcl.FieldDiff, opts ...dcl.ApplyOption) (inspectTemplateApiOperation, error) {
switch opName {
case "updateInspectTemplateUpdateInspectTemplateOperation":
return &updateInspectTemplateUpdateInspectTemplateOperation{FieldDiffs: fieldDiffs}, nil
default:
return nil, fmt.Errorf("no such operation with name: %v", opName)
}
}
func extractInspectTemplateFields(r *InspectTemplate) error {
vInspectConfig := r.InspectConfig
if vInspectConfig == nil {
// note: explicitly not the empty object.
vInspectConfig = &InspectTemplateInspectConfig{}
}
if err := extractInspectTemplateInspectConfigFields(r, vInspectConfig); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vInspectConfig) {
r.InspectConfig = vInspectConfig
}
return nil
}
func extractInspectTemplateInspectConfigFields(r *InspectTemplate, o *InspectTemplateInspectConfig) error {
vLimits := o.Limits
if vLimits == nil {
// note: explicitly not the empty object.
vLimits = &InspectTemplateInspectConfigLimits{}
}
if err := extractInspectTemplateInspectConfigLimitsFields(r, vLimits); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vLimits) {
o.Limits = vLimits
}
return nil
}
func extractInspectTemplateInspectConfigInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigInfoTypes) error {
return nil
}
func extractInspectTemplateInspectConfigLimitsFields(r *InspectTemplate, o *InspectTemplateInspectConfigLimits) error {
return nil
}
func extractInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType) error {
vInfoType := o.InfoType
if vInfoType == nil {
// note: explicitly not the empty object.
vInfoType = &InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
}
if err := extractInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeFields(r, vInfoType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vInfoType) {
o.InfoType = vInfoType
}
return nil
}
func extractInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType) error {
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypes) error {
vInfoType := o.InfoType
if vInfoType == nil {
// note: explicitly not the empty object.
vInfoType = &InspectTemplateInspectConfigCustomInfoTypesInfoType{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesInfoTypeFields(r, vInfoType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vInfoType) {
o.InfoType = vInfoType
}
vDictionary := o.Dictionary
if vDictionary == nil {
// note: explicitly not the empty object.
vDictionary = &InspectTemplateInspectConfigCustomInfoTypesDictionary{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesDictionaryFields(r, vDictionary); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vDictionary) {
o.Dictionary = vDictionary
}
vRegex := o.Regex
if vRegex == nil {
// note: explicitly not the empty object.
vRegex = &InspectTemplateInspectConfigCustomInfoTypesRegex{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesRegexFields(r, vRegex); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vRegex) {
o.Regex = vRegex
}
vSurrogateType := o.SurrogateType
if vSurrogateType == nil {
// note: explicitly not the empty object.
vSurrogateType = &InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeFields(r, vSurrogateType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vSurrogateType) {
o.SurrogateType = vSurrogateType
}
vStoredType := o.StoredType
if vStoredType == nil {
// note: explicitly not the empty object.
vStoredType = &InspectTemplateInspectConfigCustomInfoTypesStoredType{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesStoredTypeFields(r, vStoredType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vStoredType) {
o.StoredType = vStoredType
}
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesInfoTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesInfoType) error {
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesDictionaryFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesDictionary) error {
vWordList := o.WordList
if vWordList == nil {
// note: explicitly not the empty object.
vWordList = &InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListFields(r, vWordList); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vWordList) {
o.WordList = vWordList
}
vCloudStoragePath := o.CloudStoragePath
if vCloudStoragePath == nil {
// note: explicitly not the empty object.
vCloudStoragePath = &InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathFields(r, vCloudStoragePath); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vCloudStoragePath) {
o.CloudStoragePath = vCloudStoragePath
}
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList) error {
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath) error {
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesRegexFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesRegex) error {
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesSurrogateType) error {
return nil
}
func extractInspectTemplateInspectConfigCustomInfoTypesStoredTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesStoredType) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSet) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetInfoTypes) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRules) error {
vHotwordRule := o.HotwordRule
if vHotwordRule == nil {
// note: explicitly not the empty object.
vHotwordRule = &InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleFields(r, vHotwordRule); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vHotwordRule) {
o.HotwordRule = vHotwordRule
}
vExclusionRule := o.ExclusionRule
if vExclusionRule == nil {
// note: explicitly not the empty object.
vExclusionRule = &InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleFields(r, vExclusionRule); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vExclusionRule) {
o.ExclusionRule = vExclusionRule
}
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRule) error {
vHotwordRegex := o.HotwordRegex
if vHotwordRegex == nil {
// note: explicitly not the empty object.
vHotwordRegex = &InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexFields(r, vHotwordRegex); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vHotwordRegex) {
o.HotwordRegex = vHotwordRegex
}
vProximity := o.Proximity
if vProximity == nil {
// note: explicitly not the empty object.
vProximity = &InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityFields(r, vProximity); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vProximity) {
o.Proximity = vProximity
}
vLikelihoodAdjustment := o.LikelihoodAdjustment
if vLikelihoodAdjustment == nil {
// note: explicitly not the empty object.
vLikelihoodAdjustment = &InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFields(r, vLikelihoodAdjustment); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vLikelihoodAdjustment) {
o.LikelihoodAdjustment = vLikelihoodAdjustment
}
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRule) error {
vDictionary := o.Dictionary
if vDictionary == nil {
// note: explicitly not the empty object.
vDictionary = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryFields(r, vDictionary); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vDictionary) {
o.Dictionary = vDictionary
}
vRegex := o.Regex
if vRegex == nil {
// note: explicitly not the empty object.
vRegex = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexFields(r, vRegex); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vRegex) {
o.Regex = vRegex
}
vExcludeInfoTypes := o.ExcludeInfoTypes
if vExcludeInfoTypes == nil {
// note: explicitly not the empty object.
vExcludeInfoTypes = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesFields(r, vExcludeInfoTypes); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vExcludeInfoTypes) {
o.ExcludeInfoTypes = vExcludeInfoTypes
}
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary) error {
vWordList := o.WordList
if vWordList == nil {
// note: explicitly not the empty object.
vWordList = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListFields(r, vWordList); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vWordList) {
o.WordList = vWordList
}
vCloudStoragePath := o.CloudStoragePath
if vCloudStoragePath == nil {
// note: explicitly not the empty object.
vCloudStoragePath = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathFields(r, vCloudStoragePath); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vCloudStoragePath) {
o.CloudStoragePath = vCloudStoragePath
}
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes) error {
return nil
}
func extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes) error {
return nil
}
func postReadExtractInspectTemplateFields(r *InspectTemplate) error {
vInspectConfig := r.InspectConfig
if vInspectConfig == nil {
// note: explicitly not the empty object.
vInspectConfig = &InspectTemplateInspectConfig{}
}
if err := postReadExtractInspectTemplateInspectConfigFields(r, vInspectConfig); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vInspectConfig) {
r.InspectConfig = vInspectConfig
}
return nil
}
func postReadExtractInspectTemplateInspectConfigFields(r *InspectTemplate, o *InspectTemplateInspectConfig) error {
vLimits := o.Limits
if vLimits == nil {
// note: explicitly not the empty object.
vLimits = &InspectTemplateInspectConfigLimits{}
}
if err := extractInspectTemplateInspectConfigLimitsFields(r, vLimits); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vLimits) {
o.Limits = vLimits
}
return nil
}
func postReadExtractInspectTemplateInspectConfigInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigInfoTypes) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigLimitsFields(r *InspectTemplate, o *InspectTemplateInspectConfigLimits) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoType) error {
vInfoType := o.InfoType
if vInfoType == nil {
// note: explicitly not the empty object.
vInfoType = &InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType{}
}
if err := extractInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeFields(r, vInfoType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vInfoType) {
o.InfoType = vInfoType
}
return nil
}
func postReadExtractInspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigLimitsMaxFindingsPerInfoTypeInfoType) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypes) error {
vInfoType := o.InfoType
if vInfoType == nil {
// note: explicitly not the empty object.
vInfoType = &InspectTemplateInspectConfigCustomInfoTypesInfoType{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesInfoTypeFields(r, vInfoType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vInfoType) {
o.InfoType = vInfoType
}
vDictionary := o.Dictionary
if vDictionary == nil {
// note: explicitly not the empty object.
vDictionary = &InspectTemplateInspectConfigCustomInfoTypesDictionary{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesDictionaryFields(r, vDictionary); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vDictionary) {
o.Dictionary = vDictionary
}
vRegex := o.Regex
if vRegex == nil {
// note: explicitly not the empty object.
vRegex = &InspectTemplateInspectConfigCustomInfoTypesRegex{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesRegexFields(r, vRegex); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vRegex) {
o.Regex = vRegex
}
vSurrogateType := o.SurrogateType
if vSurrogateType == nil {
// note: explicitly not the empty object.
vSurrogateType = &InspectTemplateInspectConfigCustomInfoTypesSurrogateType{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeFields(r, vSurrogateType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vSurrogateType) {
o.SurrogateType = vSurrogateType
}
vStoredType := o.StoredType
if vStoredType == nil {
// note: explicitly not the empty object.
vStoredType = &InspectTemplateInspectConfigCustomInfoTypesStoredType{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesStoredTypeFields(r, vStoredType); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vStoredType) {
o.StoredType = vStoredType
}
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesInfoTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesInfoType) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesDictionaryFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesDictionary) error {
vWordList := o.WordList
if vWordList == nil {
// note: explicitly not the empty object.
vWordList = &InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListFields(r, vWordList); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vWordList) {
o.WordList = vWordList
}
vCloudStoragePath := o.CloudStoragePath
if vCloudStoragePath == nil {
// note: explicitly not the empty object.
vCloudStoragePath = &InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath{}
}
if err := extractInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathFields(r, vCloudStoragePath); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vCloudStoragePath) {
o.CloudStoragePath = vCloudStoragePath
}
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesDictionaryWordListFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesDictionaryWordList) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePathFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesDictionaryCloudStoragePath) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesRegexFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesRegex) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesSurrogateTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesSurrogateType) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigCustomInfoTypesStoredTypeFields(r *InspectTemplate, o *InspectTemplateInspectConfigCustomInfoTypesStoredType) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSet) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetInfoTypes) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRules) error {
vHotwordRule := o.HotwordRule
if vHotwordRule == nil {
// note: explicitly not the empty object.
vHotwordRule = &InspectTemplateInspectConfigRuleSetRulesHotwordRule{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleFields(r, vHotwordRule); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vHotwordRule) {
o.HotwordRule = vHotwordRule
}
vExclusionRule := o.ExclusionRule
if vExclusionRule == nil {
// note: explicitly not the empty object.
vExclusionRule = &InspectTemplateInspectConfigRuleSetRulesExclusionRule{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleFields(r, vExclusionRule); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vExclusionRule) {
o.ExclusionRule = vExclusionRule
}
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesHotwordRuleFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRule) error {
vHotwordRegex := o.HotwordRegex
if vHotwordRegex == nil {
// note: explicitly not the empty object.
vHotwordRegex = &InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexFields(r, vHotwordRegex); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vHotwordRegex) {
o.HotwordRegex = vHotwordRegex
}
vProximity := o.Proximity
if vProximity == nil {
// note: explicitly not the empty object.
vProximity = &InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityFields(r, vProximity); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vProximity) {
o.Proximity = vProximity
}
vLikelihoodAdjustment := o.LikelihoodAdjustment
if vLikelihoodAdjustment == nil {
// note: explicitly not the empty object.
vLikelihoodAdjustment = &InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFields(r, vLikelihoodAdjustment); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vLikelihoodAdjustment) {
o.LikelihoodAdjustment = vLikelihoodAdjustment
}
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegexFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRuleHotwordRegex) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesHotwordRuleProximityFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRuleProximity) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustmentFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesHotwordRuleLikelihoodAdjustment) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesExclusionRuleFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRule) error {
vDictionary := o.Dictionary
if vDictionary == nil {
// note: explicitly not the empty object.
vDictionary = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryFields(r, vDictionary); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vDictionary) {
o.Dictionary = vDictionary
}
vRegex := o.Regex
if vRegex == nil {
// note: explicitly not the empty object.
vRegex = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexFields(r, vRegex); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vRegex) {
o.Regex = vRegex
}
vExcludeInfoTypes := o.ExcludeInfoTypes
if vExcludeInfoTypes == nil {
// note: explicitly not the empty object.
vExcludeInfoTypes = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesFields(r, vExcludeInfoTypes); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vExcludeInfoTypes) {
o.ExcludeInfoTypes = vExcludeInfoTypes
}
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionary) error {
vWordList := o.WordList
if vWordList == nil {
// note: explicitly not the empty object.
vWordList = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListFields(r, vWordList); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vWordList) {
o.WordList = vWordList
}
vCloudStoragePath := o.CloudStoragePath
if vCloudStoragePath == nil {
// note: explicitly not the empty object.
vCloudStoragePath = &InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath{}
}
if err := extractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathFields(r, vCloudStoragePath); err != nil {
return err
}
if !dcl.IsEmptyValueIndirect(vCloudStoragePath) {
o.CloudStoragePath = vCloudStoragePath
}
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordListFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryWordList) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePathFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleDictionaryCloudStoragePath) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesExclusionRuleRegexFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleRegex) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypes) error {
return nil
}
func postReadExtractInspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypesFields(r *InspectTemplate, o *InspectTemplateInspectConfigRuleSetRulesExclusionRuleExcludeInfoTypesInfoTypes) error {
return nil
}