argoproj_io_v1alpha1

package
v0.0.0-...-0cc6638 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2025 License: 0BSD Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewArgoprojIoAppProjectV1Alpha1Manifest

func NewArgoprojIoAppProjectV1Alpha1Manifest() datasource.DataSource

func NewArgoprojIoApplicationSetV1Alpha1Manifest

func NewArgoprojIoApplicationSetV1Alpha1Manifest() datasource.DataSource

func NewArgoprojIoApplicationV1Alpha1Manifest

func NewArgoprojIoApplicationV1Alpha1Manifest() datasource.DataSource

func NewArgoprojIoArgoCdV1Alpha1Manifest

func NewArgoprojIoArgoCdV1Alpha1Manifest() datasource.DataSource

func NewArgoprojIoArgoCdexportV1Alpha1Manifest

func NewArgoprojIoArgoCdexportV1Alpha1Manifest() datasource.DataSource

Types

type ArgoprojIoAppProjectV1Alpha1Manifest

type ArgoprojIoAppProjectV1Alpha1Manifest struct{}

func (*ArgoprojIoAppProjectV1Alpha1Manifest) Metadata

func (*ArgoprojIoAppProjectV1Alpha1Manifest) Read

func (*ArgoprojIoAppProjectV1Alpha1Manifest) Schema

type ArgoprojIoAppProjectV1Alpha1ManifestData

type ArgoprojIoAppProjectV1Alpha1ManifestData struct {
	YAML types.String `tfsdk:"yaml" json:"-"`

	ApiVersion *string `tfsdk:"-" json:"apiVersion"`
	Kind       *string `tfsdk:"-" json:"kind"`

	Metadata struct {
		Name        string            `tfsdk:"name" json:"name"`
		Namespace   string            `tfsdk:"namespace" json:"namespace"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		ClusterResourceBlacklist *[]struct {
			Group *string `tfsdk:"group" json:"group,omitempty"`
			Kind  *string `tfsdk:"kind" json:"kind,omitempty"`
		} `tfsdk:"cluster_resource_blacklist" json:"clusterResourceBlacklist,omitempty"`
		ClusterResourceWhitelist *[]struct {
			Group *string `tfsdk:"group" json:"group,omitempty"`
			Kind  *string `tfsdk:"kind" json:"kind,omitempty"`
		} `tfsdk:"cluster_resource_whitelist" json:"clusterResourceWhitelist,omitempty"`
		Description  *string `tfsdk:"description" json:"description,omitempty"`
		Destinations *[]struct {
			Name      *string `tfsdk:"name" json:"name,omitempty"`
			Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			Server    *string `tfsdk:"server" json:"server,omitempty"`
		} `tfsdk:"destinations" json:"destinations,omitempty"`
		NamespaceResourceBlacklist *[]struct {
			Group *string `tfsdk:"group" json:"group,omitempty"`
			Kind  *string `tfsdk:"kind" json:"kind,omitempty"`
		} `tfsdk:"namespace_resource_blacklist" json:"namespaceResourceBlacklist,omitempty"`
		NamespaceResourceWhitelist *[]struct {
			Group *string `tfsdk:"group" json:"group,omitempty"`
			Kind  *string `tfsdk:"kind" json:"kind,omitempty"`
		} `tfsdk:"namespace_resource_whitelist" json:"namespaceResourceWhitelist,omitempty"`
		OrphanedResources *struct {
			Ignore *[]struct {
				Group *string `tfsdk:"group" json:"group,omitempty"`
				Kind  *string `tfsdk:"kind" json:"kind,omitempty"`
				Name  *string `tfsdk:"name" json:"name,omitempty"`
			} `tfsdk:"ignore" json:"ignore,omitempty"`
			Warn *bool `tfsdk:"warn" json:"warn,omitempty"`
		} `tfsdk:"orphaned_resources" json:"orphanedResources,omitempty"`
		PermitOnlyProjectScopedClusters *bool `tfsdk:"permit_only_project_scoped_clusters" json:"permitOnlyProjectScopedClusters,omitempty"`
		Roles                           *[]struct {
			Description *string   `tfsdk:"description" json:"description,omitempty"`
			Groups      *[]string `tfsdk:"groups" json:"groups,omitempty"`
			JwtTokens   *[]struct {
				Exp *int64  `tfsdk:"exp" json:"exp,omitempty"`
				Iat *int64  `tfsdk:"iat" json:"iat,omitempty"`
				Id  *string `tfsdk:"id" json:"id,omitempty"`
			} `tfsdk:"jwt_tokens" json:"jwtTokens,omitempty"`
			Name     *string   `tfsdk:"name" json:"name,omitempty"`
			Policies *[]string `tfsdk:"policies" json:"policies,omitempty"`
		} `tfsdk:"roles" json:"roles,omitempty"`
		SignatureKeys *[]struct {
			KeyID *string `tfsdk:"key_id" json:"keyID,omitempty"`
		} `tfsdk:"signature_keys" json:"signatureKeys,omitempty"`
		SourceNamespaces *[]string `tfsdk:"source_namespaces" json:"sourceNamespaces,omitempty"`
		SourceRepos      *[]string `tfsdk:"source_repos" json:"sourceRepos,omitempty"`
		SyncWindows      *[]struct {
			Applications *[]string `tfsdk:"applications" json:"applications,omitempty"`
			Clusters     *[]string `tfsdk:"clusters" json:"clusters,omitempty"`
			Duration     *string   `tfsdk:"duration" json:"duration,omitempty"`
			Kind         *string   `tfsdk:"kind" json:"kind,omitempty"`
			ManualSync   *bool     `tfsdk:"manual_sync" json:"manualSync,omitempty"`
			Namespaces   *[]string `tfsdk:"namespaces" json:"namespaces,omitempty"`
			Schedule     *string   `tfsdk:"schedule" json:"schedule,omitempty"`
			TimeZone     *string   `tfsdk:"time_zone" json:"timeZone,omitempty"`
		} `tfsdk:"sync_windows" json:"syncWindows,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type ArgoprojIoApplicationSetV1Alpha1Manifest

type ArgoprojIoApplicationSetV1Alpha1Manifest struct{}

func (*ArgoprojIoApplicationSetV1Alpha1Manifest) Metadata

func (*ArgoprojIoApplicationSetV1Alpha1Manifest) Read

func (*ArgoprojIoApplicationSetV1Alpha1Manifest) Schema

type ArgoprojIoApplicationSetV1Alpha1ManifestData

type ArgoprojIoApplicationSetV1Alpha1ManifestData struct {
	YAML types.String `tfsdk:"yaml" json:"-"`

	ApiVersion *string `tfsdk:"-" json:"apiVersion"`
	Kind       *string `tfsdk:"-" json:"kind"`

	Metadata struct {
		Name        string            `tfsdk:"name" json:"name"`
		Namespace   string            `tfsdk:"namespace" json:"namespace"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		ApplyNestedSelectors *bool `tfsdk:"apply_nested_selectors" json:"applyNestedSelectors,omitempty"`
		Generators           *[]struct {
			ClusterDecisionResource *struct {
				ConfigMapRef  *string `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
				LabelSelector *struct {
					MatchExpressions *[]struct {
						Key      *string   `tfsdk:"key" json:"key,omitempty"`
						Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
						Values   *[]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
					MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
				} `tfsdk:"label_selector" json:"labelSelector,omitempty"`
				Name                *string `tfsdk:"name" json:"name,omitempty"`
				RequeueAfterSeconds *int64  `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
				Template            *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
				Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
			} `tfsdk:"cluster_decision_resource" json:"clusterDecisionResource,omitempty"`
			Clusters *struct {
				Selector *struct {
					MatchExpressions *[]struct {
						Key      *string   `tfsdk:"key" json:"key,omitempty"`
						Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
						Values   *[]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
					MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
				} `tfsdk:"selector" json:"selector,omitempty"`
				Template *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
				Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
			} `tfsdk:"clusters" json:"clusters,omitempty"`
			Git *struct {
				Directories *[]struct {
					Exclude *bool   `tfsdk:"exclude" json:"exclude,omitempty"`
					Path    *string `tfsdk:"path" json:"path,omitempty"`
				} `tfsdk:"directories" json:"directories,omitempty"`
				Files *[]struct {
					Path *string `tfsdk:"path" json:"path,omitempty"`
				} `tfsdk:"files" json:"files,omitempty"`
				PathParamPrefix     *string `tfsdk:"path_param_prefix" json:"pathParamPrefix,omitempty"`
				RepoURL             *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
				RequeueAfterSeconds *int64  `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
				Revision            *string `tfsdk:"revision" json:"revision,omitempty"`
				Template            *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
				Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
			} `tfsdk:"git" json:"git,omitempty"`
			List *struct {
				Elements     *[]string `tfsdk:"elements" json:"elements,omitempty"`
				ElementsYaml *string   `tfsdk:"elements_yaml" json:"elementsYaml,omitempty"`
				Template     *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
			} `tfsdk:"list" json:"list,omitempty"`
			Matrix *struct {
				Generators *[]struct {
					ClusterDecisionResource *struct {
						ConfigMapRef  *string `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
						LabelSelector *struct {
							MatchExpressions *[]struct {
								Key      *string   `tfsdk:"key" json:"key,omitempty"`
								Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
								Values   *[]string `tfsdk:"values" json:"values,omitempty"`
							} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
							MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
						} `tfsdk:"label_selector" json:"labelSelector,omitempty"`
						Name                *string `tfsdk:"name" json:"name,omitempty"`
						RequeueAfterSeconds *int64  `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"cluster_decision_resource" json:"clusterDecisionResource,omitempty"`
					Clusters *struct {
						Selector *struct {
							MatchExpressions *[]struct {
								Key      *string   `tfsdk:"key" json:"key,omitempty"`
								Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
								Values   *[]string `tfsdk:"values" json:"values,omitempty"`
							} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
							MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
						} `tfsdk:"selector" json:"selector,omitempty"`
						Template *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"clusters" json:"clusters,omitempty"`
					Git *struct {
						Directories *[]struct {
							Exclude *bool   `tfsdk:"exclude" json:"exclude,omitempty"`
							Path    *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"directories" json:"directories,omitempty"`
						Files *[]struct {
							Path *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"files" json:"files,omitempty"`
						PathParamPrefix     *string `tfsdk:"path_param_prefix" json:"pathParamPrefix,omitempty"`
						RepoURL             *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
						RequeueAfterSeconds *int64  `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Revision            *string `tfsdk:"revision" json:"revision,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"git" json:"git,omitempty"`
					List *struct {
						Elements     *[]string `tfsdk:"elements" json:"elements,omitempty"`
						ElementsYaml *string   `tfsdk:"elements_yaml" json:"elementsYaml,omitempty"`
						Template     *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
					} `tfsdk:"list" json:"list,omitempty"`
					Matrix *map[string]string `tfsdk:"matrix" json:"matrix,omitempty"`
					Merge  *map[string]string `tfsdk:"merge" json:"merge,omitempty"`
					Plugin *struct {
						ConfigMapRef *struct {
							Name *string `tfsdk:"name" json:"name,omitempty"`
						} `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
						Input *struct {
							Parameters *map[string]string `tfsdk:"parameters" json:"parameters,omitempty"`
						} `tfsdk:"input" json:"input,omitempty"`
						RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"plugin" json:"plugin,omitempty"`
					PullRequest *struct {
						Azuredevops *struct {
							Api          *string   `tfsdk:"api" json:"api,omitempty"`
							Labels       *[]string `tfsdk:"labels" json:"labels,omitempty"`
							Organization *string   `tfsdk:"organization" json:"organization,omitempty"`
							Project      *string   `tfsdk:"project" json:"project,omitempty"`
							Repo         *string   `tfsdk:"repo" json:"repo,omitempty"`
							TokenRef     *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"azuredevops" json:"azuredevops,omitempty"`
						Bitbucket *struct {
							Api       *string `tfsdk:"api" json:"api,omitempty"`
							BasicAuth *struct {
								PasswordRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
								Username *string `tfsdk:"username" json:"username,omitempty"`
							} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
							BearerToken *struct {
								TokenRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
							} `tfsdk:"bearer_token" json:"bearerToken,omitempty"`
							Owner *string `tfsdk:"owner" json:"owner,omitempty"`
							Repo  *string `tfsdk:"repo" json:"repo,omitempty"`
						} `tfsdk:"bitbucket" json:"bitbucket,omitempty"`
						BitbucketServer *struct {
							Api       *string `tfsdk:"api" json:"api,omitempty"`
							BasicAuth *struct {
								PasswordRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
								Username *string `tfsdk:"username" json:"username,omitempty"`
							} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
							Project *string `tfsdk:"project" json:"project,omitempty"`
							Repo    *string `tfsdk:"repo" json:"repo,omitempty"`
						} `tfsdk:"bitbucket_server" json:"bitbucketServer,omitempty"`
						Filters *[]struct {
							BranchMatch       *string `tfsdk:"branch_match" json:"branchMatch,omitempty"`
							TargetBranchMatch *string `tfsdk:"target_branch_match" json:"targetBranchMatch,omitempty"`
						} `tfsdk:"filters" json:"filters,omitempty"`
						Gitea *struct {
							Api      *string `tfsdk:"api" json:"api,omitempty"`
							Insecure *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
							Owner    *string `tfsdk:"owner" json:"owner,omitempty"`
							Repo     *string `tfsdk:"repo" json:"repo,omitempty"`
							TokenRef *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"gitea" json:"gitea,omitempty"`
						Github *struct {
							Api           *string   `tfsdk:"api" json:"api,omitempty"`
							AppSecretName *string   `tfsdk:"app_secret_name" json:"appSecretName,omitempty"`
							Labels        *[]string `tfsdk:"labels" json:"labels,omitempty"`
							Owner         *string   `tfsdk:"owner" json:"owner,omitempty"`
							Repo          *string   `tfsdk:"repo" json:"repo,omitempty"`
							TokenRef      *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"github" json:"github,omitempty"`
						Gitlab *struct {
							Api              *string   `tfsdk:"api" json:"api,omitempty"`
							Insecure         *bool     `tfsdk:"insecure" json:"insecure,omitempty"`
							Labels           *[]string `tfsdk:"labels" json:"labels,omitempty"`
							Project          *string   `tfsdk:"project" json:"project,omitempty"`
							PullRequestState *string   `tfsdk:"pull_request_state" json:"pullRequestState,omitempty"`
							TokenRef         *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"gitlab" json:"gitlab,omitempty"`
						RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
					} `tfsdk:"pull_request" json:"pullRequest,omitempty"`
					ScmProvider *struct {
						AwsCodeCommit *struct {
							AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Region      *string `tfsdk:"region" json:"region,omitempty"`
							Role        *string `tfsdk:"role" json:"role,omitempty"`
							TagFilters  *[]struct {
								Key   *string `tfsdk:"key" json:"key,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"tag_filters" json:"tagFilters,omitempty"`
						} `tfsdk:"aws_code_commit" json:"awsCodeCommit,omitempty"`
						AzureDevOps *struct {
							AccessTokenRef *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"access_token_ref" json:"accessTokenRef,omitempty"`
							AllBranches  *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api          *string `tfsdk:"api" json:"api,omitempty"`
							Organization *string `tfsdk:"organization" json:"organization,omitempty"`
							TeamProject  *string `tfsdk:"team_project" json:"teamProject,omitempty"`
						} `tfsdk:"azure_dev_ops" json:"azureDevOps,omitempty"`
						Bitbucket *struct {
							AllBranches    *bool `tfsdk:"all_branches" json:"allBranches,omitempty"`
							AppPasswordRef *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"app_password_ref" json:"appPasswordRef,omitempty"`
							Owner *string `tfsdk:"owner" json:"owner,omitempty"`
							User  *string `tfsdk:"user" json:"user,omitempty"`
						} `tfsdk:"bitbucket" json:"bitbucket,omitempty"`
						BitbucketServer *struct {
							AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api         *string `tfsdk:"api" json:"api,omitempty"`
							BasicAuth   *struct {
								PasswordRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
								Username *string `tfsdk:"username" json:"username,omitempty"`
							} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
							Project *string `tfsdk:"project" json:"project,omitempty"`
						} `tfsdk:"bitbucket_server" json:"bitbucketServer,omitempty"`
						CloneProtocol *string `tfsdk:"clone_protocol" json:"cloneProtocol,omitempty"`
						Filters       *[]struct {
							BranchMatch     *string   `tfsdk:"branch_match" json:"branchMatch,omitempty"`
							LabelMatch      *string   `tfsdk:"label_match" json:"labelMatch,omitempty"`
							PathsDoNotExist *[]string `tfsdk:"paths_do_not_exist" json:"pathsDoNotExist,omitempty"`
							PathsExist      *[]string `tfsdk:"paths_exist" json:"pathsExist,omitempty"`
							RepositoryMatch *string   `tfsdk:"repository_match" json:"repositoryMatch,omitempty"`
						} `tfsdk:"filters" json:"filters,omitempty"`
						Gitea *struct {
							AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api         *string `tfsdk:"api" json:"api,omitempty"`
							Insecure    *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
							Owner       *string `tfsdk:"owner" json:"owner,omitempty"`
							TokenRef    *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"gitea" json:"gitea,omitempty"`
						Github *struct {
							AllBranches   *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api           *string `tfsdk:"api" json:"api,omitempty"`
							AppSecretName *string `tfsdk:"app_secret_name" json:"appSecretName,omitempty"`
							Organization  *string `tfsdk:"organization" json:"organization,omitempty"`
							TokenRef      *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"github" json:"github,omitempty"`
						Gitlab *struct {
							AllBranches           *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api                   *string `tfsdk:"api" json:"api,omitempty"`
							Group                 *string `tfsdk:"group" json:"group,omitempty"`
							IncludeSharedProjects *bool   `tfsdk:"include_shared_projects" json:"includeSharedProjects,omitempty"`
							IncludeSubgroups      *bool   `tfsdk:"include_subgroups" json:"includeSubgroups,omitempty"`
							Insecure              *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
							TokenRef              *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
							Topic *string `tfsdk:"topic" json:"topic,omitempty"`
						} `tfsdk:"gitlab" json:"gitlab,omitempty"`
						RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"scm_provider" json:"scmProvider,omitempty"`
					Selector *struct {
						MatchExpressions *[]struct {
							Key      *string   `tfsdk:"key" json:"key,omitempty"`
							Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
							Values   *[]string `tfsdk:"values" json:"values,omitempty"`
						} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
						MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
					} `tfsdk:"selector" json:"selector,omitempty"`
				} `tfsdk:"generators" json:"generators,omitempty"`
				Template *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
			} `tfsdk:"matrix" json:"matrix,omitempty"`
			Merge *struct {
				Generators *[]struct {
					ClusterDecisionResource *struct {
						ConfigMapRef  *string `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
						LabelSelector *struct {
							MatchExpressions *[]struct {
								Key      *string   `tfsdk:"key" json:"key,omitempty"`
								Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
								Values   *[]string `tfsdk:"values" json:"values,omitempty"`
							} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
							MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
						} `tfsdk:"label_selector" json:"labelSelector,omitempty"`
						Name                *string `tfsdk:"name" json:"name,omitempty"`
						RequeueAfterSeconds *int64  `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"cluster_decision_resource" json:"clusterDecisionResource,omitempty"`
					Clusters *struct {
						Selector *struct {
							MatchExpressions *[]struct {
								Key      *string   `tfsdk:"key" json:"key,omitempty"`
								Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
								Values   *[]string `tfsdk:"values" json:"values,omitempty"`
							} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
							MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
						} `tfsdk:"selector" json:"selector,omitempty"`
						Template *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"clusters" json:"clusters,omitempty"`
					Git *struct {
						Directories *[]struct {
							Exclude *bool   `tfsdk:"exclude" json:"exclude,omitempty"`
							Path    *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"directories" json:"directories,omitempty"`
						Files *[]struct {
							Path *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"files" json:"files,omitempty"`
						PathParamPrefix     *string `tfsdk:"path_param_prefix" json:"pathParamPrefix,omitempty"`
						RepoURL             *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
						RequeueAfterSeconds *int64  `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Revision            *string `tfsdk:"revision" json:"revision,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"git" json:"git,omitempty"`
					List *struct {
						Elements     *[]string `tfsdk:"elements" json:"elements,omitempty"`
						ElementsYaml *string   `tfsdk:"elements_yaml" json:"elementsYaml,omitempty"`
						Template     *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
					} `tfsdk:"list" json:"list,omitempty"`
					Matrix *map[string]string `tfsdk:"matrix" json:"matrix,omitempty"`
					Merge  *map[string]string `tfsdk:"merge" json:"merge,omitempty"`
					Plugin *struct {
						ConfigMapRef *struct {
							Name *string `tfsdk:"name" json:"name,omitempty"`
						} `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
						Input *struct {
							Parameters *map[string]string `tfsdk:"parameters" json:"parameters,omitempty"`
						} `tfsdk:"input" json:"input,omitempty"`
						RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"plugin" json:"plugin,omitempty"`
					PullRequest *struct {
						Azuredevops *struct {
							Api          *string   `tfsdk:"api" json:"api,omitempty"`
							Labels       *[]string `tfsdk:"labels" json:"labels,omitempty"`
							Organization *string   `tfsdk:"organization" json:"organization,omitempty"`
							Project      *string   `tfsdk:"project" json:"project,omitempty"`
							Repo         *string   `tfsdk:"repo" json:"repo,omitempty"`
							TokenRef     *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"azuredevops" json:"azuredevops,omitempty"`
						Bitbucket *struct {
							Api       *string `tfsdk:"api" json:"api,omitempty"`
							BasicAuth *struct {
								PasswordRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
								Username *string `tfsdk:"username" json:"username,omitempty"`
							} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
							BearerToken *struct {
								TokenRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
							} `tfsdk:"bearer_token" json:"bearerToken,omitempty"`
							Owner *string `tfsdk:"owner" json:"owner,omitempty"`
							Repo  *string `tfsdk:"repo" json:"repo,omitempty"`
						} `tfsdk:"bitbucket" json:"bitbucket,omitempty"`
						BitbucketServer *struct {
							Api       *string `tfsdk:"api" json:"api,omitempty"`
							BasicAuth *struct {
								PasswordRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
								Username *string `tfsdk:"username" json:"username,omitempty"`
							} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
							Project *string `tfsdk:"project" json:"project,omitempty"`
							Repo    *string `tfsdk:"repo" json:"repo,omitempty"`
						} `tfsdk:"bitbucket_server" json:"bitbucketServer,omitempty"`
						Filters *[]struct {
							BranchMatch       *string `tfsdk:"branch_match" json:"branchMatch,omitempty"`
							TargetBranchMatch *string `tfsdk:"target_branch_match" json:"targetBranchMatch,omitempty"`
						} `tfsdk:"filters" json:"filters,omitempty"`
						Gitea *struct {
							Api      *string `tfsdk:"api" json:"api,omitempty"`
							Insecure *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
							Owner    *string `tfsdk:"owner" json:"owner,omitempty"`
							Repo     *string `tfsdk:"repo" json:"repo,omitempty"`
							TokenRef *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"gitea" json:"gitea,omitempty"`
						Github *struct {
							Api           *string   `tfsdk:"api" json:"api,omitempty"`
							AppSecretName *string   `tfsdk:"app_secret_name" json:"appSecretName,omitempty"`
							Labels        *[]string `tfsdk:"labels" json:"labels,omitempty"`
							Owner         *string   `tfsdk:"owner" json:"owner,omitempty"`
							Repo          *string   `tfsdk:"repo" json:"repo,omitempty"`
							TokenRef      *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"github" json:"github,omitempty"`
						Gitlab *struct {
							Api              *string   `tfsdk:"api" json:"api,omitempty"`
							Insecure         *bool     `tfsdk:"insecure" json:"insecure,omitempty"`
							Labels           *[]string `tfsdk:"labels" json:"labels,omitempty"`
							Project          *string   `tfsdk:"project" json:"project,omitempty"`
							PullRequestState *string   `tfsdk:"pull_request_state" json:"pullRequestState,omitempty"`
							TokenRef         *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"gitlab" json:"gitlab,omitempty"`
						RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
					} `tfsdk:"pull_request" json:"pullRequest,omitempty"`
					ScmProvider *struct {
						AwsCodeCommit *struct {
							AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Region      *string `tfsdk:"region" json:"region,omitempty"`
							Role        *string `tfsdk:"role" json:"role,omitempty"`
							TagFilters  *[]struct {
								Key   *string `tfsdk:"key" json:"key,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"tag_filters" json:"tagFilters,omitempty"`
						} `tfsdk:"aws_code_commit" json:"awsCodeCommit,omitempty"`
						AzureDevOps *struct {
							AccessTokenRef *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"access_token_ref" json:"accessTokenRef,omitempty"`
							AllBranches  *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api          *string `tfsdk:"api" json:"api,omitempty"`
							Organization *string `tfsdk:"organization" json:"organization,omitempty"`
							TeamProject  *string `tfsdk:"team_project" json:"teamProject,omitempty"`
						} `tfsdk:"azure_dev_ops" json:"azureDevOps,omitempty"`
						Bitbucket *struct {
							AllBranches    *bool `tfsdk:"all_branches" json:"allBranches,omitempty"`
							AppPasswordRef *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"app_password_ref" json:"appPasswordRef,omitempty"`
							Owner *string `tfsdk:"owner" json:"owner,omitempty"`
							User  *string `tfsdk:"user" json:"user,omitempty"`
						} `tfsdk:"bitbucket" json:"bitbucket,omitempty"`
						BitbucketServer *struct {
							AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api         *string `tfsdk:"api" json:"api,omitempty"`
							BasicAuth   *struct {
								PasswordRef *struct {
									Key        *string `tfsdk:"key" json:"key,omitempty"`
									SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
								} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
								Username *string `tfsdk:"username" json:"username,omitempty"`
							} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
							Project *string `tfsdk:"project" json:"project,omitempty"`
						} `tfsdk:"bitbucket_server" json:"bitbucketServer,omitempty"`
						CloneProtocol *string `tfsdk:"clone_protocol" json:"cloneProtocol,omitempty"`
						Filters       *[]struct {
							BranchMatch     *string   `tfsdk:"branch_match" json:"branchMatch,omitempty"`
							LabelMatch      *string   `tfsdk:"label_match" json:"labelMatch,omitempty"`
							PathsDoNotExist *[]string `tfsdk:"paths_do_not_exist" json:"pathsDoNotExist,omitempty"`
							PathsExist      *[]string `tfsdk:"paths_exist" json:"pathsExist,omitempty"`
							RepositoryMatch *string   `tfsdk:"repository_match" json:"repositoryMatch,omitempty"`
						} `tfsdk:"filters" json:"filters,omitempty"`
						Gitea *struct {
							AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api         *string `tfsdk:"api" json:"api,omitempty"`
							Insecure    *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
							Owner       *string `tfsdk:"owner" json:"owner,omitempty"`
							TokenRef    *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"gitea" json:"gitea,omitempty"`
						Github *struct {
							AllBranches   *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api           *string `tfsdk:"api" json:"api,omitempty"`
							AppSecretName *string `tfsdk:"app_secret_name" json:"appSecretName,omitempty"`
							Organization  *string `tfsdk:"organization" json:"organization,omitempty"`
							TokenRef      *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
						} `tfsdk:"github" json:"github,omitempty"`
						Gitlab *struct {
							AllBranches           *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
							Api                   *string `tfsdk:"api" json:"api,omitempty"`
							Group                 *string `tfsdk:"group" json:"group,omitempty"`
							IncludeSharedProjects *bool   `tfsdk:"include_shared_projects" json:"includeSharedProjects,omitempty"`
							IncludeSubgroups      *bool   `tfsdk:"include_subgroups" json:"includeSubgroups,omitempty"`
							Insecure              *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
							TokenRef              *struct {
								Key        *string `tfsdk:"key" json:"key,omitempty"`
								SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
							} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
							Topic *string `tfsdk:"topic" json:"topic,omitempty"`
						} `tfsdk:"gitlab" json:"gitlab,omitempty"`
						RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
						Template            *struct {
							Metadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
								Name        *string            `tfsdk:"name" json:"name,omitempty"`
								Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"metadata" json:"metadata,omitempty"`
							Spec *struct {
								Destination *struct {
									Name      *string `tfsdk:"name" json:"name,omitempty"`
									Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
									Server    *string `tfsdk:"server" json:"server,omitempty"`
								} `tfsdk:"destination" json:"destination,omitempty"`
								IgnoreDifferences *[]struct {
									Group                 *string   `tfsdk:"group" json:"group,omitempty"`
									JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
									JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
									Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
									ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
									Name                  *string   `tfsdk:"name" json:"name,omitempty"`
									Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
								} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
								Info *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"info" json:"info,omitempty"`
								Project              *string `tfsdk:"project" json:"project,omitempty"`
								RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
								Source               *struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"source" json:"source,omitempty"`
								Sources *[]struct {
									Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
									Directory *struct {
										Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
										Include *string `tfsdk:"include" json:"include,omitempty"`
										Jsonnet *struct {
											ExtVars *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"ext_vars" json:"extVars,omitempty"`
											Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
											Tlas *[]struct {
												Code  *bool   `tfsdk:"code" json:"code,omitempty"`
												Name  *string `tfsdk:"name" json:"name,omitempty"`
												Value *string `tfsdk:"value" json:"value,omitempty"`
											} `tfsdk:"tlas" json:"tlas,omitempty"`
										} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
										Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
									} `tfsdk:"directory" json:"directory,omitempty"`
									Helm *struct {
										FileParameters *[]struct {
											Name *string `tfsdk:"name" json:"name,omitempty"`
											Path *string `tfsdk:"path" json:"path,omitempty"`
										} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
										IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
										Parameters              *[]struct {
											ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
											Name        *string `tfsdk:"name" json:"name,omitempty"`
											Value       *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
										PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
										ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
										SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
										ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
										Values          *string            `tfsdk:"values" json:"values,omitempty"`
										ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
										Version         *string            `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"helm" json:"helm,omitempty"`
									Kustomize *struct {
										CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
										CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
										CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
										Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
										ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
										ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
										Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
										LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
										NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
										NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
										Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
										Patches                   *[]struct {
											Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
											Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
											Path    *string            `tfsdk:"path" json:"path,omitempty"`
											Target  *struct {
												AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
												Group              *string `tfsdk:"group" json:"group,omitempty"`
												Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
												LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
												Name               *string `tfsdk:"name" json:"name,omitempty"`
												Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
												Version            *string `tfsdk:"version" json:"version,omitempty"`
											} `tfsdk:"target" json:"target,omitempty"`
										} `tfsdk:"patches" json:"patches,omitempty"`
										Replicas *[]struct {
											Count *string `tfsdk:"count" json:"count,omitempty"`
											Name  *string `tfsdk:"name" json:"name,omitempty"`
										} `tfsdk:"replicas" json:"replicas,omitempty"`
										Version *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"kustomize" json:"kustomize,omitempty"`
									Path   *string `tfsdk:"path" json:"path,omitempty"`
									Plugin *struct {
										Env *[]struct {
											Name  *string `tfsdk:"name" json:"name,omitempty"`
											Value *string `tfsdk:"value" json:"value,omitempty"`
										} `tfsdk:"env" json:"env,omitempty"`
										Name       *string `tfsdk:"name" json:"name,omitempty"`
										Parameters *[]struct {
											Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
											Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
											Name   *string            `tfsdk:"name" json:"name,omitempty"`
											String *string            `tfsdk:"string" json:"string,omitempty"`
										} `tfsdk:"parameters" json:"parameters,omitempty"`
									} `tfsdk:"plugin" json:"plugin,omitempty"`
									Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
									RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
									TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
								} `tfsdk:"sources" json:"sources,omitempty"`
								SyncPolicy *struct {
									Automated *struct {
										AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
										Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
										SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
									} `tfsdk:"automated" json:"automated,omitempty"`
									ManagedNamespaceMetadata *struct {
										Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
										Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
									} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
									Retry *struct {
										Backoff *struct {
											Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
											Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
											MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
										} `tfsdk:"backoff" json:"backoff,omitempty"`
										Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
									} `tfsdk:"retry" json:"retry,omitempty"`
									SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
								} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
							} `tfsdk:"spec" json:"spec,omitempty"`
						} `tfsdk:"template" json:"template,omitempty"`
						Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"scm_provider" json:"scmProvider,omitempty"`
					Selector *struct {
						MatchExpressions *[]struct {
							Key      *string   `tfsdk:"key" json:"key,omitempty"`
							Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
							Values   *[]string `tfsdk:"values" json:"values,omitempty"`
						} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
						MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
					} `tfsdk:"selector" json:"selector,omitempty"`
				} `tfsdk:"generators" json:"generators,omitempty"`
				MergeKeys *[]string `tfsdk:"merge_keys" json:"mergeKeys,omitempty"`
				Template  *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
			} `tfsdk:"merge" json:"merge,omitempty"`
			Plugin *struct {
				ConfigMapRef *struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
				Input *struct {
					Parameters *map[string]string `tfsdk:"parameters" json:"parameters,omitempty"`
				} `tfsdk:"input" json:"input,omitempty"`
				RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
				Template            *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
				Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
			} `tfsdk:"plugin" json:"plugin,omitempty"`
			PullRequest *struct {
				Azuredevops *struct {
					Api          *string   `tfsdk:"api" json:"api,omitempty"`
					Labels       *[]string `tfsdk:"labels" json:"labels,omitempty"`
					Organization *string   `tfsdk:"organization" json:"organization,omitempty"`
					Project      *string   `tfsdk:"project" json:"project,omitempty"`
					Repo         *string   `tfsdk:"repo" json:"repo,omitempty"`
					TokenRef     *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
				} `tfsdk:"azuredevops" json:"azuredevops,omitempty"`
				Bitbucket *struct {
					Api       *string `tfsdk:"api" json:"api,omitempty"`
					BasicAuth *struct {
						PasswordRef *struct {
							Key        *string `tfsdk:"key" json:"key,omitempty"`
							SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
						} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
						Username *string `tfsdk:"username" json:"username,omitempty"`
					} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
					BearerToken *struct {
						TokenRef *struct {
							Key        *string `tfsdk:"key" json:"key,omitempty"`
							SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
						} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
					} `tfsdk:"bearer_token" json:"bearerToken,omitempty"`
					Owner *string `tfsdk:"owner" json:"owner,omitempty"`
					Repo  *string `tfsdk:"repo" json:"repo,omitempty"`
				} `tfsdk:"bitbucket" json:"bitbucket,omitempty"`
				BitbucketServer *struct {
					Api       *string `tfsdk:"api" json:"api,omitempty"`
					BasicAuth *struct {
						PasswordRef *struct {
							Key        *string `tfsdk:"key" json:"key,omitempty"`
							SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
						} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
						Username *string `tfsdk:"username" json:"username,omitempty"`
					} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
					Project *string `tfsdk:"project" json:"project,omitempty"`
					Repo    *string `tfsdk:"repo" json:"repo,omitempty"`
				} `tfsdk:"bitbucket_server" json:"bitbucketServer,omitempty"`
				Filters *[]struct {
					BranchMatch       *string `tfsdk:"branch_match" json:"branchMatch,omitempty"`
					TargetBranchMatch *string `tfsdk:"target_branch_match" json:"targetBranchMatch,omitempty"`
				} `tfsdk:"filters" json:"filters,omitempty"`
				Gitea *struct {
					Api      *string `tfsdk:"api" json:"api,omitempty"`
					Insecure *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
					Owner    *string `tfsdk:"owner" json:"owner,omitempty"`
					Repo     *string `tfsdk:"repo" json:"repo,omitempty"`
					TokenRef *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
				} `tfsdk:"gitea" json:"gitea,omitempty"`
				Github *struct {
					Api           *string   `tfsdk:"api" json:"api,omitempty"`
					AppSecretName *string   `tfsdk:"app_secret_name" json:"appSecretName,omitempty"`
					Labels        *[]string `tfsdk:"labels" json:"labels,omitempty"`
					Owner         *string   `tfsdk:"owner" json:"owner,omitempty"`
					Repo          *string   `tfsdk:"repo" json:"repo,omitempty"`
					TokenRef      *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
				} `tfsdk:"github" json:"github,omitempty"`
				Gitlab *struct {
					Api              *string   `tfsdk:"api" json:"api,omitempty"`
					Insecure         *bool     `tfsdk:"insecure" json:"insecure,omitempty"`
					Labels           *[]string `tfsdk:"labels" json:"labels,omitempty"`
					Project          *string   `tfsdk:"project" json:"project,omitempty"`
					PullRequestState *string   `tfsdk:"pull_request_state" json:"pullRequestState,omitempty"`
					TokenRef         *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
				} `tfsdk:"gitlab" json:"gitlab,omitempty"`
				RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
				Template            *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
			} `tfsdk:"pull_request" json:"pullRequest,omitempty"`
			ScmProvider *struct {
				AwsCodeCommit *struct {
					AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
					Region      *string `tfsdk:"region" json:"region,omitempty"`
					Role        *string `tfsdk:"role" json:"role,omitempty"`
					TagFilters  *[]struct {
						Key   *string `tfsdk:"key" json:"key,omitempty"`
						Value *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"tag_filters" json:"tagFilters,omitempty"`
				} `tfsdk:"aws_code_commit" json:"awsCodeCommit,omitempty"`
				AzureDevOps *struct {
					AccessTokenRef *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"access_token_ref" json:"accessTokenRef,omitempty"`
					AllBranches  *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
					Api          *string `tfsdk:"api" json:"api,omitempty"`
					Organization *string `tfsdk:"organization" json:"organization,omitempty"`
					TeamProject  *string `tfsdk:"team_project" json:"teamProject,omitempty"`
				} `tfsdk:"azure_dev_ops" json:"azureDevOps,omitempty"`
				Bitbucket *struct {
					AllBranches    *bool `tfsdk:"all_branches" json:"allBranches,omitempty"`
					AppPasswordRef *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"app_password_ref" json:"appPasswordRef,omitempty"`
					Owner *string `tfsdk:"owner" json:"owner,omitempty"`
					User  *string `tfsdk:"user" json:"user,omitempty"`
				} `tfsdk:"bitbucket" json:"bitbucket,omitempty"`
				BitbucketServer *struct {
					AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
					Api         *string `tfsdk:"api" json:"api,omitempty"`
					BasicAuth   *struct {
						PasswordRef *struct {
							Key        *string `tfsdk:"key" json:"key,omitempty"`
							SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
						} `tfsdk:"password_ref" json:"passwordRef,omitempty"`
						Username *string `tfsdk:"username" json:"username,omitempty"`
					} `tfsdk:"basic_auth" json:"basicAuth,omitempty"`
					Project *string `tfsdk:"project" json:"project,omitempty"`
				} `tfsdk:"bitbucket_server" json:"bitbucketServer,omitempty"`
				CloneProtocol *string `tfsdk:"clone_protocol" json:"cloneProtocol,omitempty"`
				Filters       *[]struct {
					BranchMatch     *string   `tfsdk:"branch_match" json:"branchMatch,omitempty"`
					LabelMatch      *string   `tfsdk:"label_match" json:"labelMatch,omitempty"`
					PathsDoNotExist *[]string `tfsdk:"paths_do_not_exist" json:"pathsDoNotExist,omitempty"`
					PathsExist      *[]string `tfsdk:"paths_exist" json:"pathsExist,omitempty"`
					RepositoryMatch *string   `tfsdk:"repository_match" json:"repositoryMatch,omitempty"`
				} `tfsdk:"filters" json:"filters,omitempty"`
				Gitea *struct {
					AllBranches *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
					Api         *string `tfsdk:"api" json:"api,omitempty"`
					Insecure    *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
					Owner       *string `tfsdk:"owner" json:"owner,omitempty"`
					TokenRef    *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
				} `tfsdk:"gitea" json:"gitea,omitempty"`
				Github *struct {
					AllBranches   *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
					Api           *string `tfsdk:"api" json:"api,omitempty"`
					AppSecretName *string `tfsdk:"app_secret_name" json:"appSecretName,omitempty"`
					Organization  *string `tfsdk:"organization" json:"organization,omitempty"`
					TokenRef      *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
				} `tfsdk:"github" json:"github,omitempty"`
				Gitlab *struct {
					AllBranches           *bool   `tfsdk:"all_branches" json:"allBranches,omitempty"`
					Api                   *string `tfsdk:"api" json:"api,omitempty"`
					Group                 *string `tfsdk:"group" json:"group,omitempty"`
					IncludeSharedProjects *bool   `tfsdk:"include_shared_projects" json:"includeSharedProjects,omitempty"`
					IncludeSubgroups      *bool   `tfsdk:"include_subgroups" json:"includeSubgroups,omitempty"`
					Insecure              *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
					TokenRef              *struct {
						Key        *string `tfsdk:"key" json:"key,omitempty"`
						SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"token_ref" json:"tokenRef,omitempty"`
					Topic *string `tfsdk:"topic" json:"topic,omitempty"`
				} `tfsdk:"gitlab" json:"gitlab,omitempty"`
				RequeueAfterSeconds *int64 `tfsdk:"requeue_after_seconds" json:"requeueAfterSeconds,omitempty"`
				Template            *struct {
					Metadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
						Name        *string            `tfsdk:"name" json:"name,omitempty"`
						Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"metadata" json:"metadata,omitempty"`
					Spec *struct {
						Destination *struct {
							Name      *string `tfsdk:"name" json:"name,omitempty"`
							Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Server    *string `tfsdk:"server" json:"server,omitempty"`
						} `tfsdk:"destination" json:"destination,omitempty"`
						IgnoreDifferences *[]struct {
							Group                 *string   `tfsdk:"group" json:"group,omitempty"`
							JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
							JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
							Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
							ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
							Name                  *string   `tfsdk:"name" json:"name,omitempty"`
							Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
						} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
						Info *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"info" json:"info,omitempty"`
						Project              *string `tfsdk:"project" json:"project,omitempty"`
						RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
						Source               *struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"source" json:"source,omitempty"`
						Sources *[]struct {
							Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
							Directory *struct {
								Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
								Include *string `tfsdk:"include" json:"include,omitempty"`
								Jsonnet *struct {
									ExtVars *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"ext_vars" json:"extVars,omitempty"`
									Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
									Tlas *[]struct {
										Code  *bool   `tfsdk:"code" json:"code,omitempty"`
										Name  *string `tfsdk:"name" json:"name,omitempty"`
										Value *string `tfsdk:"value" json:"value,omitempty"`
									} `tfsdk:"tlas" json:"tlas,omitempty"`
								} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
								Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
							} `tfsdk:"directory" json:"directory,omitempty"`
							Helm *struct {
								FileParameters *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
									Path *string `tfsdk:"path" json:"path,omitempty"`
								} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
								IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
								Parameters              *[]struct {
									ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
									Name        *string `tfsdk:"name" json:"name,omitempty"`
									Value       *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
								PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
								ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
								SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
								ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
								Values          *string            `tfsdk:"values" json:"values,omitempty"`
								ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
								Version         *string            `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"helm" json:"helm,omitempty"`
							Kustomize *struct {
								CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
								CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
								CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
								Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
								ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
								ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
								Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
								LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
								NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
								NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
								Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
								Patches                   *[]struct {
									Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
									Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
									Path    *string            `tfsdk:"path" json:"path,omitempty"`
									Target  *struct {
										AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
										Group              *string `tfsdk:"group" json:"group,omitempty"`
										Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
										LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
										Name               *string `tfsdk:"name" json:"name,omitempty"`
										Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
										Version            *string `tfsdk:"version" json:"version,omitempty"`
									} `tfsdk:"target" json:"target,omitempty"`
								} `tfsdk:"patches" json:"patches,omitempty"`
								Replicas *[]struct {
									Count *string `tfsdk:"count" json:"count,omitempty"`
									Name  *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"replicas" json:"replicas,omitempty"`
								Version *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"kustomize" json:"kustomize,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Plugin *struct {
								Env *[]struct {
									Name  *string `tfsdk:"name" json:"name,omitempty"`
									Value *string `tfsdk:"value" json:"value,omitempty"`
								} `tfsdk:"env" json:"env,omitempty"`
								Name       *string `tfsdk:"name" json:"name,omitempty"`
								Parameters *[]struct {
									Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
									Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
									Name   *string            `tfsdk:"name" json:"name,omitempty"`
									String *string            `tfsdk:"string" json:"string,omitempty"`
								} `tfsdk:"parameters" json:"parameters,omitempty"`
							} `tfsdk:"plugin" json:"plugin,omitempty"`
							Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
							RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
							TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
						} `tfsdk:"sources" json:"sources,omitempty"`
						SyncPolicy *struct {
							Automated *struct {
								AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
								Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
								SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
							} `tfsdk:"automated" json:"automated,omitempty"`
							ManagedNamespaceMetadata *struct {
								Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
								Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
							} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
							Retry *struct {
								Backoff *struct {
									Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
									Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
									MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
								} `tfsdk:"backoff" json:"backoff,omitempty"`
								Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
							} `tfsdk:"retry" json:"retry,omitempty"`
							SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
						} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
					} `tfsdk:"spec" json:"spec,omitempty"`
				} `tfsdk:"template" json:"template,omitempty"`
				Values *map[string]string `tfsdk:"values" json:"values,omitempty"`
			} `tfsdk:"scm_provider" json:"scmProvider,omitempty"`
			Selector *struct {
				MatchExpressions *[]struct {
					Key      *string   `tfsdk:"key" json:"key,omitempty"`
					Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
					Values   *[]string `tfsdk:"values" json:"values,omitempty"`
				} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
				MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
			} `tfsdk:"selector" json:"selector,omitempty"`
		} `tfsdk:"generators" json:"generators,omitempty"`
		GoTemplate                   *bool     `tfsdk:"go_template" json:"goTemplate,omitempty"`
		GoTemplateOptions            *[]string `tfsdk:"go_template_options" json:"goTemplateOptions,omitempty"`
		IgnoreApplicationDifferences *[]struct {
			JqPathExpressions *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
			JsonPointers      *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
			Name              *string   `tfsdk:"name" json:"name,omitempty"`
		} `tfsdk:"ignore_application_differences" json:"ignoreApplicationDifferences,omitempty"`
		PreservedFields *struct {
			Annotations *[]string `tfsdk:"annotations" json:"annotations,omitempty"`
			Labels      *[]string `tfsdk:"labels" json:"labels,omitempty"`
		} `tfsdk:"preserved_fields" json:"preservedFields,omitempty"`
		Strategy *struct {
			RollingSync *struct {
				Steps *[]struct {
					MatchExpressions *[]struct {
						Key      *string   `tfsdk:"key" json:"key,omitempty"`
						Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
						Values   *[]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
					MaxUpdate *string `tfsdk:"max_update" json:"maxUpdate,omitempty"`
				} `tfsdk:"steps" json:"steps,omitempty"`
			} `tfsdk:"rolling_sync" json:"rollingSync,omitempty"`
			Type *string `tfsdk:"type" json:"type,omitempty"`
		} `tfsdk:"strategy" json:"strategy,omitempty"`
		SyncPolicy *struct {
			ApplicationsSync            *string `tfsdk:"applications_sync" json:"applicationsSync,omitempty"`
			PreserveResourcesOnDeletion *bool   `tfsdk:"preserve_resources_on_deletion" json:"preserveResourcesOnDeletion,omitempty"`
		} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
		Template *struct {
			Metadata *struct {
				Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Finalizers  *[]string          `tfsdk:"finalizers" json:"finalizers,omitempty"`
				Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
				Name        *string            `tfsdk:"name" json:"name,omitempty"`
				Namespace   *string            `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"metadata" json:"metadata,omitempty"`
			Spec *struct {
				Destination *struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					Server    *string `tfsdk:"server" json:"server,omitempty"`
				} `tfsdk:"destination" json:"destination,omitempty"`
				IgnoreDifferences *[]struct {
					Group                 *string   `tfsdk:"group" json:"group,omitempty"`
					JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
					JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
					Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
					ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
					Name                  *string   `tfsdk:"name" json:"name,omitempty"`
					Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
				Info *[]struct {
					Name  *string `tfsdk:"name" json:"name,omitempty"`
					Value *string `tfsdk:"value" json:"value,omitempty"`
				} `tfsdk:"info" json:"info,omitempty"`
				Project              *string `tfsdk:"project" json:"project,omitempty"`
				RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
				Source               *struct {
					Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
					Directory *struct {
						Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
						Include *string `tfsdk:"include" json:"include,omitempty"`
						Jsonnet *struct {
							ExtVars *[]struct {
								Code  *bool   `tfsdk:"code" json:"code,omitempty"`
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"ext_vars" json:"extVars,omitempty"`
							Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
							Tlas *[]struct {
								Code  *bool   `tfsdk:"code" json:"code,omitempty"`
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"tlas" json:"tlas,omitempty"`
						} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
						Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
					} `tfsdk:"directory" json:"directory,omitempty"`
					Helm *struct {
						FileParameters *[]struct {
							Name *string `tfsdk:"name" json:"name,omitempty"`
							Path *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
						IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
						Parameters              *[]struct {
							ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
							Name        *string `tfsdk:"name" json:"name,omitempty"`
							Value       *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"parameters" json:"parameters,omitempty"`
						PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
						ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
						SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
						ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
						Values          *string            `tfsdk:"values" json:"values,omitempty"`
						ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
						Version         *string            `tfsdk:"version" json:"version,omitempty"`
					} `tfsdk:"helm" json:"helm,omitempty"`
					Kustomize *struct {
						CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
						CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
						CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
						Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
						ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
						ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
						Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
						LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
						NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
						NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
						Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
						Patches                   *[]struct {
							Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
							Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
							Path    *string            `tfsdk:"path" json:"path,omitempty"`
							Target  *struct {
								AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
								Group              *string `tfsdk:"group" json:"group,omitempty"`
								Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
								LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
								Name               *string `tfsdk:"name" json:"name,omitempty"`
								Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
								Version            *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"target" json:"target,omitempty"`
						} `tfsdk:"patches" json:"patches,omitempty"`
						Replicas *[]struct {
							Count *string `tfsdk:"count" json:"count,omitempty"`
							Name  *string `tfsdk:"name" json:"name,omitempty"`
						} `tfsdk:"replicas" json:"replicas,omitempty"`
						Version *string `tfsdk:"version" json:"version,omitempty"`
					} `tfsdk:"kustomize" json:"kustomize,omitempty"`
					Path   *string `tfsdk:"path" json:"path,omitempty"`
					Plugin *struct {
						Env *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"env" json:"env,omitempty"`
						Name       *string `tfsdk:"name" json:"name,omitempty"`
						Parameters *[]struct {
							Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
							Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
							Name   *string            `tfsdk:"name" json:"name,omitempty"`
							String *string            `tfsdk:"string" json:"string,omitempty"`
						} `tfsdk:"parameters" json:"parameters,omitempty"`
					} `tfsdk:"plugin" json:"plugin,omitempty"`
					Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
					RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
					TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
				} `tfsdk:"source" json:"source,omitempty"`
				Sources *[]struct {
					Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
					Directory *struct {
						Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
						Include *string `tfsdk:"include" json:"include,omitempty"`
						Jsonnet *struct {
							ExtVars *[]struct {
								Code  *bool   `tfsdk:"code" json:"code,omitempty"`
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"ext_vars" json:"extVars,omitempty"`
							Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
							Tlas *[]struct {
								Code  *bool   `tfsdk:"code" json:"code,omitempty"`
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"tlas" json:"tlas,omitempty"`
						} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
						Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
					} `tfsdk:"directory" json:"directory,omitempty"`
					Helm *struct {
						FileParameters *[]struct {
							Name *string `tfsdk:"name" json:"name,omitempty"`
							Path *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
						IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
						Parameters              *[]struct {
							ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
							Name        *string `tfsdk:"name" json:"name,omitempty"`
							Value       *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"parameters" json:"parameters,omitempty"`
						PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
						ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
						SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
						ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
						Values          *string            `tfsdk:"values" json:"values,omitempty"`
						ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
						Version         *string            `tfsdk:"version" json:"version,omitempty"`
					} `tfsdk:"helm" json:"helm,omitempty"`
					Kustomize *struct {
						CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
						CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
						CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
						Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
						ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
						ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
						Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
						LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
						NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
						NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
						Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
						Patches                   *[]struct {
							Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
							Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
							Path    *string            `tfsdk:"path" json:"path,omitempty"`
							Target  *struct {
								AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
								Group              *string `tfsdk:"group" json:"group,omitempty"`
								Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
								LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
								Name               *string `tfsdk:"name" json:"name,omitempty"`
								Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
								Version            *string `tfsdk:"version" json:"version,omitempty"`
							} `tfsdk:"target" json:"target,omitempty"`
						} `tfsdk:"patches" json:"patches,omitempty"`
						Replicas *[]struct {
							Count *string `tfsdk:"count" json:"count,omitempty"`
							Name  *string `tfsdk:"name" json:"name,omitempty"`
						} `tfsdk:"replicas" json:"replicas,omitempty"`
						Version *string `tfsdk:"version" json:"version,omitempty"`
					} `tfsdk:"kustomize" json:"kustomize,omitempty"`
					Path   *string `tfsdk:"path" json:"path,omitempty"`
					Plugin *struct {
						Env *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"env" json:"env,omitempty"`
						Name       *string `tfsdk:"name" json:"name,omitempty"`
						Parameters *[]struct {
							Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
							Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
							Name   *string            `tfsdk:"name" json:"name,omitempty"`
							String *string            `tfsdk:"string" json:"string,omitempty"`
						} `tfsdk:"parameters" json:"parameters,omitempty"`
					} `tfsdk:"plugin" json:"plugin,omitempty"`
					Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
					RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
					TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
				} `tfsdk:"sources" json:"sources,omitempty"`
				SyncPolicy *struct {
					Automated *struct {
						AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
						Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
						SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
					} `tfsdk:"automated" json:"automated,omitempty"`
					ManagedNamespaceMetadata *struct {
						Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
						Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
					Retry *struct {
						Backoff *struct {
							Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
							Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
							MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
						} `tfsdk:"backoff" json:"backoff,omitempty"`
						Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
					} `tfsdk:"retry" json:"retry,omitempty"`
					SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
				} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
			} `tfsdk:"spec" json:"spec,omitempty"`
		} `tfsdk:"template" json:"template,omitempty"`
		TemplatePatch *string `tfsdk:"template_patch" json:"templatePatch,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type ArgoprojIoApplicationV1Alpha1Manifest

type ArgoprojIoApplicationV1Alpha1Manifest struct{}

func (*ArgoprojIoApplicationV1Alpha1Manifest) Metadata

func (*ArgoprojIoApplicationV1Alpha1Manifest) Read

func (*ArgoprojIoApplicationV1Alpha1Manifest) Schema

type ArgoprojIoApplicationV1Alpha1ManifestData

type ArgoprojIoApplicationV1Alpha1ManifestData struct {
	YAML types.String `tfsdk:"yaml" json:"-"`

	ApiVersion *string `tfsdk:"-" json:"apiVersion"`
	Kind       *string `tfsdk:"-" json:"kind"`

	Metadata struct {
		Name        string            `tfsdk:"name" json:"name"`
		Namespace   string            `tfsdk:"namespace" json:"namespace"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Operation *struct {
		Info *[]struct {
			Name  *string `tfsdk:"name" json:"name,omitempty"`
			Value *string `tfsdk:"value" json:"value,omitempty"`
		} `tfsdk:"info" json:"info,omitempty"`
		InitiatedBy *struct {
			Automated *bool   `tfsdk:"automated" json:"automated,omitempty"`
			Username  *string `tfsdk:"username" json:"username,omitempty"`
		} `tfsdk:"initiated_by" json:"initiatedBy,omitempty"`
		Retry *struct {
			Backoff *struct {
				Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
				Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
				MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
			} `tfsdk:"backoff" json:"backoff,omitempty"`
			Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
		} `tfsdk:"retry" json:"retry,omitempty"`
		Sync *struct {
			DryRun    *bool     `tfsdk:"dry_run" json:"dryRun,omitempty"`
			Manifests *[]string `tfsdk:"manifests" json:"manifests,omitempty"`
			Prune     *bool     `tfsdk:"prune" json:"prune,omitempty"`
			Resources *[]struct {
				Group     *string `tfsdk:"group" json:"group,omitempty"`
				Kind      *string `tfsdk:"kind" json:"kind,omitempty"`
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Revision  *string   `tfsdk:"revision" json:"revision,omitempty"`
			Revisions *[]string `tfsdk:"revisions" json:"revisions,omitempty"`
			Source    *struct {
				Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
				Directory *struct {
					Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
					Include *string `tfsdk:"include" json:"include,omitempty"`
					Jsonnet *struct {
						ExtVars *[]struct {
							Code  *bool   `tfsdk:"code" json:"code,omitempty"`
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"ext_vars" json:"extVars,omitempty"`
						Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
						Tlas *[]struct {
							Code  *bool   `tfsdk:"code" json:"code,omitempty"`
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"tlas" json:"tlas,omitempty"`
					} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
					Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
				} `tfsdk:"directory" json:"directory,omitempty"`
				Helm *struct {
					FileParameters *[]struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
						Path *string `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
					IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
					Parameters              *[]struct {
						ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
						Name        *string `tfsdk:"name" json:"name,omitempty"`
						Value       *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"parameters" json:"parameters,omitempty"`
					PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
					ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
					SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
					ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
					Values          *string            `tfsdk:"values" json:"values,omitempty"`
					ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
					Version         *string            `tfsdk:"version" json:"version,omitempty"`
				} `tfsdk:"helm" json:"helm,omitempty"`
				Kustomize *struct {
					CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
					CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
					CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
					Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
					ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
					ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
					Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
					LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
					NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
					NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
					Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					Patches                   *[]struct {
						Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
						Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
						Path    *string            `tfsdk:"path" json:"path,omitempty"`
						Target  *struct {
							AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
							Group              *string `tfsdk:"group" json:"group,omitempty"`
							Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
							LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
							Name               *string `tfsdk:"name" json:"name,omitempty"`
							Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Version            *string `tfsdk:"version" json:"version,omitempty"`
						} `tfsdk:"target" json:"target,omitempty"`
					} `tfsdk:"patches" json:"patches,omitempty"`
					Replicas *[]struct {
						Count *string `tfsdk:"count" json:"count,omitempty"`
						Name  *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"replicas" json:"replicas,omitempty"`
					Version *string `tfsdk:"version" json:"version,omitempty"`
				} `tfsdk:"kustomize" json:"kustomize,omitempty"`
				Path   *string `tfsdk:"path" json:"path,omitempty"`
				Plugin *struct {
					Env *[]struct {
						Name  *string `tfsdk:"name" json:"name,omitempty"`
						Value *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"env" json:"env,omitempty"`
					Name       *string `tfsdk:"name" json:"name,omitempty"`
					Parameters *[]struct {
						Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
						Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
						Name   *string            `tfsdk:"name" json:"name,omitempty"`
						String *string            `tfsdk:"string" json:"string,omitempty"`
					} `tfsdk:"parameters" json:"parameters,omitempty"`
				} `tfsdk:"plugin" json:"plugin,omitempty"`
				Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
				RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
				TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
			} `tfsdk:"source" json:"source,omitempty"`
			Sources *[]struct {
				Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
				Directory *struct {
					Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
					Include *string `tfsdk:"include" json:"include,omitempty"`
					Jsonnet *struct {
						ExtVars *[]struct {
							Code  *bool   `tfsdk:"code" json:"code,omitempty"`
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"ext_vars" json:"extVars,omitempty"`
						Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
						Tlas *[]struct {
							Code  *bool   `tfsdk:"code" json:"code,omitempty"`
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"tlas" json:"tlas,omitempty"`
					} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
					Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
				} `tfsdk:"directory" json:"directory,omitempty"`
				Helm *struct {
					FileParameters *[]struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
						Path *string `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
					IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
					Parameters              *[]struct {
						ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
						Name        *string `tfsdk:"name" json:"name,omitempty"`
						Value       *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"parameters" json:"parameters,omitempty"`
					PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
					ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
					SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
					ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
					Values          *string            `tfsdk:"values" json:"values,omitempty"`
					ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
					Version         *string            `tfsdk:"version" json:"version,omitempty"`
				} `tfsdk:"helm" json:"helm,omitempty"`
				Kustomize *struct {
					CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
					CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
					CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
					Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
					ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
					ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
					Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
					LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
					NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
					NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
					Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
					Patches                   *[]struct {
						Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
						Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
						Path    *string            `tfsdk:"path" json:"path,omitempty"`
						Target  *struct {
							AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
							Group              *string `tfsdk:"group" json:"group,omitempty"`
							Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
							LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
							Name               *string `tfsdk:"name" json:"name,omitempty"`
							Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
							Version            *string `tfsdk:"version" json:"version,omitempty"`
						} `tfsdk:"target" json:"target,omitempty"`
					} `tfsdk:"patches" json:"patches,omitempty"`
					Replicas *[]struct {
						Count *string `tfsdk:"count" json:"count,omitempty"`
						Name  *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"replicas" json:"replicas,omitempty"`
					Version *string `tfsdk:"version" json:"version,omitempty"`
				} `tfsdk:"kustomize" json:"kustomize,omitempty"`
				Path   *string `tfsdk:"path" json:"path,omitempty"`
				Plugin *struct {
					Env *[]struct {
						Name  *string `tfsdk:"name" json:"name,omitempty"`
						Value *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"env" json:"env,omitempty"`
					Name       *string `tfsdk:"name" json:"name,omitempty"`
					Parameters *[]struct {
						Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
						Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
						Name   *string            `tfsdk:"name" json:"name,omitempty"`
						String *string            `tfsdk:"string" json:"string,omitempty"`
					} `tfsdk:"parameters" json:"parameters,omitempty"`
				} `tfsdk:"plugin" json:"plugin,omitempty"`
				Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
				RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
				TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
			} `tfsdk:"sources" json:"sources,omitempty"`
			SyncOptions  *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
			SyncStrategy *struct {
				Apply *struct {
					Force *bool `tfsdk:"force" json:"force,omitempty"`
				} `tfsdk:"apply" json:"apply,omitempty"`
				Hook *struct {
					Force *bool `tfsdk:"force" json:"force,omitempty"`
				} `tfsdk:"hook" json:"hook,omitempty"`
			} `tfsdk:"sync_strategy" json:"syncStrategy,omitempty"`
		} `tfsdk:"sync" json:"sync,omitempty"`
	} `tfsdk:"operation" json:"operation,omitempty"`
	Spec *struct {
		Destination *struct {
			Name      *string `tfsdk:"name" json:"name,omitempty"`
			Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
			Server    *string `tfsdk:"server" json:"server,omitempty"`
		} `tfsdk:"destination" json:"destination,omitempty"`
		IgnoreDifferences *[]struct {
			Group                 *string   `tfsdk:"group" json:"group,omitempty"`
			JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
			JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
			Kind                  *string   `tfsdk:"kind" json:"kind,omitempty"`
			ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
			Name                  *string   `tfsdk:"name" json:"name,omitempty"`
			Namespace             *string   `tfsdk:"namespace" json:"namespace,omitempty"`
		} `tfsdk:"ignore_differences" json:"ignoreDifferences,omitempty"`
		Info *[]struct {
			Name  *string `tfsdk:"name" json:"name,omitempty"`
			Value *string `tfsdk:"value" json:"value,omitempty"`
		} `tfsdk:"info" json:"info,omitempty"`
		Project              *string `tfsdk:"project" json:"project,omitempty"`
		RevisionHistoryLimit *int64  `tfsdk:"revision_history_limit" json:"revisionHistoryLimit,omitempty"`
		Source               *struct {
			Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
			Directory *struct {
				Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
				Include *string `tfsdk:"include" json:"include,omitempty"`
				Jsonnet *struct {
					ExtVars *[]struct {
						Code  *bool   `tfsdk:"code" json:"code,omitempty"`
						Name  *string `tfsdk:"name" json:"name,omitempty"`
						Value *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"ext_vars" json:"extVars,omitempty"`
					Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
					Tlas *[]struct {
						Code  *bool   `tfsdk:"code" json:"code,omitempty"`
						Name  *string `tfsdk:"name" json:"name,omitempty"`
						Value *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"tlas" json:"tlas,omitempty"`
				} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
				Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
			} `tfsdk:"directory" json:"directory,omitempty"`
			Helm *struct {
				FileParameters *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
					Path *string `tfsdk:"path" json:"path,omitempty"`
				} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
				IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
				Parameters              *[]struct {
					ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
					Name        *string `tfsdk:"name" json:"name,omitempty"`
					Value       *string `tfsdk:"value" json:"value,omitempty"`
				} `tfsdk:"parameters" json:"parameters,omitempty"`
				PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
				ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
				SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
				ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
				Values          *string            `tfsdk:"values" json:"values,omitempty"`
				ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
				Version         *string            `tfsdk:"version" json:"version,omitempty"`
			} `tfsdk:"helm" json:"helm,omitempty"`
			Kustomize *struct {
				CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
				CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
				CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
				Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
				ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
				ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
				Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
				LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
				NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
				NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
				Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
				Patches                   *[]struct {
					Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
					Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
					Path    *string            `tfsdk:"path" json:"path,omitempty"`
					Target  *struct {
						AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
						Group              *string `tfsdk:"group" json:"group,omitempty"`
						Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
						LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
						Name               *string `tfsdk:"name" json:"name,omitempty"`
						Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
						Version            *string `tfsdk:"version" json:"version,omitempty"`
					} `tfsdk:"target" json:"target,omitempty"`
				} `tfsdk:"patches" json:"patches,omitempty"`
				Replicas *[]struct {
					Count *string `tfsdk:"count" json:"count,omitempty"`
					Name  *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"replicas" json:"replicas,omitempty"`
				Version *string `tfsdk:"version" json:"version,omitempty"`
			} `tfsdk:"kustomize" json:"kustomize,omitempty"`
			Path   *string `tfsdk:"path" json:"path,omitempty"`
			Plugin *struct {
				Env *[]struct {
					Name  *string `tfsdk:"name" json:"name,omitempty"`
					Value *string `tfsdk:"value" json:"value,omitempty"`
				} `tfsdk:"env" json:"env,omitempty"`
				Name       *string `tfsdk:"name" json:"name,omitempty"`
				Parameters *[]struct {
					Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
					Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
					Name   *string            `tfsdk:"name" json:"name,omitempty"`
					String *string            `tfsdk:"string" json:"string,omitempty"`
				} `tfsdk:"parameters" json:"parameters,omitempty"`
			} `tfsdk:"plugin" json:"plugin,omitempty"`
			Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
			RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
			TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
		} `tfsdk:"source" json:"source,omitempty"`
		Sources *[]struct {
			Chart     *string `tfsdk:"chart" json:"chart,omitempty"`
			Directory *struct {
				Exclude *string `tfsdk:"exclude" json:"exclude,omitempty"`
				Include *string `tfsdk:"include" json:"include,omitempty"`
				Jsonnet *struct {
					ExtVars *[]struct {
						Code  *bool   `tfsdk:"code" json:"code,omitempty"`
						Name  *string `tfsdk:"name" json:"name,omitempty"`
						Value *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"ext_vars" json:"extVars,omitempty"`
					Libs *[]string `tfsdk:"libs" json:"libs,omitempty"`
					Tlas *[]struct {
						Code  *bool   `tfsdk:"code" json:"code,omitempty"`
						Name  *string `tfsdk:"name" json:"name,omitempty"`
						Value *string `tfsdk:"value" json:"value,omitempty"`
					} `tfsdk:"tlas" json:"tlas,omitempty"`
				} `tfsdk:"jsonnet" json:"jsonnet,omitempty"`
				Recurse *bool `tfsdk:"recurse" json:"recurse,omitempty"`
			} `tfsdk:"directory" json:"directory,omitempty"`
			Helm *struct {
				FileParameters *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
					Path *string `tfsdk:"path" json:"path,omitempty"`
				} `tfsdk:"file_parameters" json:"fileParameters,omitempty"`
				IgnoreMissingValueFiles *bool `tfsdk:"ignore_missing_value_files" json:"ignoreMissingValueFiles,omitempty"`
				Parameters              *[]struct {
					ForceString *bool   `tfsdk:"force_string" json:"forceString,omitempty"`
					Name        *string `tfsdk:"name" json:"name,omitempty"`
					Value       *string `tfsdk:"value" json:"value,omitempty"`
				} `tfsdk:"parameters" json:"parameters,omitempty"`
				PassCredentials *bool              `tfsdk:"pass_credentials" json:"passCredentials,omitempty"`
				ReleaseName     *string            `tfsdk:"release_name" json:"releaseName,omitempty"`
				SkipCrds        *bool              `tfsdk:"skip_crds" json:"skipCrds,omitempty"`
				ValueFiles      *[]string          `tfsdk:"value_files" json:"valueFiles,omitempty"`
				Values          *string            `tfsdk:"values" json:"values,omitempty"`
				ValuesObject    *map[string]string `tfsdk:"values_object" json:"valuesObject,omitempty"`
				Version         *string            `tfsdk:"version" json:"version,omitempty"`
			} `tfsdk:"helm" json:"helm,omitempty"`
			Kustomize *struct {
				CommonAnnotations         *map[string]string `tfsdk:"common_annotations" json:"commonAnnotations,omitempty"`
				CommonAnnotationsEnvsubst *bool              `tfsdk:"common_annotations_envsubst" json:"commonAnnotationsEnvsubst,omitempty"`
				CommonLabels              *map[string]string `tfsdk:"common_labels" json:"commonLabels,omitempty"`
				Components                *[]string          `tfsdk:"components" json:"components,omitempty"`
				ForceCommonAnnotations    *bool              `tfsdk:"force_common_annotations" json:"forceCommonAnnotations,omitempty"`
				ForceCommonLabels         *bool              `tfsdk:"force_common_labels" json:"forceCommonLabels,omitempty"`
				Images                    *[]string          `tfsdk:"images" json:"images,omitempty"`
				LabelWithoutSelector      *bool              `tfsdk:"label_without_selector" json:"labelWithoutSelector,omitempty"`
				NamePrefix                *string            `tfsdk:"name_prefix" json:"namePrefix,omitempty"`
				NameSuffix                *string            `tfsdk:"name_suffix" json:"nameSuffix,omitempty"`
				Namespace                 *string            `tfsdk:"namespace" json:"namespace,omitempty"`
				Patches                   *[]struct {
					Options *map[string]string `tfsdk:"options" json:"options,omitempty"`
					Patch   *string            `tfsdk:"patch" json:"patch,omitempty"`
					Path    *string            `tfsdk:"path" json:"path,omitempty"`
					Target  *struct {
						AnnotationSelector *string `tfsdk:"annotation_selector" json:"annotationSelector,omitempty"`
						Group              *string `tfsdk:"group" json:"group,omitempty"`
						Kind               *string `tfsdk:"kind" json:"kind,omitempty"`
						LabelSelector      *string `tfsdk:"label_selector" json:"labelSelector,omitempty"`
						Name               *string `tfsdk:"name" json:"name,omitempty"`
						Namespace          *string `tfsdk:"namespace" json:"namespace,omitempty"`
						Version            *string `tfsdk:"version" json:"version,omitempty"`
					} `tfsdk:"target" json:"target,omitempty"`
				} `tfsdk:"patches" json:"patches,omitempty"`
				Replicas *[]struct {
					Count *string `tfsdk:"count" json:"count,omitempty"`
					Name  *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"replicas" json:"replicas,omitempty"`
				Version *string `tfsdk:"version" json:"version,omitempty"`
			} `tfsdk:"kustomize" json:"kustomize,omitempty"`
			Path   *string `tfsdk:"path" json:"path,omitempty"`
			Plugin *struct {
				Env *[]struct {
					Name  *string `tfsdk:"name" json:"name,omitempty"`
					Value *string `tfsdk:"value" json:"value,omitempty"`
				} `tfsdk:"env" json:"env,omitempty"`
				Name       *string `tfsdk:"name" json:"name,omitempty"`
				Parameters *[]struct {
					Array  *[]string          `tfsdk:"array" json:"array,omitempty"`
					Map    *map[string]string `tfsdk:"map" json:"map,omitempty"`
					Name   *string            `tfsdk:"name" json:"name,omitempty"`
					String *string            `tfsdk:"string" json:"string,omitempty"`
				} `tfsdk:"parameters" json:"parameters,omitempty"`
			} `tfsdk:"plugin" json:"plugin,omitempty"`
			Ref            *string `tfsdk:"ref" json:"ref,omitempty"`
			RepoURL        *string `tfsdk:"repo_url" json:"repoURL,omitempty"`
			TargetRevision *string `tfsdk:"target_revision" json:"targetRevision,omitempty"`
		} `tfsdk:"sources" json:"sources,omitempty"`
		SyncPolicy *struct {
			Automated *struct {
				AllowEmpty *bool `tfsdk:"allow_empty" json:"allowEmpty,omitempty"`
				Prune      *bool `tfsdk:"prune" json:"prune,omitempty"`
				SelfHeal   *bool `tfsdk:"self_heal" json:"selfHeal,omitempty"`
			} `tfsdk:"automated" json:"automated,omitempty"`
			ManagedNamespaceMetadata *struct {
				Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
			} `tfsdk:"managed_namespace_metadata" json:"managedNamespaceMetadata,omitempty"`
			Retry *struct {
				Backoff *struct {
					Duration    *string `tfsdk:"duration" json:"duration,omitempty"`
					Factor      *int64  `tfsdk:"factor" json:"factor,omitempty"`
					MaxDuration *string `tfsdk:"max_duration" json:"maxDuration,omitempty"`
				} `tfsdk:"backoff" json:"backoff,omitempty"`
				Limit *int64 `tfsdk:"limit" json:"limit,omitempty"`
			} `tfsdk:"retry" json:"retry,omitempty"`
			SyncOptions *[]string `tfsdk:"sync_options" json:"syncOptions,omitempty"`
		} `tfsdk:"sync_policy" json:"syncPolicy,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type ArgoprojIoArgoCdV1Alpha1Manifest

type ArgoprojIoArgoCdV1Alpha1Manifest struct{}

func (*ArgoprojIoArgoCdV1Alpha1Manifest) Metadata

func (*ArgoprojIoArgoCdV1Alpha1Manifest) Read

func (*ArgoprojIoArgoCdV1Alpha1Manifest) Schema

type ArgoprojIoArgoCdV1Alpha1ManifestData

type ArgoprojIoArgoCdV1Alpha1ManifestData struct {
	YAML types.String `tfsdk:"yaml" json:"-"`

	ApiVersion *string `tfsdk:"-" json:"apiVersion"`
	Kind       *string `tfsdk:"-" json:"kind"`

	Metadata struct {
		Name        string            `tfsdk:"name" json:"name"`
		Namespace   string            `tfsdk:"namespace" json:"namespace"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		AggregatedClusterRoles      *bool   `tfsdk:"aggregated_cluster_roles" json:"aggregatedClusterRoles,omitempty"`
		ApplicationInstanceLabelKey *string `tfsdk:"application_instance_label_key" json:"applicationInstanceLabelKey,omitempty"`
		ApplicationSet              *struct {
			Env *[]struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Value     *string `tfsdk:"value" json:"value,omitempty"`
				ValueFrom *struct {
					ConfigMapKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"`
					FieldRef *struct {
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
					} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
					ResourceFieldRef *struct {
						ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
						Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
						Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
					} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
					SecretKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"`
				} `tfsdk:"value_from" json:"valueFrom,omitempty"`
			} `tfsdk:"env" json:"env,omitempty"`
			ExtraCommandArgs *[]string `tfsdk:"extra_command_args" json:"extraCommandArgs,omitempty"`
			Image            *string   `tfsdk:"image" json:"image,omitempty"`
			LogLevel         *string   `tfsdk:"log_level" json:"logLevel,omitempty"`
			Resources        *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Version       *string `tfsdk:"version" json:"version,omitempty"`
			WebhookServer *struct {
				Host    *string `tfsdk:"host" json:"host,omitempty"`
				Ingress *struct {
					Annotations      *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
					Enabled          *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
					IngressClassName *string            `tfsdk:"ingress_class_name" json:"ingressClassName,omitempty"`
					Path             *string            `tfsdk:"path" json:"path,omitempty"`
					Tls              *[]struct {
						Hosts      *[]string `tfsdk:"hosts" json:"hosts,omitempty"`
						SecretName *string   `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"tls" json:"tls,omitempty"`
				} `tfsdk:"ingress" json:"ingress,omitempty"`
				Route *struct {
					Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
					Enabled     *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
					Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Path        *string            `tfsdk:"path" json:"path,omitempty"`
					Tls         *struct {
						CaCertificate            *string `tfsdk:"ca_certificate" json:"caCertificate,omitempty"`
						Certificate              *string `tfsdk:"certificate" json:"certificate,omitempty"`
						DestinationCACertificate *string `tfsdk:"destination_ca_certificate" json:"destinationCACertificate,omitempty"`
						ExternalCertificate      *struct {
							Name *string `tfsdk:"name" json:"name,omitempty"`
						} `tfsdk:"external_certificate" json:"externalCertificate,omitempty"`
						InsecureEdgeTerminationPolicy *string `tfsdk:"insecure_edge_termination_policy" json:"insecureEdgeTerminationPolicy,omitempty"`
						Key                           *string `tfsdk:"key" json:"key,omitempty"`
						Termination                   *string `tfsdk:"termination" json:"termination,omitempty"`
					} `tfsdk:"tls" json:"tls,omitempty"`
					WildcardPolicy *string `tfsdk:"wildcard_policy" json:"wildcardPolicy,omitempty"`
				} `tfsdk:"route" json:"route,omitempty"`
			} `tfsdk:"webhook_server" json:"webhookServer,omitempty"`
		} `tfsdk:"application_set" json:"applicationSet,omitempty"`
		Banner *struct {
			Content *string `tfsdk:"content" json:"content,omitempty"`
			Url     *string `tfsdk:"url" json:"url,omitempty"`
		} `tfsdk:"banner" json:"banner,omitempty"`
		ConfigManagementPlugins *string `tfsdk:"config_management_plugins" json:"configManagementPlugins,omitempty"`
		Controller              *struct {
			AppSync *string `tfsdk:"app_sync" json:"appSync,omitempty"`
			Env     *[]struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Value     *string `tfsdk:"value" json:"value,omitempty"`
				ValueFrom *struct {
					ConfigMapKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"`
					FieldRef *struct {
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
					} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
					ResourceFieldRef *struct {
						ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
						Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
						Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
					} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
					SecretKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"`
				} `tfsdk:"value_from" json:"valueFrom,omitempty"`
			} `tfsdk:"env" json:"env,omitempty"`
			LogFormat        *string `tfsdk:"log_format" json:"logFormat,omitempty"`
			LogLevel         *string `tfsdk:"log_level" json:"logLevel,omitempty"`
			ParallelismLimit *int64  `tfsdk:"parallelism_limit" json:"parallelismLimit,omitempty"`
			Processors       *struct {
				Operation *int64 `tfsdk:"operation" json:"operation,omitempty"`
				Status    *int64 `tfsdk:"status" json:"status,omitempty"`
			} `tfsdk:"processors" json:"processors,omitempty"`
			Resources *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Sharding *struct {
				ClustersPerShard      *int64 `tfsdk:"clusters_per_shard" json:"clustersPerShard,omitempty"`
				DynamicScalingEnabled *bool  `tfsdk:"dynamic_scaling_enabled" json:"dynamicScalingEnabled,omitempty"`
				Enabled               *bool  `tfsdk:"enabled" json:"enabled,omitempty"`
				MaxShards             *int64 `tfsdk:"max_shards" json:"maxShards,omitempty"`
				MinShards             *int64 `tfsdk:"min_shards" json:"minShards,omitempty"`
				Replicas              *int64 `tfsdk:"replicas" json:"replicas,omitempty"`
			} `tfsdk:"sharding" json:"sharding,omitempty"`
		} `tfsdk:"controller" json:"controller,omitempty"`
		DefaultClusterScopedRoleDisabled *bool `tfsdk:"default_cluster_scoped_role_disabled" json:"defaultClusterScopedRoleDisabled,omitempty"`
		Dex                              *struct {
			Config         *string   `tfsdk:"config" json:"config,omitempty"`
			Groups         *[]string `tfsdk:"groups" json:"groups,omitempty"`
			Image          *string   `tfsdk:"image" json:"image,omitempty"`
			OpenShiftOAuth *bool     `tfsdk:"open_shift_o_auth" json:"openShiftOAuth,omitempty"`
			Resources      *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Version *string `tfsdk:"version" json:"version,omitempty"`
		} `tfsdk:"dex" json:"dex,omitempty"`
		DisableAdmin     *bool              `tfsdk:"disable_admin" json:"disableAdmin,omitempty"`
		ExtraConfig      *map[string]string `tfsdk:"extra_config" json:"extraConfig,omitempty"`
		GaAnonymizeUsers *bool              `tfsdk:"ga_anonymize_users" json:"gaAnonymizeUsers,omitempty"`
		GaTrackingID     *string            `tfsdk:"ga_tracking_id" json:"gaTrackingID,omitempty"`
		Grafana          *struct {
			Enabled *bool   `tfsdk:"enabled" json:"enabled,omitempty"`
			Host    *string `tfsdk:"host" json:"host,omitempty"`
			Image   *string `tfsdk:"image" json:"image,omitempty"`
			Ingress *struct {
				Annotations      *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Enabled          *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
				IngressClassName *string            `tfsdk:"ingress_class_name" json:"ingressClassName,omitempty"`
				Path             *string            `tfsdk:"path" json:"path,omitempty"`
				Tls              *[]struct {
					Hosts      *[]string `tfsdk:"hosts" json:"hosts,omitempty"`
					SecretName *string   `tfsdk:"secret_name" json:"secretName,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
			} `tfsdk:"ingress" json:"ingress,omitempty"`
			Resources *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Route *struct {
				Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Enabled     *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
				Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
				Path        *string            `tfsdk:"path" json:"path,omitempty"`
				Tls         *struct {
					CaCertificate            *string `tfsdk:"ca_certificate" json:"caCertificate,omitempty"`
					Certificate              *string `tfsdk:"certificate" json:"certificate,omitempty"`
					DestinationCACertificate *string `tfsdk:"destination_ca_certificate" json:"destinationCACertificate,omitempty"`
					ExternalCertificate      *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"external_certificate" json:"externalCertificate,omitempty"`
					InsecureEdgeTerminationPolicy *string `tfsdk:"insecure_edge_termination_policy" json:"insecureEdgeTerminationPolicy,omitempty"`
					Key                           *string `tfsdk:"key" json:"key,omitempty"`
					Termination                   *string `tfsdk:"termination" json:"termination,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
				WildcardPolicy *string `tfsdk:"wildcard_policy" json:"wildcardPolicy,omitempty"`
			} `tfsdk:"route" json:"route,omitempty"`
			Size    *int64  `tfsdk:"size" json:"size,omitempty"`
			Version *string `tfsdk:"version" json:"version,omitempty"`
		} `tfsdk:"grafana" json:"grafana,omitempty"`
		Ha *struct {
			Enabled           *bool   `tfsdk:"enabled" json:"enabled,omitempty"`
			RedisProxyImage   *string `tfsdk:"redis_proxy_image" json:"redisProxyImage,omitempty"`
			RedisProxyVersion *string `tfsdk:"redis_proxy_version" json:"redisProxyVersion,omitempty"`
			Resources         *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
		} `tfsdk:"ha" json:"ha,omitempty"`
		HelpChatText *string `tfsdk:"help_chat_text" json:"helpChatText,omitempty"`
		HelpChatURL  *string `tfsdk:"help_chat_url" json:"helpChatURL,omitempty"`
		Image        *string `tfsdk:"image" json:"image,omitempty"`
		Import       *struct {
			Name      *string `tfsdk:"name" json:"name,omitempty"`
			Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
		} `tfsdk:"import" json:"import,omitempty"`
		InitialRepositories  *string `tfsdk:"initial_repositories" json:"initialRepositories,omitempty"`
		InitialSSHKnownHosts *struct {
			Excludedefaulthosts *bool   `tfsdk:"excludedefaulthosts" json:"excludedefaulthosts,omitempty"`
			Keys                *string `tfsdk:"keys" json:"keys,omitempty"`
		} `tfsdk:"initial_ssh_known_hosts" json:"initialSSHKnownHosts,omitempty"`
		KustomizeBuildOptions *string `tfsdk:"kustomize_build_options" json:"kustomizeBuildOptions,omitempty"`
		KustomizeVersions     *[]struct {
			Path    *string `tfsdk:"path" json:"path,omitempty"`
			Version *string `tfsdk:"version" json:"version,omitempty"`
		} `tfsdk:"kustomize_versions" json:"kustomizeVersions,omitempty"`
		Monitoring *struct {
			DisableMetrics *bool `tfsdk:"disable_metrics" json:"disableMetrics,omitempty"`
			Enabled        *bool `tfsdk:"enabled" json:"enabled,omitempty"`
		} `tfsdk:"monitoring" json:"monitoring,omitempty"`
		NodePlacement *struct {
			NodeSelector *map[string]string `tfsdk:"node_selector" json:"nodeSelector,omitempty"`
			Tolerations  *[]struct {
				Effect            *string `tfsdk:"effect" json:"effect,omitempty"`
				Key               *string `tfsdk:"key" json:"key,omitempty"`
				Operator          *string `tfsdk:"operator" json:"operator,omitempty"`
				TolerationSeconds *int64  `tfsdk:"toleration_seconds" json:"tolerationSeconds,omitempty"`
				Value             *string `tfsdk:"value" json:"value,omitempty"`
			} `tfsdk:"tolerations" json:"tolerations,omitempty"`
		} `tfsdk:"node_placement" json:"nodePlacement,omitempty"`
		Notifications *struct {
			Enabled *bool `tfsdk:"enabled" json:"enabled,omitempty"`
			Env     *[]struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Value     *string `tfsdk:"value" json:"value,omitempty"`
				ValueFrom *struct {
					ConfigMapKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"`
					FieldRef *struct {
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
					} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
					ResourceFieldRef *struct {
						ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
						Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
						Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
					} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
					SecretKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"`
				} `tfsdk:"value_from" json:"valueFrom,omitempty"`
			} `tfsdk:"env" json:"env,omitempty"`
			Image     *string `tfsdk:"image" json:"image,omitempty"`
			LogLevel  *string `tfsdk:"log_level" json:"logLevel,omitempty"`
			Replicas  *int64  `tfsdk:"replicas" json:"replicas,omitempty"`
			Resources *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Version *string `tfsdk:"version" json:"version,omitempty"`
		} `tfsdk:"notifications" json:"notifications,omitempty"`
		OidcConfig *string `tfsdk:"oidc_config" json:"oidcConfig,omitempty"`
		Prometheus *struct {
			Enabled *bool   `tfsdk:"enabled" json:"enabled,omitempty"`
			Host    *string `tfsdk:"host" json:"host,omitempty"`
			Ingress *struct {
				Annotations      *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Enabled          *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
				IngressClassName *string            `tfsdk:"ingress_class_name" json:"ingressClassName,omitempty"`
				Path             *string            `tfsdk:"path" json:"path,omitempty"`
				Tls              *[]struct {
					Hosts      *[]string `tfsdk:"hosts" json:"hosts,omitempty"`
					SecretName *string   `tfsdk:"secret_name" json:"secretName,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
			} `tfsdk:"ingress" json:"ingress,omitempty"`
			Route *struct {
				Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Enabled     *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
				Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
				Path        *string            `tfsdk:"path" json:"path,omitempty"`
				Tls         *struct {
					CaCertificate            *string `tfsdk:"ca_certificate" json:"caCertificate,omitempty"`
					Certificate              *string `tfsdk:"certificate" json:"certificate,omitempty"`
					DestinationCACertificate *string `tfsdk:"destination_ca_certificate" json:"destinationCACertificate,omitempty"`
					ExternalCertificate      *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"external_certificate" json:"externalCertificate,omitempty"`
					InsecureEdgeTerminationPolicy *string `tfsdk:"insecure_edge_termination_policy" json:"insecureEdgeTerminationPolicy,omitempty"`
					Key                           *string `tfsdk:"key" json:"key,omitempty"`
					Termination                   *string `tfsdk:"termination" json:"termination,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
				WildcardPolicy *string `tfsdk:"wildcard_policy" json:"wildcardPolicy,omitempty"`
			} `tfsdk:"route" json:"route,omitempty"`
			Size *int64 `tfsdk:"size" json:"size,omitempty"`
		} `tfsdk:"prometheus" json:"prometheus,omitempty"`
		Rbac *struct {
			DefaultPolicy     *string `tfsdk:"default_policy" json:"defaultPolicy,omitempty"`
			Policy            *string `tfsdk:"policy" json:"policy,omitempty"`
			PolicyMatcherMode *string `tfsdk:"policy_matcher_mode" json:"policyMatcherMode,omitempty"`
			Scopes            *string `tfsdk:"scopes" json:"scopes,omitempty"`
		} `tfsdk:"rbac" json:"rbac,omitempty"`
		Redis *struct {
			Autotls                *string `tfsdk:"autotls" json:"autotls,omitempty"`
			DisableTLSVerification *bool   `tfsdk:"disable_tls_verification" json:"disableTLSVerification,omitempty"`
			Image                  *string `tfsdk:"image" json:"image,omitempty"`
			Resources              *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Version *string `tfsdk:"version" json:"version,omitempty"`
		} `tfsdk:"redis" json:"redis,omitempty"`
		Repo *struct {
			Autotls *string `tfsdk:"autotls" json:"autotls,omitempty"`
			Env     *[]struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Value     *string `tfsdk:"value" json:"value,omitempty"`
				ValueFrom *struct {
					ConfigMapKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"`
					FieldRef *struct {
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
					} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
					ResourceFieldRef *struct {
						ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
						Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
						Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
					} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
					SecretKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"`
				} `tfsdk:"value_from" json:"valueFrom,omitempty"`
			} `tfsdk:"env" json:"env,omitempty"`
			ExecTimeout          *int64    `tfsdk:"exec_timeout" json:"execTimeout,omitempty"`
			ExtraRepoCommandArgs *[]string `tfsdk:"extra_repo_command_args" json:"extraRepoCommandArgs,omitempty"`
			Image                *string   `tfsdk:"image" json:"image,omitempty"`
			InitContainers       *[]struct {
				Args    *[]string `tfsdk:"args" json:"args,omitempty"`
				Command *[]string `tfsdk:"command" json:"command,omitempty"`
				Env     *[]struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Value     *string `tfsdk:"value" json:"value,omitempty"`
					ValueFrom *struct {
						ConfigMapKeyRef *struct {
							Key      *string `tfsdk:"key" json:"key,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"`
						FieldRef *struct {
							ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
							FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
						} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
						ResourceFieldRef *struct {
							ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
							Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
							Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
						} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
						SecretKeyRef *struct {
							Key      *string `tfsdk:"key" json:"key,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"`
					} `tfsdk:"value_from" json:"valueFrom,omitempty"`
				} `tfsdk:"env" json:"env,omitempty"`
				EnvFrom *[]struct {
					ConfigMapRef *struct {
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
					Prefix    *string `tfsdk:"prefix" json:"prefix,omitempty"`
					SecretRef *struct {
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
				} `tfsdk:"env_from" json:"envFrom,omitempty"`
				Image           *string `tfsdk:"image" json:"image,omitempty"`
				ImagePullPolicy *string `tfsdk:"image_pull_policy" json:"imagePullPolicy,omitempty"`
				Lifecycle       *struct {
					PostStart *struct {
						Exec *struct {
							Command *[]string `tfsdk:"command" json:"command,omitempty"`
						} `tfsdk:"exec" json:"exec,omitempty"`
						HttpGet *struct {
							Host        *string `tfsdk:"host" json:"host,omitempty"`
							HttpHeaders *[]struct {
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Port   *string `tfsdk:"port" json:"port,omitempty"`
							Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
						} `tfsdk:"http_get" json:"httpGet,omitempty"`
						TcpSocket *struct {
							Host *string `tfsdk:"host" json:"host,omitempty"`
							Port *string `tfsdk:"port" json:"port,omitempty"`
						} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					} `tfsdk:"post_start" json:"postStart,omitempty"`
					PreStop *struct {
						Exec *struct {
							Command *[]string `tfsdk:"command" json:"command,omitempty"`
						} `tfsdk:"exec" json:"exec,omitempty"`
						HttpGet *struct {
							Host        *string `tfsdk:"host" json:"host,omitempty"`
							HttpHeaders *[]struct {
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Port   *string `tfsdk:"port" json:"port,omitempty"`
							Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
						} `tfsdk:"http_get" json:"httpGet,omitempty"`
						TcpSocket *struct {
							Host *string `tfsdk:"host" json:"host,omitempty"`
							Port *string `tfsdk:"port" json:"port,omitempty"`
						} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					} `tfsdk:"pre_stop" json:"preStop,omitempty"`
				} `tfsdk:"lifecycle" json:"lifecycle,omitempty"`
				LivenessProbe *struct {
					Exec *struct {
						Command *[]string `tfsdk:"command" json:"command,omitempty"`
					} `tfsdk:"exec" json:"exec,omitempty"`
					FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"`
					Grpc             *struct {
						Port    *int64  `tfsdk:"port" json:"port,omitempty"`
						Service *string `tfsdk:"service" json:"service,omitempty"`
					} `tfsdk:"grpc" json:"grpc,omitempty"`
					HttpGet *struct {
						Host        *string `tfsdk:"host" json:"host,omitempty"`
						HttpHeaders *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
						Path   *string `tfsdk:"path" json:"path,omitempty"`
						Port   *string `tfsdk:"port" json:"port,omitempty"`
						Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
					} `tfsdk:"http_get" json:"httpGet,omitempty"`
					InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"`
					PeriodSeconds       *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"`
					SuccessThreshold    *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"`
					TcpSocket           *struct {
						Host *string `tfsdk:"host" json:"host,omitempty"`
						Port *string `tfsdk:"port" json:"port,omitempty"`
					} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"`
					TimeoutSeconds                *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"`
				} `tfsdk:"liveness_probe" json:"livenessProbe,omitempty"`
				Name  *string `tfsdk:"name" json:"name,omitempty"`
				Ports *[]struct {
					ContainerPort *int64  `tfsdk:"container_port" json:"containerPort,omitempty"`
					HostIP        *string `tfsdk:"host_ip" json:"hostIP,omitempty"`
					HostPort      *int64  `tfsdk:"host_port" json:"hostPort,omitempty"`
					Name          *string `tfsdk:"name" json:"name,omitempty"`
					Protocol      *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				ReadinessProbe *struct {
					Exec *struct {
						Command *[]string `tfsdk:"command" json:"command,omitempty"`
					} `tfsdk:"exec" json:"exec,omitempty"`
					FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"`
					Grpc             *struct {
						Port    *int64  `tfsdk:"port" json:"port,omitempty"`
						Service *string `tfsdk:"service" json:"service,omitempty"`
					} `tfsdk:"grpc" json:"grpc,omitempty"`
					HttpGet *struct {
						Host        *string `tfsdk:"host" json:"host,omitempty"`
						HttpHeaders *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
						Path   *string `tfsdk:"path" json:"path,omitempty"`
						Port   *string `tfsdk:"port" json:"port,omitempty"`
						Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
					} `tfsdk:"http_get" json:"httpGet,omitempty"`
					InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"`
					PeriodSeconds       *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"`
					SuccessThreshold    *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"`
					TcpSocket           *struct {
						Host *string `tfsdk:"host" json:"host,omitempty"`
						Port *string `tfsdk:"port" json:"port,omitempty"`
					} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"`
					TimeoutSeconds                *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"`
				} `tfsdk:"readiness_probe" json:"readinessProbe,omitempty"`
				ResizePolicy *[]struct {
					ResourceName  *string `tfsdk:"resource_name" json:"resourceName,omitempty"`
					RestartPolicy *string `tfsdk:"restart_policy" json:"restartPolicy,omitempty"`
				} `tfsdk:"resize_policy" json:"resizePolicy,omitempty"`
				Resources *struct {
					Claims *[]struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"claims" json:"claims,omitempty"`
					Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
					Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
				} `tfsdk:"resources" json:"resources,omitempty"`
				RestartPolicy   *string `tfsdk:"restart_policy" json:"restartPolicy,omitempty"`
				SecurityContext *struct {
					AllowPrivilegeEscalation *bool `tfsdk:"allow_privilege_escalation" json:"allowPrivilegeEscalation,omitempty"`
					Capabilities             *struct {
						Add  *[]string `tfsdk:"add" json:"add,omitempty"`
						Drop *[]string `tfsdk:"drop" json:"drop,omitempty"`
					} `tfsdk:"capabilities" json:"capabilities,omitempty"`
					Privileged             *bool   `tfsdk:"privileged" json:"privileged,omitempty"`
					ProcMount              *string `tfsdk:"proc_mount" json:"procMount,omitempty"`
					ReadOnlyRootFilesystem *bool   `tfsdk:"read_only_root_filesystem" json:"readOnlyRootFilesystem,omitempty"`
					RunAsGroup             *int64  `tfsdk:"run_as_group" json:"runAsGroup,omitempty"`
					RunAsNonRoot           *bool   `tfsdk:"run_as_non_root" json:"runAsNonRoot,omitempty"`
					RunAsUser              *int64  `tfsdk:"run_as_user" json:"runAsUser,omitempty"`
					SeLinuxOptions         *struct {
						Level *string `tfsdk:"level" json:"level,omitempty"`
						Role  *string `tfsdk:"role" json:"role,omitempty"`
						Type  *string `tfsdk:"type" json:"type,omitempty"`
						User  *string `tfsdk:"user" json:"user,omitempty"`
					} `tfsdk:"se_linux_options" json:"seLinuxOptions,omitempty"`
					SeccompProfile *struct {
						LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"`
						Type             *string `tfsdk:"type" json:"type,omitempty"`
					} `tfsdk:"seccomp_profile" json:"seccompProfile,omitempty"`
					WindowsOptions *struct {
						GmsaCredentialSpec     *string `tfsdk:"gmsa_credential_spec" json:"gmsaCredentialSpec,omitempty"`
						GmsaCredentialSpecName *string `tfsdk:"gmsa_credential_spec_name" json:"gmsaCredentialSpecName,omitempty"`
						HostProcess            *bool   `tfsdk:"host_process" json:"hostProcess,omitempty"`
						RunAsUserName          *string `tfsdk:"run_as_user_name" json:"runAsUserName,omitempty"`
					} `tfsdk:"windows_options" json:"windowsOptions,omitempty"`
				} `tfsdk:"security_context" json:"securityContext,omitempty"`
				StartupProbe *struct {
					Exec *struct {
						Command *[]string `tfsdk:"command" json:"command,omitempty"`
					} `tfsdk:"exec" json:"exec,omitempty"`
					FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"`
					Grpc             *struct {
						Port    *int64  `tfsdk:"port" json:"port,omitempty"`
						Service *string `tfsdk:"service" json:"service,omitempty"`
					} `tfsdk:"grpc" json:"grpc,omitempty"`
					HttpGet *struct {
						Host        *string `tfsdk:"host" json:"host,omitempty"`
						HttpHeaders *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
						Path   *string `tfsdk:"path" json:"path,omitempty"`
						Port   *string `tfsdk:"port" json:"port,omitempty"`
						Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
					} `tfsdk:"http_get" json:"httpGet,omitempty"`
					InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"`
					PeriodSeconds       *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"`
					SuccessThreshold    *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"`
					TcpSocket           *struct {
						Host *string `tfsdk:"host" json:"host,omitempty"`
						Port *string `tfsdk:"port" json:"port,omitempty"`
					} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"`
					TimeoutSeconds                *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"`
				} `tfsdk:"startup_probe" json:"startupProbe,omitempty"`
				Stdin                    *bool   `tfsdk:"stdin" json:"stdin,omitempty"`
				StdinOnce                *bool   `tfsdk:"stdin_once" json:"stdinOnce,omitempty"`
				TerminationMessagePath   *string `tfsdk:"termination_message_path" json:"terminationMessagePath,omitempty"`
				TerminationMessagePolicy *string `tfsdk:"termination_message_policy" json:"terminationMessagePolicy,omitempty"`
				Tty                      *bool   `tfsdk:"tty" json:"tty,omitempty"`
				VolumeDevices            *[]struct {
					DevicePath *string `tfsdk:"device_path" json:"devicePath,omitempty"`
					Name       *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"volume_devices" json:"volumeDevices,omitempty"`
				VolumeMounts *[]struct {
					MountPath        *string `tfsdk:"mount_path" json:"mountPath,omitempty"`
					MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"`
					Name             *string `tfsdk:"name" json:"name,omitempty"`
					ReadOnly         *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SubPath          *string `tfsdk:"sub_path" json:"subPath,omitempty"`
					SubPathExpr      *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"`
				} `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"`
				WorkingDir *string `tfsdk:"working_dir" json:"workingDir,omitempty"`
			} `tfsdk:"init_containers" json:"initContainers,omitempty"`
			LogFormat    *string `tfsdk:"log_format" json:"logFormat,omitempty"`
			LogLevel     *string `tfsdk:"log_level" json:"logLevel,omitempty"`
			Mountsatoken *bool   `tfsdk:"mountsatoken" json:"mountsatoken,omitempty"`
			Replicas     *int64  `tfsdk:"replicas" json:"replicas,omitempty"`
			Resources    *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Serviceaccount    *string `tfsdk:"serviceaccount" json:"serviceaccount,omitempty"`
			SidecarContainers *[]struct {
				Args    *[]string `tfsdk:"args" json:"args,omitempty"`
				Command *[]string `tfsdk:"command" json:"command,omitempty"`
				Env     *[]struct {
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Value     *string `tfsdk:"value" json:"value,omitempty"`
					ValueFrom *struct {
						ConfigMapKeyRef *struct {
							Key      *string `tfsdk:"key" json:"key,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"`
						FieldRef *struct {
							ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
							FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
						} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
						ResourceFieldRef *struct {
							ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
							Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
							Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
						} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
						SecretKeyRef *struct {
							Key      *string `tfsdk:"key" json:"key,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"`
					} `tfsdk:"value_from" json:"valueFrom,omitempty"`
				} `tfsdk:"env" json:"env,omitempty"`
				EnvFrom *[]struct {
					ConfigMapRef *struct {
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"config_map_ref" json:"configMapRef,omitempty"`
					Prefix    *string `tfsdk:"prefix" json:"prefix,omitempty"`
					SecretRef *struct {
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
				} `tfsdk:"env_from" json:"envFrom,omitempty"`
				Image           *string `tfsdk:"image" json:"image,omitempty"`
				ImagePullPolicy *string `tfsdk:"image_pull_policy" json:"imagePullPolicy,omitempty"`
				Lifecycle       *struct {
					PostStart *struct {
						Exec *struct {
							Command *[]string `tfsdk:"command" json:"command,omitempty"`
						} `tfsdk:"exec" json:"exec,omitempty"`
						HttpGet *struct {
							Host        *string `tfsdk:"host" json:"host,omitempty"`
							HttpHeaders *[]struct {
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Port   *string `tfsdk:"port" json:"port,omitempty"`
							Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
						} `tfsdk:"http_get" json:"httpGet,omitempty"`
						TcpSocket *struct {
							Host *string `tfsdk:"host" json:"host,omitempty"`
							Port *string `tfsdk:"port" json:"port,omitempty"`
						} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					} `tfsdk:"post_start" json:"postStart,omitempty"`
					PreStop *struct {
						Exec *struct {
							Command *[]string `tfsdk:"command" json:"command,omitempty"`
						} `tfsdk:"exec" json:"exec,omitempty"`
						HttpGet *struct {
							Host        *string `tfsdk:"host" json:"host,omitempty"`
							HttpHeaders *[]struct {
								Name  *string `tfsdk:"name" json:"name,omitempty"`
								Value *string `tfsdk:"value" json:"value,omitempty"`
							} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
							Path   *string `tfsdk:"path" json:"path,omitempty"`
							Port   *string `tfsdk:"port" json:"port,omitempty"`
							Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
						} `tfsdk:"http_get" json:"httpGet,omitempty"`
						TcpSocket *struct {
							Host *string `tfsdk:"host" json:"host,omitempty"`
							Port *string `tfsdk:"port" json:"port,omitempty"`
						} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					} `tfsdk:"pre_stop" json:"preStop,omitempty"`
				} `tfsdk:"lifecycle" json:"lifecycle,omitempty"`
				LivenessProbe *struct {
					Exec *struct {
						Command *[]string `tfsdk:"command" json:"command,omitempty"`
					} `tfsdk:"exec" json:"exec,omitempty"`
					FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"`
					Grpc             *struct {
						Port    *int64  `tfsdk:"port" json:"port,omitempty"`
						Service *string `tfsdk:"service" json:"service,omitempty"`
					} `tfsdk:"grpc" json:"grpc,omitempty"`
					HttpGet *struct {
						Host        *string `tfsdk:"host" json:"host,omitempty"`
						HttpHeaders *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
						Path   *string `tfsdk:"path" json:"path,omitempty"`
						Port   *string `tfsdk:"port" json:"port,omitempty"`
						Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
					} `tfsdk:"http_get" json:"httpGet,omitempty"`
					InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"`
					PeriodSeconds       *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"`
					SuccessThreshold    *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"`
					TcpSocket           *struct {
						Host *string `tfsdk:"host" json:"host,omitempty"`
						Port *string `tfsdk:"port" json:"port,omitempty"`
					} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"`
					TimeoutSeconds                *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"`
				} `tfsdk:"liveness_probe" json:"livenessProbe,omitempty"`
				Name  *string `tfsdk:"name" json:"name,omitempty"`
				Ports *[]struct {
					ContainerPort *int64  `tfsdk:"container_port" json:"containerPort,omitempty"`
					HostIP        *string `tfsdk:"host_ip" json:"hostIP,omitempty"`
					HostPort      *int64  `tfsdk:"host_port" json:"hostPort,omitempty"`
					Name          *string `tfsdk:"name" json:"name,omitempty"`
					Protocol      *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				ReadinessProbe *struct {
					Exec *struct {
						Command *[]string `tfsdk:"command" json:"command,omitempty"`
					} `tfsdk:"exec" json:"exec,omitempty"`
					FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"`
					Grpc             *struct {
						Port    *int64  `tfsdk:"port" json:"port,omitempty"`
						Service *string `tfsdk:"service" json:"service,omitempty"`
					} `tfsdk:"grpc" json:"grpc,omitempty"`
					HttpGet *struct {
						Host        *string `tfsdk:"host" json:"host,omitempty"`
						HttpHeaders *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
						Path   *string `tfsdk:"path" json:"path,omitempty"`
						Port   *string `tfsdk:"port" json:"port,omitempty"`
						Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
					} `tfsdk:"http_get" json:"httpGet,omitempty"`
					InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"`
					PeriodSeconds       *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"`
					SuccessThreshold    *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"`
					TcpSocket           *struct {
						Host *string `tfsdk:"host" json:"host,omitempty"`
						Port *string `tfsdk:"port" json:"port,omitempty"`
					} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"`
					TimeoutSeconds                *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"`
				} `tfsdk:"readiness_probe" json:"readinessProbe,omitempty"`
				ResizePolicy *[]struct {
					ResourceName  *string `tfsdk:"resource_name" json:"resourceName,omitempty"`
					RestartPolicy *string `tfsdk:"restart_policy" json:"restartPolicy,omitempty"`
				} `tfsdk:"resize_policy" json:"resizePolicy,omitempty"`
				Resources *struct {
					Claims *[]struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"claims" json:"claims,omitempty"`
					Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
					Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
				} `tfsdk:"resources" json:"resources,omitempty"`
				RestartPolicy   *string `tfsdk:"restart_policy" json:"restartPolicy,omitempty"`
				SecurityContext *struct {
					AllowPrivilegeEscalation *bool `tfsdk:"allow_privilege_escalation" json:"allowPrivilegeEscalation,omitempty"`
					Capabilities             *struct {
						Add  *[]string `tfsdk:"add" json:"add,omitempty"`
						Drop *[]string `tfsdk:"drop" json:"drop,omitempty"`
					} `tfsdk:"capabilities" json:"capabilities,omitempty"`
					Privileged             *bool   `tfsdk:"privileged" json:"privileged,omitempty"`
					ProcMount              *string `tfsdk:"proc_mount" json:"procMount,omitempty"`
					ReadOnlyRootFilesystem *bool   `tfsdk:"read_only_root_filesystem" json:"readOnlyRootFilesystem,omitempty"`
					RunAsGroup             *int64  `tfsdk:"run_as_group" json:"runAsGroup,omitempty"`
					RunAsNonRoot           *bool   `tfsdk:"run_as_non_root" json:"runAsNonRoot,omitempty"`
					RunAsUser              *int64  `tfsdk:"run_as_user" json:"runAsUser,omitempty"`
					SeLinuxOptions         *struct {
						Level *string `tfsdk:"level" json:"level,omitempty"`
						Role  *string `tfsdk:"role" json:"role,omitempty"`
						Type  *string `tfsdk:"type" json:"type,omitempty"`
						User  *string `tfsdk:"user" json:"user,omitempty"`
					} `tfsdk:"se_linux_options" json:"seLinuxOptions,omitempty"`
					SeccompProfile *struct {
						LocalhostProfile *string `tfsdk:"localhost_profile" json:"localhostProfile,omitempty"`
						Type             *string `tfsdk:"type" json:"type,omitempty"`
					} `tfsdk:"seccomp_profile" json:"seccompProfile,omitempty"`
					WindowsOptions *struct {
						GmsaCredentialSpec     *string `tfsdk:"gmsa_credential_spec" json:"gmsaCredentialSpec,omitempty"`
						GmsaCredentialSpecName *string `tfsdk:"gmsa_credential_spec_name" json:"gmsaCredentialSpecName,omitempty"`
						HostProcess            *bool   `tfsdk:"host_process" json:"hostProcess,omitempty"`
						RunAsUserName          *string `tfsdk:"run_as_user_name" json:"runAsUserName,omitempty"`
					} `tfsdk:"windows_options" json:"windowsOptions,omitempty"`
				} `tfsdk:"security_context" json:"securityContext,omitempty"`
				StartupProbe *struct {
					Exec *struct {
						Command *[]string `tfsdk:"command" json:"command,omitempty"`
					} `tfsdk:"exec" json:"exec,omitempty"`
					FailureThreshold *int64 `tfsdk:"failure_threshold" json:"failureThreshold,omitempty"`
					Grpc             *struct {
						Port    *int64  `tfsdk:"port" json:"port,omitempty"`
						Service *string `tfsdk:"service" json:"service,omitempty"`
					} `tfsdk:"grpc" json:"grpc,omitempty"`
					HttpGet *struct {
						Host        *string `tfsdk:"host" json:"host,omitempty"`
						HttpHeaders *[]struct {
							Name  *string `tfsdk:"name" json:"name,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"http_headers" json:"httpHeaders,omitempty"`
						Path   *string `tfsdk:"path" json:"path,omitempty"`
						Port   *string `tfsdk:"port" json:"port,omitempty"`
						Scheme *string `tfsdk:"scheme" json:"scheme,omitempty"`
					} `tfsdk:"http_get" json:"httpGet,omitempty"`
					InitialDelaySeconds *int64 `tfsdk:"initial_delay_seconds" json:"initialDelaySeconds,omitempty"`
					PeriodSeconds       *int64 `tfsdk:"period_seconds" json:"periodSeconds,omitempty"`
					SuccessThreshold    *int64 `tfsdk:"success_threshold" json:"successThreshold,omitempty"`
					TcpSocket           *struct {
						Host *string `tfsdk:"host" json:"host,omitempty"`
						Port *string `tfsdk:"port" json:"port,omitempty"`
					} `tfsdk:"tcp_socket" json:"tcpSocket,omitempty"`
					TerminationGracePeriodSeconds *int64 `tfsdk:"termination_grace_period_seconds" json:"terminationGracePeriodSeconds,omitempty"`
					TimeoutSeconds                *int64 `tfsdk:"timeout_seconds" json:"timeoutSeconds,omitempty"`
				} `tfsdk:"startup_probe" json:"startupProbe,omitempty"`
				Stdin                    *bool   `tfsdk:"stdin" json:"stdin,omitempty"`
				StdinOnce                *bool   `tfsdk:"stdin_once" json:"stdinOnce,omitempty"`
				TerminationMessagePath   *string `tfsdk:"termination_message_path" json:"terminationMessagePath,omitempty"`
				TerminationMessagePolicy *string `tfsdk:"termination_message_policy" json:"terminationMessagePolicy,omitempty"`
				Tty                      *bool   `tfsdk:"tty" json:"tty,omitempty"`
				VolumeDevices            *[]struct {
					DevicePath *string `tfsdk:"device_path" json:"devicePath,omitempty"`
					Name       *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"volume_devices" json:"volumeDevices,omitempty"`
				VolumeMounts *[]struct {
					MountPath        *string `tfsdk:"mount_path" json:"mountPath,omitempty"`
					MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"`
					Name             *string `tfsdk:"name" json:"name,omitempty"`
					ReadOnly         *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SubPath          *string `tfsdk:"sub_path" json:"subPath,omitempty"`
					SubPathExpr      *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"`
				} `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"`
				WorkingDir *string `tfsdk:"working_dir" json:"workingDir,omitempty"`
			} `tfsdk:"sidecar_containers" json:"sidecarContainers,omitempty"`
			Verifytls    *bool   `tfsdk:"verifytls" json:"verifytls,omitempty"`
			Version      *string `tfsdk:"version" json:"version,omitempty"`
			VolumeMounts *[]struct {
				MountPath        *string `tfsdk:"mount_path" json:"mountPath,omitempty"`
				MountPropagation *string `tfsdk:"mount_propagation" json:"mountPropagation,omitempty"`
				Name             *string `tfsdk:"name" json:"name,omitempty"`
				ReadOnly         *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				SubPath          *string `tfsdk:"sub_path" json:"subPath,omitempty"`
				SubPathExpr      *string `tfsdk:"sub_path_expr" json:"subPathExpr,omitempty"`
			} `tfsdk:"volume_mounts" json:"volumeMounts,omitempty"`
			Volumes *[]struct {
				AwsElasticBlockStore *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Partition *int64  `tfsdk:"partition" json:"partition,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					VolumeID  *string `tfsdk:"volume_id" json:"volumeID,omitempty"`
				} `tfsdk:"aws_elastic_block_store" json:"awsElasticBlockStore,omitempty"`
				AzureDisk *struct {
					CachingMode *string `tfsdk:"caching_mode" json:"cachingMode,omitempty"`
					DiskName    *string `tfsdk:"disk_name" json:"diskName,omitempty"`
					DiskURI     *string `tfsdk:"disk_uri" json:"diskURI,omitempty"`
					FsType      *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Kind        *string `tfsdk:"kind" json:"kind,omitempty"`
					ReadOnly    *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"azure_disk" json:"azureDisk,omitempty"`
				AzureFile *struct {
					ReadOnly   *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
					ShareName  *string `tfsdk:"share_name" json:"shareName,omitempty"`
				} `tfsdk:"azure_file" json:"azureFile,omitempty"`
				Cephfs *struct {
					Monitors   *[]string `tfsdk:"monitors" json:"monitors,omitempty"`
					Path       *string   `tfsdk:"path" json:"path,omitempty"`
					ReadOnly   *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretFile *string   `tfsdk:"secret_file" json:"secretFile,omitempty"`
					SecretRef  *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					User *string `tfsdk:"user" json:"user,omitempty"`
				} `tfsdk:"cephfs" json:"cephfs,omitempty"`
				Cinder *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					VolumeID *string `tfsdk:"volume_id" json:"volumeID,omitempty"`
				} `tfsdk:"cinder" json:"cinder,omitempty"`
				ConfigMap *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Items       *[]struct {
						Key  *string `tfsdk:"key" json:"key,omitempty"`
						Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
						Path *string `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"items" json:"items,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
				} `tfsdk:"config_map" json:"configMap,omitempty"`
				Csi *struct {
					Driver               *string `tfsdk:"driver" json:"driver,omitempty"`
					FsType               *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					NodePublishSecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"node_publish_secret_ref" json:"nodePublishSecretRef,omitempty"`
					ReadOnly         *bool              `tfsdk:"read_only" json:"readOnly,omitempty"`
					VolumeAttributes *map[string]string `tfsdk:"volume_attributes" json:"volumeAttributes,omitempty"`
				} `tfsdk:"csi" json:"csi,omitempty"`
				DownwardAPI *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Items       *[]struct {
						FieldRef *struct {
							ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
							FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
						} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
						Mode             *int64  `tfsdk:"mode" json:"mode,omitempty"`
						Path             *string `tfsdk:"path" json:"path,omitempty"`
						ResourceFieldRef *struct {
							ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
							Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
							Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
						} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
					} `tfsdk:"items" json:"items,omitempty"`
				} `tfsdk:"downward_api" json:"downwardAPI,omitempty"`
				EmptyDir *struct {
					Medium    *string `tfsdk:"medium" json:"medium,omitempty"`
					SizeLimit *string `tfsdk:"size_limit" json:"sizeLimit,omitempty"`
				} `tfsdk:"empty_dir" json:"emptyDir,omitempty"`
				Ephemeral *struct {
					VolumeClaimTemplate *struct {
						Metadata *map[string]string `tfsdk:"metadata" json:"metadata,omitempty"`
						Spec     *struct {
							AccessModes *[]string `tfsdk:"access_modes" json:"accessModes,omitempty"`
							DataSource  *struct {
								ApiGroup *string `tfsdk:"api_group" json:"apiGroup,omitempty"`
								Kind     *string `tfsdk:"kind" json:"kind,omitempty"`
								Name     *string `tfsdk:"name" json:"name,omitempty"`
							} `tfsdk:"data_source" json:"dataSource,omitempty"`
							DataSourceRef *struct {
								ApiGroup  *string `tfsdk:"api_group" json:"apiGroup,omitempty"`
								Kind      *string `tfsdk:"kind" json:"kind,omitempty"`
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"data_source_ref" json:"dataSourceRef,omitempty"`
							Resources *struct {
								Claims *[]struct {
									Name *string `tfsdk:"name" json:"name,omitempty"`
								} `tfsdk:"claims" json:"claims,omitempty"`
								Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
								Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
							} `tfsdk:"resources" json:"resources,omitempty"`
							Selector *struct {
								MatchExpressions *[]struct {
									Key      *string   `tfsdk:"key" json:"key,omitempty"`
									Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
									Values   *[]string `tfsdk:"values" json:"values,omitempty"`
								} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
								MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
							} `tfsdk:"selector" json:"selector,omitempty"`
							StorageClassName *string `tfsdk:"storage_class_name" json:"storageClassName,omitempty"`
							VolumeMode       *string `tfsdk:"volume_mode" json:"volumeMode,omitempty"`
							VolumeName       *string `tfsdk:"volume_name" json:"volumeName,omitempty"`
						} `tfsdk:"spec" json:"spec,omitempty"`
					} `tfsdk:"volume_claim_template" json:"volumeClaimTemplate,omitempty"`
				} `tfsdk:"ephemeral" json:"ephemeral,omitempty"`
				Fc *struct {
					FsType     *string   `tfsdk:"fs_type" json:"fsType,omitempty"`
					Lun        *int64    `tfsdk:"lun" json:"lun,omitempty"`
					ReadOnly   *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					TargetWWNs *[]string `tfsdk:"target_ww_ns" json:"targetWWNs,omitempty"`
					Wwids      *[]string `tfsdk:"wwids" json:"wwids,omitempty"`
				} `tfsdk:"fc" json:"fc,omitempty"`
				FlexVolume *struct {
					Driver    *string            `tfsdk:"driver" json:"driver,omitempty"`
					FsType    *string            `tfsdk:"fs_type" json:"fsType,omitempty"`
					Options   *map[string]string `tfsdk:"options" json:"options,omitempty"`
					ReadOnly  *bool              `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
				} `tfsdk:"flex_volume" json:"flexVolume,omitempty"`
				Flocker *struct {
					DatasetName *string `tfsdk:"dataset_name" json:"datasetName,omitempty"`
					DatasetUUID *string `tfsdk:"dataset_uuid" json:"datasetUUID,omitempty"`
				} `tfsdk:"flocker" json:"flocker,omitempty"`
				GcePersistentDisk *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Partition *int64  `tfsdk:"partition" json:"partition,omitempty"`
					PdName    *string `tfsdk:"pd_name" json:"pdName,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"gce_persistent_disk" json:"gcePersistentDisk,omitempty"`
				GitRepo *struct {
					Directory  *string `tfsdk:"directory" json:"directory,omitempty"`
					Repository *string `tfsdk:"repository" json:"repository,omitempty"`
					Revision   *string `tfsdk:"revision" json:"revision,omitempty"`
				} `tfsdk:"git_repo" json:"gitRepo,omitempty"`
				Glusterfs *struct {
					Endpoints *string `tfsdk:"endpoints" json:"endpoints,omitempty"`
					Path      *string `tfsdk:"path" json:"path,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"glusterfs" json:"glusterfs,omitempty"`
				HostPath *struct {
					Path *string `tfsdk:"path" json:"path,omitempty"`
					Type *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"host_path" json:"hostPath,omitempty"`
				Iscsi *struct {
					ChapAuthDiscovery *bool     `tfsdk:"chap_auth_discovery" json:"chapAuthDiscovery,omitempty"`
					ChapAuthSession   *bool     `tfsdk:"chap_auth_session" json:"chapAuthSession,omitempty"`
					FsType            *string   `tfsdk:"fs_type" json:"fsType,omitempty"`
					InitiatorName     *string   `tfsdk:"initiator_name" json:"initiatorName,omitempty"`
					Iqn               *string   `tfsdk:"iqn" json:"iqn,omitempty"`
					IscsiInterface    *string   `tfsdk:"iscsi_interface" json:"iscsiInterface,omitempty"`
					Lun               *int64    `tfsdk:"lun" json:"lun,omitempty"`
					Portals           *[]string `tfsdk:"portals" json:"portals,omitempty"`
					ReadOnly          *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef         *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					TargetPortal *string `tfsdk:"target_portal" json:"targetPortal,omitempty"`
				} `tfsdk:"iscsi" json:"iscsi,omitempty"`
				Name *string `tfsdk:"name" json:"name,omitempty"`
				Nfs  *struct {
					Path     *string `tfsdk:"path" json:"path,omitempty"`
					ReadOnly *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					Server   *string `tfsdk:"server" json:"server,omitempty"`
				} `tfsdk:"nfs" json:"nfs,omitempty"`
				PersistentVolumeClaim *struct {
					ClaimName *string `tfsdk:"claim_name" json:"claimName,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
				} `tfsdk:"persistent_volume_claim" json:"persistentVolumeClaim,omitempty"`
				PhotonPersistentDisk *struct {
					FsType *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					PdID   *string `tfsdk:"pd_id" json:"pdID,omitempty"`
				} `tfsdk:"photon_persistent_disk" json:"photonPersistentDisk,omitempty"`
				PortworxVolume *struct {
					FsType   *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					ReadOnly *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					VolumeID *string `tfsdk:"volume_id" json:"volumeID,omitempty"`
				} `tfsdk:"portworx_volume" json:"portworxVolume,omitempty"`
				Projected *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Sources     *[]struct {
						ConfigMap *struct {
							Items *[]struct {
								Key  *string `tfsdk:"key" json:"key,omitempty"`
								Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
								Path *string `tfsdk:"path" json:"path,omitempty"`
							} `tfsdk:"items" json:"items,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"config_map" json:"configMap,omitempty"`
						DownwardAPI *struct {
							Items *[]struct {
								FieldRef *struct {
									ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
									FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
								} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
								Mode             *int64  `tfsdk:"mode" json:"mode,omitempty"`
								Path             *string `tfsdk:"path" json:"path,omitempty"`
								ResourceFieldRef *struct {
									ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
									Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
									Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
								} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
							} `tfsdk:"items" json:"items,omitempty"`
						} `tfsdk:"downward_api" json:"downwardAPI,omitempty"`
						Secret *struct {
							Items *[]struct {
								Key  *string `tfsdk:"key" json:"key,omitempty"`
								Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
								Path *string `tfsdk:"path" json:"path,omitempty"`
							} `tfsdk:"items" json:"items,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
						} `tfsdk:"secret" json:"secret,omitempty"`
						ServiceAccountToken *struct {
							Audience          *string `tfsdk:"audience" json:"audience,omitempty"`
							ExpirationSeconds *int64  `tfsdk:"expiration_seconds" json:"expirationSeconds,omitempty"`
							Path              *string `tfsdk:"path" json:"path,omitempty"`
						} `tfsdk:"service_account_token" json:"serviceAccountToken,omitempty"`
					} `tfsdk:"sources" json:"sources,omitempty"`
				} `tfsdk:"projected" json:"projected,omitempty"`
				Quobyte *struct {
					Group    *string `tfsdk:"group" json:"group,omitempty"`
					ReadOnly *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					Registry *string `tfsdk:"registry" json:"registry,omitempty"`
					Tenant   *string `tfsdk:"tenant" json:"tenant,omitempty"`
					User     *string `tfsdk:"user" json:"user,omitempty"`
					Volume   *string `tfsdk:"volume" json:"volume,omitempty"`
				} `tfsdk:"quobyte" json:"quobyte,omitempty"`
				Rbd *struct {
					FsType    *string   `tfsdk:"fs_type" json:"fsType,omitempty"`
					Image     *string   `tfsdk:"image" json:"image,omitempty"`
					Keyring   *string   `tfsdk:"keyring" json:"keyring,omitempty"`
					Monitors  *[]string `tfsdk:"monitors" json:"monitors,omitempty"`
					Pool      *string   `tfsdk:"pool" json:"pool,omitempty"`
					ReadOnly  *bool     `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					User *string `tfsdk:"user" json:"user,omitempty"`
				} `tfsdk:"rbd" json:"rbd,omitempty"`
				ScaleIO *struct {
					FsType           *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					Gateway          *string `tfsdk:"gateway" json:"gateway,omitempty"`
					ProtectionDomain *string `tfsdk:"protection_domain" json:"protectionDomain,omitempty"`
					ReadOnly         *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef        *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					SslEnabled  *bool   `tfsdk:"ssl_enabled" json:"sslEnabled,omitempty"`
					StorageMode *string `tfsdk:"storage_mode" json:"storageMode,omitempty"`
					StoragePool *string `tfsdk:"storage_pool" json:"storagePool,omitempty"`
					System      *string `tfsdk:"system" json:"system,omitempty"`
					VolumeName  *string `tfsdk:"volume_name" json:"volumeName,omitempty"`
				} `tfsdk:"scale_io" json:"scaleIO,omitempty"`
				Secret *struct {
					DefaultMode *int64 `tfsdk:"default_mode" json:"defaultMode,omitempty"`
					Items       *[]struct {
						Key  *string `tfsdk:"key" json:"key,omitempty"`
						Mode *int64  `tfsdk:"mode" json:"mode,omitempty"`
						Path *string `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"items" json:"items,omitempty"`
					Optional   *bool   `tfsdk:"optional" json:"optional,omitempty"`
					SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
				} `tfsdk:"secret" json:"secret,omitempty"`
				Storageos *struct {
					FsType    *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					ReadOnly  *bool   `tfsdk:"read_only" json:"readOnly,omitempty"`
					SecretRef *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"secret_ref" json:"secretRef,omitempty"`
					VolumeName      *string `tfsdk:"volume_name" json:"volumeName,omitempty"`
					VolumeNamespace *string `tfsdk:"volume_namespace" json:"volumeNamespace,omitempty"`
				} `tfsdk:"storageos" json:"storageos,omitempty"`
				VsphereVolume *struct {
					FsType            *string `tfsdk:"fs_type" json:"fsType,omitempty"`
					StoragePolicyID   *string `tfsdk:"storage_policy_id" json:"storagePolicyID,omitempty"`
					StoragePolicyName *string `tfsdk:"storage_policy_name" json:"storagePolicyName,omitempty"`
					VolumePath        *string `tfsdk:"volume_path" json:"volumePath,omitempty"`
				} `tfsdk:"vsphere_volume" json:"vsphereVolume,omitempty"`
			} `tfsdk:"volumes" json:"volumes,omitempty"`
		} `tfsdk:"repo" json:"repo,omitempty"`
		RepositoryCredentials *string `tfsdk:"repository_credentials" json:"repositoryCredentials,omitempty"`
		ResourceActions       *[]struct {
			Action *string `tfsdk:"action" json:"action,omitempty"`
			Group  *string `tfsdk:"group" json:"group,omitempty"`
			Kind   *string `tfsdk:"kind" json:"kind,omitempty"`
		} `tfsdk:"resource_actions" json:"resourceActions,omitempty"`
		ResourceCustomizations *string `tfsdk:"resource_customizations" json:"resourceCustomizations,omitempty"`
		ResourceExclusions     *string `tfsdk:"resource_exclusions" json:"resourceExclusions,omitempty"`
		ResourceHealthChecks   *[]struct {
			Check *string `tfsdk:"check" json:"check,omitempty"`
			Group *string `tfsdk:"group" json:"group,omitempty"`
			Kind  *string `tfsdk:"kind" json:"kind,omitempty"`
		} `tfsdk:"resource_health_checks" json:"resourceHealthChecks,omitempty"`
		ResourceIgnoreDifferences *struct {
			All *struct {
				JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
				JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
				ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
			} `tfsdk:"all" json:"all,omitempty"`
			ResourceIdentifiers *[]struct {
				Customization *struct {
					JqPathExpressions     *[]string `tfsdk:"jq_path_expressions" json:"jqPathExpressions,omitempty"`
					JsonPointers          *[]string `tfsdk:"json_pointers" json:"jsonPointers,omitempty"`
					ManagedFieldsManagers *[]string `tfsdk:"managed_fields_managers" json:"managedFieldsManagers,omitempty"`
				} `tfsdk:"customization" json:"customization,omitempty"`
				Group *string `tfsdk:"group" json:"group,omitempty"`
				Kind  *string `tfsdk:"kind" json:"kind,omitempty"`
			} `tfsdk:"resource_identifiers" json:"resourceIdentifiers,omitempty"`
		} `tfsdk:"resource_ignore_differences" json:"resourceIgnoreDifferences,omitempty"`
		ResourceInclusions     *string `tfsdk:"resource_inclusions" json:"resourceInclusions,omitempty"`
		ResourceTrackingMethod *string `tfsdk:"resource_tracking_method" json:"resourceTrackingMethod,omitempty"`
		Server                 *struct {
			Autoscale *struct {
				Enabled *bool `tfsdk:"enabled" json:"enabled,omitempty"`
				Hpa     *struct {
					MaxReplicas    *int64 `tfsdk:"max_replicas" json:"maxReplicas,omitempty"`
					MinReplicas    *int64 `tfsdk:"min_replicas" json:"minReplicas,omitempty"`
					ScaleTargetRef *struct {
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						Kind       *string `tfsdk:"kind" json:"kind,omitempty"`
						Name       *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"scale_target_ref" json:"scaleTargetRef,omitempty"`
					TargetCPUUtilizationPercentage *int64 `tfsdk:"target_cpu_utilization_percentage" json:"targetCPUUtilizationPercentage,omitempty"`
				} `tfsdk:"hpa" json:"hpa,omitempty"`
			} `tfsdk:"autoscale" json:"autoscale,omitempty"`
			EnableRolloutsUI *bool `tfsdk:"enable_rollouts_ui" json:"enableRolloutsUI,omitempty"`
			Env              *[]struct {
				Name      *string `tfsdk:"name" json:"name,omitempty"`
				Value     *string `tfsdk:"value" json:"value,omitempty"`
				ValueFrom *struct {
					ConfigMapKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"config_map_key_ref" json:"configMapKeyRef,omitempty"`
					FieldRef *struct {
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						FieldPath  *string `tfsdk:"field_path" json:"fieldPath,omitempty"`
					} `tfsdk:"field_ref" json:"fieldRef,omitempty"`
					ResourceFieldRef *struct {
						ContainerName *string `tfsdk:"container_name" json:"containerName,omitempty"`
						Divisor       *string `tfsdk:"divisor" json:"divisor,omitempty"`
						Resource      *string `tfsdk:"resource" json:"resource,omitempty"`
					} `tfsdk:"resource_field_ref" json:"resourceFieldRef,omitempty"`
					SecretKeyRef *struct {
						Key      *string `tfsdk:"key" json:"key,omitempty"`
						Name     *string `tfsdk:"name" json:"name,omitempty"`
						Optional *bool   `tfsdk:"optional" json:"optional,omitempty"`
					} `tfsdk:"secret_key_ref" json:"secretKeyRef,omitempty"`
				} `tfsdk:"value_from" json:"valueFrom,omitempty"`
			} `tfsdk:"env" json:"env,omitempty"`
			ExtraCommandArgs *[]string `tfsdk:"extra_command_args" json:"extraCommandArgs,omitempty"`
			Grpc             *struct {
				Host    *string `tfsdk:"host" json:"host,omitempty"`
				Ingress *struct {
					Annotations      *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
					Enabled          *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
					IngressClassName *string            `tfsdk:"ingress_class_name" json:"ingressClassName,omitempty"`
					Path             *string            `tfsdk:"path" json:"path,omitempty"`
					Tls              *[]struct {
						Hosts      *[]string `tfsdk:"hosts" json:"hosts,omitempty"`
						SecretName *string   `tfsdk:"secret_name" json:"secretName,omitempty"`
					} `tfsdk:"tls" json:"tls,omitempty"`
				} `tfsdk:"ingress" json:"ingress,omitempty"`
			} `tfsdk:"grpc" json:"grpc,omitempty"`
			Host    *string `tfsdk:"host" json:"host,omitempty"`
			Ingress *struct {
				Annotations      *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Enabled          *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
				IngressClassName *string            `tfsdk:"ingress_class_name" json:"ingressClassName,omitempty"`
				Path             *string            `tfsdk:"path" json:"path,omitempty"`
				Tls              *[]struct {
					Hosts      *[]string `tfsdk:"hosts" json:"hosts,omitempty"`
					SecretName *string   `tfsdk:"secret_name" json:"secretName,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
			} `tfsdk:"ingress" json:"ingress,omitempty"`
			Insecure  *bool   `tfsdk:"insecure" json:"insecure,omitempty"`
			LogFormat *string `tfsdk:"log_format" json:"logFormat,omitempty"`
			LogLevel  *string `tfsdk:"log_level" json:"logLevel,omitempty"`
			Replicas  *int64  `tfsdk:"replicas" json:"replicas,omitempty"`
			Resources *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			Route *struct {
				Annotations *map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
				Enabled     *bool              `tfsdk:"enabled" json:"enabled,omitempty"`
				Labels      *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
				Path        *string            `tfsdk:"path" json:"path,omitempty"`
				Tls         *struct {
					CaCertificate            *string `tfsdk:"ca_certificate" json:"caCertificate,omitempty"`
					Certificate              *string `tfsdk:"certificate" json:"certificate,omitempty"`
					DestinationCACertificate *string `tfsdk:"destination_ca_certificate" json:"destinationCACertificate,omitempty"`
					ExternalCertificate      *struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"external_certificate" json:"externalCertificate,omitempty"`
					InsecureEdgeTerminationPolicy *string `tfsdk:"insecure_edge_termination_policy" json:"insecureEdgeTerminationPolicy,omitempty"`
					Key                           *string `tfsdk:"key" json:"key,omitempty"`
					Termination                   *string `tfsdk:"termination" json:"termination,omitempty"`
				} `tfsdk:"tls" json:"tls,omitempty"`
				WildcardPolicy *string `tfsdk:"wildcard_policy" json:"wildcardPolicy,omitempty"`
			} `tfsdk:"route" json:"route,omitempty"`
			Service *struct {
				Type *string `tfsdk:"type" json:"type,omitempty"`
			} `tfsdk:"service" json:"service,omitempty"`
		} `tfsdk:"server" json:"server,omitempty"`
		SourceNamespaces *[]string `tfsdk:"source_namespaces" json:"sourceNamespaces,omitempty"`
		Sso              *struct {
			Dex *struct {
				Config         *string   `tfsdk:"config" json:"config,omitempty"`
				Groups         *[]string `tfsdk:"groups" json:"groups,omitempty"`
				Image          *string   `tfsdk:"image" json:"image,omitempty"`
				OpenShiftOAuth *bool     `tfsdk:"open_shift_o_auth" json:"openShiftOAuth,omitempty"`
				Resources      *struct {
					Claims *[]struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"claims" json:"claims,omitempty"`
					Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
					Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
				} `tfsdk:"resources" json:"resources,omitempty"`
				Version *string `tfsdk:"version" json:"version,omitempty"`
			} `tfsdk:"dex" json:"dex,omitempty"`
			Image    *string `tfsdk:"image" json:"image,omitempty"`
			Keycloak *struct {
				Host      *string `tfsdk:"host" json:"host,omitempty"`
				Image     *string `tfsdk:"image" json:"image,omitempty"`
				Resources *struct {
					Claims *[]struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"claims" json:"claims,omitempty"`
					Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
					Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
				} `tfsdk:"resources" json:"resources,omitempty"`
				RootCA    *string `tfsdk:"root_ca" json:"rootCA,omitempty"`
				VerifyTLS *bool   `tfsdk:"verify_tls" json:"verifyTLS,omitempty"`
				Version   *string `tfsdk:"version" json:"version,omitempty"`
			} `tfsdk:"keycloak" json:"keycloak,omitempty"`
			Provider  *string `tfsdk:"provider" json:"provider,omitempty"`
			Resources *struct {
				Claims *[]struct {
					Name *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"claims" json:"claims,omitempty"`
				Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
				Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
			} `tfsdk:"resources" json:"resources,omitempty"`
			VerifyTLS *bool   `tfsdk:"verify_tls" json:"verifyTLS,omitempty"`
			Version   *string `tfsdk:"version" json:"version,omitempty"`
		} `tfsdk:"sso" json:"sso,omitempty"`
		StatusBadgeEnabled *bool `tfsdk:"status_badge_enabled" json:"statusBadgeEnabled,omitempty"`
		Tls                *struct {
			Ca *struct {
				ConfigMapName *string `tfsdk:"config_map_name" json:"configMapName,omitempty"`
				SecretName    *string `tfsdk:"secret_name" json:"secretName,omitempty"`
			} `tfsdk:"ca" json:"ca,omitempty"`
			InitialCerts *map[string]string `tfsdk:"initial_certs" json:"initialCerts,omitempty"`
		} `tfsdk:"tls" json:"tls,omitempty"`
		UsersAnonymousEnabled *bool   `tfsdk:"users_anonymous_enabled" json:"usersAnonymousEnabled,omitempty"`
		Version               *string `tfsdk:"version" json:"version,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type ArgoprojIoArgoCdexportV1Alpha1Manifest

type ArgoprojIoArgoCdexportV1Alpha1Manifest struct{}

func (*ArgoprojIoArgoCdexportV1Alpha1Manifest) Metadata

func (*ArgoprojIoArgoCdexportV1Alpha1Manifest) Read

func (*ArgoprojIoArgoCdexportV1Alpha1Manifest) Schema

type ArgoprojIoArgoCdexportV1Alpha1ManifestData

type ArgoprojIoArgoCdexportV1Alpha1ManifestData struct {
	YAML types.String `tfsdk:"yaml" json:"-"`

	ApiVersion *string `tfsdk:"-" json:"apiVersion"`
	Kind       *string `tfsdk:"-" json:"kind"`

	Metadata struct {
		Name        string            `tfsdk:"name" json:"name"`
		Namespace   string            `tfsdk:"namespace" json:"namespace"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		Argocd   *string `tfsdk:"argocd" json:"argocd,omitempty"`
		Image    *string `tfsdk:"image" json:"image,omitempty"`
		Schedule *string `tfsdk:"schedule" json:"schedule,omitempty"`
		Storage  *struct {
			Backend *string `tfsdk:"backend" json:"backend,omitempty"`
			Pvc     *struct {
				AccessModes *[]string `tfsdk:"access_modes" json:"accessModes,omitempty"`
				DataSource  *struct {
					ApiGroup *string `tfsdk:"api_group" json:"apiGroup,omitempty"`
					Kind     *string `tfsdk:"kind" json:"kind,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
				} `tfsdk:"data_source" json:"dataSource,omitempty"`
				DataSourceRef *struct {
					ApiGroup  *string `tfsdk:"api_group" json:"apiGroup,omitempty"`
					Kind      *string `tfsdk:"kind" json:"kind,omitempty"`
					Name      *string `tfsdk:"name" json:"name,omitempty"`
					Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
				} `tfsdk:"data_source_ref" json:"dataSourceRef,omitempty"`
				Resources *struct {
					Claims *[]struct {
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"claims" json:"claims,omitempty"`
					Limits   *map[string]string `tfsdk:"limits" json:"limits,omitempty"`
					Requests *map[string]string `tfsdk:"requests" json:"requests,omitempty"`
				} `tfsdk:"resources" json:"resources,omitempty"`
				Selector *struct {
					MatchExpressions *[]struct {
						Key      *string   `tfsdk:"key" json:"key,omitempty"`
						Operator *string   `tfsdk:"operator" json:"operator,omitempty"`
						Values   *[]string `tfsdk:"values" json:"values,omitempty"`
					} `tfsdk:"match_expressions" json:"matchExpressions,omitempty"`
					MatchLabels *map[string]string `tfsdk:"match_labels" json:"matchLabels,omitempty"`
				} `tfsdk:"selector" json:"selector,omitempty"`
				StorageClassName *string `tfsdk:"storage_class_name" json:"storageClassName,omitempty"`
				VolumeMode       *string `tfsdk:"volume_mode" json:"volumeMode,omitempty"`
				VolumeName       *string `tfsdk:"volume_name" json:"volumeName,omitempty"`
			} `tfsdk:"pvc" json:"pvc,omitempty"`
			SecretName *string `tfsdk:"secret_name" json:"secretName,omitempty"`
		} `tfsdk:"storage" json:"storage,omitempty"`
		Version *string `tfsdk:"version" json:"version,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL