cilium_io_v2

package
v0.0.0-...-6209148 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: 0BSD Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCiliumIoCiliumClusterwideEnvoyConfigV2Manifest

func NewCiliumIoCiliumClusterwideEnvoyConfigV2Manifest() datasource.DataSource

func NewCiliumIoCiliumClusterwideNetworkPolicyV2Manifest

func NewCiliumIoCiliumClusterwideNetworkPolicyV2Manifest() datasource.DataSource

func NewCiliumIoCiliumEgressGatewayPolicyV2Manifest

func NewCiliumIoCiliumEgressGatewayPolicyV2Manifest() datasource.DataSource

func NewCiliumIoCiliumEnvoyConfigV2Manifest

func NewCiliumIoCiliumEnvoyConfigV2Manifest() datasource.DataSource

func NewCiliumIoCiliumExternalWorkloadV2Manifest

func NewCiliumIoCiliumExternalWorkloadV2Manifest() datasource.DataSource

func NewCiliumIoCiliumIdentityV2Manifest

func NewCiliumIoCiliumIdentityV2Manifest() datasource.DataSource

func NewCiliumIoCiliumLocalRedirectPolicyV2Manifest

func NewCiliumIoCiliumLocalRedirectPolicyV2Manifest() datasource.DataSource

func NewCiliumIoCiliumNetworkPolicyV2Manifest

func NewCiliumIoCiliumNetworkPolicyV2Manifest() datasource.DataSource

func NewCiliumIoCiliumNodeV2Manifest

func NewCiliumIoCiliumNodeV2Manifest() datasource.DataSource

Types

type CiliumIoCiliumClusterwideEnvoyConfigV2Manifest

type CiliumIoCiliumClusterwideEnvoyConfigV2Manifest struct{}

func (*CiliumIoCiliumClusterwideEnvoyConfigV2Manifest) Metadata

func (*CiliumIoCiliumClusterwideEnvoyConfigV2Manifest) Read

func (*CiliumIoCiliumClusterwideEnvoyConfigV2Manifest) Schema

type CiliumIoCiliumClusterwideEnvoyConfigV2ManifestData

type CiliumIoCiliumClusterwideEnvoyConfigV2ManifestData 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"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		BackendServices *[]struct {
			Name      *string   `tfsdk:"name" json:"name,omitempty"`
			Namespace *string   `tfsdk:"namespace" json:"namespace,omitempty"`
			Number    *[]string `tfsdk:"number" json:"number,omitempty"`
		} `tfsdk:"backend_services" json:"backendServices,omitempty"`
		NodeSelector *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:"node_selector" json:"nodeSelector,omitempty"`
		Resources *[]map[string]string `tfsdk:"resources" json:"resources,omitempty"`
		Services  *[]struct {
			Listener  *string   `tfsdk:"listener" json:"listener,omitempty"`
			Name      *string   `tfsdk:"name" json:"name,omitempty"`
			Namespace *string   `tfsdk:"namespace" json:"namespace,omitempty"`
			Ports     *[]string `tfsdk:"ports" json:"ports,omitempty"`
		} `tfsdk:"services" json:"services,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type CiliumIoCiliumClusterwideNetworkPolicyV2Manifest

type CiliumIoCiliumClusterwideNetworkPolicyV2Manifest struct{}

func (*CiliumIoCiliumClusterwideNetworkPolicyV2Manifest) Metadata

func (*CiliumIoCiliumClusterwideNetworkPolicyV2Manifest) Read

func (*CiliumIoCiliumClusterwideNetworkPolicyV2Manifest) Schema

type CiliumIoCiliumClusterwideNetworkPolicyV2ManifestData

type CiliumIoCiliumClusterwideNetworkPolicyV2ManifestData 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"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		Description *string `tfsdk:"description" json:"description,omitempty"`
		Egress      *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToFQDNs    *[]struct {
				MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
				MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
			} `tfsdk:"to_fqd_ns" json:"toFQDNs,omitempty"`
			ToGroups *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress" json:"egress,omitempty"`
		EgressDeny *[]struct {
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress_deny" json:"egressDeny,omitempty"`
		EnableDefaultDeny *struct {
			Egress  *bool `tfsdk:"egress" json:"egress,omitempty"`
			Ingress *bool `tfsdk:"ingress" json:"ingress,omitempty"`
		} `tfsdk:"enable_default_deny" json:"enableDefaultDeny,omitempty"`
		EndpointSelector *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:"endpoint_selector" json:"endpointSelector,omitempty"`
		Ingress *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress" json:"ingress,omitempty"`
		IngressDeny *[]struct {
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress_deny" json:"ingressDeny,omitempty"`
		Labels *[]struct {
			Key    *string `tfsdk:"key" json:"key,omitempty"`
			Source *string `tfsdk:"source" json:"source,omitempty"`
			Value  *string `tfsdk:"value" json:"value,omitempty"`
		} `tfsdk:"labels" json:"labels,omitempty"`
		NodeSelector *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:"node_selector" json:"nodeSelector,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
	Specs *[]struct {
		Description *string `tfsdk:"description" json:"description,omitempty"`
		Egress      *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToFQDNs    *[]struct {
				MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
				MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
			} `tfsdk:"to_fqd_ns" json:"toFQDNs,omitempty"`
			ToGroups *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress" json:"egress,omitempty"`
		EgressDeny *[]struct {
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress_deny" json:"egressDeny,omitempty"`
		EnableDefaultDeny *struct {
			Egress  *bool `tfsdk:"egress" json:"egress,omitempty"`
			Ingress *bool `tfsdk:"ingress" json:"ingress,omitempty"`
		} `tfsdk:"enable_default_deny" json:"enableDefaultDeny,omitempty"`
		EndpointSelector *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:"endpoint_selector" json:"endpointSelector,omitempty"`
		Ingress *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress" json:"ingress,omitempty"`
		IngressDeny *[]struct {
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress_deny" json:"ingressDeny,omitempty"`
		Labels *[]struct {
			Key    *string `tfsdk:"key" json:"key,omitempty"`
			Source *string `tfsdk:"source" json:"source,omitempty"`
			Value  *string `tfsdk:"value" json:"value,omitempty"`
		} `tfsdk:"labels" json:"labels,omitempty"`
		NodeSelector *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:"node_selector" json:"nodeSelector,omitempty"`
	} `tfsdk:"specs" json:"specs,omitempty"`
}

type CiliumIoCiliumEgressGatewayPolicyV2Manifest

type CiliumIoCiliumEgressGatewayPolicyV2Manifest struct{}

func (*CiliumIoCiliumEgressGatewayPolicyV2Manifest) Metadata

func (*CiliumIoCiliumEgressGatewayPolicyV2Manifest) Read

func (*CiliumIoCiliumEgressGatewayPolicyV2Manifest) Schema

type CiliumIoCiliumEgressGatewayPolicyV2ManifestData

type CiliumIoCiliumEgressGatewayPolicyV2ManifestData 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"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		DestinationCIDRs *[]string `tfsdk:"destination_cidrs" json:"destinationCIDRs,omitempty"`
		EgressGateway    *struct {
			EgressIP     *string `tfsdk:"egress_ip" json:"egressIP,omitempty"`
			Interface    *string `tfsdk:"interface" json:"interface,omitempty"`
			NodeSelector *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:"node_selector" json:"nodeSelector,omitempty"`
		} `tfsdk:"egress_gateway" json:"egressGateway,omitempty"`
		ExcludedCIDRs *[]string `tfsdk:"excluded_cidrs" json:"excludedCIDRs,omitempty"`
		Selectors     *[]struct {
			NamespaceSelector *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:"namespace_selector" json:"namespaceSelector,omitempty"`
			PodSelector *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:"pod_selector" json:"podSelector,omitempty"`
		} `tfsdk:"selectors" json:"selectors,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type CiliumIoCiliumEnvoyConfigV2Manifest

type CiliumIoCiliumEnvoyConfigV2Manifest struct{}

func (*CiliumIoCiliumEnvoyConfigV2Manifest) Metadata

func (*CiliumIoCiliumEnvoyConfigV2Manifest) Read

func (*CiliumIoCiliumEnvoyConfigV2Manifest) Schema

type CiliumIoCiliumEnvoyConfigV2ManifestData

type CiliumIoCiliumEnvoyConfigV2ManifestData 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 {
		BackendServices *[]struct {
			Name      *string   `tfsdk:"name" json:"name,omitempty"`
			Namespace *string   `tfsdk:"namespace" json:"namespace,omitempty"`
			Number    *[]string `tfsdk:"number" json:"number,omitempty"`
		} `tfsdk:"backend_services" json:"backendServices,omitempty"`
		NodeSelector *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:"node_selector" json:"nodeSelector,omitempty"`
		Resources *[]map[string]string `tfsdk:"resources" json:"resources,omitempty"`
		Services  *[]struct {
			Listener  *string   `tfsdk:"listener" json:"listener,omitempty"`
			Name      *string   `tfsdk:"name" json:"name,omitempty"`
			Namespace *string   `tfsdk:"namespace" json:"namespace,omitempty"`
			Ports     *[]string `tfsdk:"ports" json:"ports,omitempty"`
		} `tfsdk:"services" json:"services,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type CiliumIoCiliumExternalWorkloadV2Manifest

type CiliumIoCiliumExternalWorkloadV2Manifest struct{}

func (*CiliumIoCiliumExternalWorkloadV2Manifest) Metadata

func (*CiliumIoCiliumExternalWorkloadV2Manifest) Read

func (*CiliumIoCiliumExternalWorkloadV2Manifest) Schema

type CiliumIoCiliumExternalWorkloadV2ManifestData

type CiliumIoCiliumExternalWorkloadV2ManifestData 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"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		Ipv4_alloc_cidr *string `tfsdk:"ipv4_alloc_cidr" json:"ipv4-alloc-cidr,omitempty"`
		Ipv6_alloc_cidr *string `tfsdk:"ipv6_alloc_cidr" json:"ipv6-alloc-cidr,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type CiliumIoCiliumIdentityV2Manifest

type CiliumIoCiliumIdentityV2Manifest struct{}

func (*CiliumIoCiliumIdentityV2Manifest) Metadata

func (*CiliumIoCiliumIdentityV2Manifest) Read

func (*CiliumIoCiliumIdentityV2Manifest) Schema

type CiliumIoCiliumIdentityV2ManifestData

type CiliumIoCiliumIdentityV2ManifestData 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"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Security_labels *map[string]string `tfsdk:"security_labels" json:"security-labels,omitempty"`
}

type CiliumIoCiliumLocalRedirectPolicyV2Manifest

type CiliumIoCiliumLocalRedirectPolicyV2Manifest struct{}

func (*CiliumIoCiliumLocalRedirectPolicyV2Manifest) Metadata

func (*CiliumIoCiliumLocalRedirectPolicyV2Manifest) Read

func (*CiliumIoCiliumLocalRedirectPolicyV2Manifest) Schema

type CiliumIoCiliumLocalRedirectPolicyV2ManifestData

type CiliumIoCiliumLocalRedirectPolicyV2ManifestData 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 {
		Description     *string `tfsdk:"description" json:"description,omitempty"`
		RedirectBackend *struct {
			LocalEndpointSelector *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:"local_endpoint_selector" json:"localEndpointSelector,omitempty"`
			ToPorts *[]struct {
				Name     *string `tfsdk:"name" json:"name,omitempty"`
				Port     *string `tfsdk:"port" json:"port,omitempty"`
				Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"redirect_backend" json:"redirectBackend,omitempty"`
		RedirectFrontend *struct {
			AddressMatcher *struct {
				Ip      *string `tfsdk:"ip" json:"ip,omitempty"`
				ToPorts *[]struct {
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			} `tfsdk:"address_matcher" json:"addressMatcher,omitempty"`
			ServiceMatcher *struct {
				Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
				ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				ToPorts     *[]struct {
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			} `tfsdk:"service_matcher" json:"serviceMatcher,omitempty"`
		} `tfsdk:"redirect_frontend" json:"redirectFrontend,omitempty"`
		SkipRedirectFromBackend *bool `tfsdk:"skip_redirect_from_backend" json:"skipRedirectFromBackend,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

type CiliumIoCiliumNetworkPolicyV2Manifest

type CiliumIoCiliumNetworkPolicyV2Manifest struct{}

func (*CiliumIoCiliumNetworkPolicyV2Manifest) Metadata

func (*CiliumIoCiliumNetworkPolicyV2Manifest) Read

func (*CiliumIoCiliumNetworkPolicyV2Manifest) Schema

type CiliumIoCiliumNetworkPolicyV2ManifestData

type CiliumIoCiliumNetworkPolicyV2ManifestData 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 {
		Description *string `tfsdk:"description" json:"description,omitempty"`
		Egress      *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToFQDNs    *[]struct {
				MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
				MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
			} `tfsdk:"to_fqd_ns" json:"toFQDNs,omitempty"`
			ToGroups *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress" json:"egress,omitempty"`
		EgressDeny *[]struct {
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress_deny" json:"egressDeny,omitempty"`
		EnableDefaultDeny *struct {
			Egress  *bool `tfsdk:"egress" json:"egress,omitempty"`
			Ingress *bool `tfsdk:"ingress" json:"ingress,omitempty"`
		} `tfsdk:"enable_default_deny" json:"enableDefaultDeny,omitempty"`
		EndpointSelector *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:"endpoint_selector" json:"endpointSelector,omitempty"`
		Ingress *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress" json:"ingress,omitempty"`
		IngressDeny *[]struct {
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress_deny" json:"ingressDeny,omitempty"`
		Labels *[]struct {
			Key    *string `tfsdk:"key" json:"key,omitempty"`
			Source *string `tfsdk:"source" json:"source,omitempty"`
			Value  *string `tfsdk:"value" json:"value,omitempty"`
		} `tfsdk:"labels" json:"labels,omitempty"`
		NodeSelector *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:"node_selector" json:"nodeSelector,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
	Specs *[]struct {
		Description *string `tfsdk:"description" json:"description,omitempty"`
		Egress      *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToFQDNs    *[]struct {
				MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
				MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
			} `tfsdk:"to_fqd_ns" json:"toFQDNs,omitempty"`
			ToGroups *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress" json:"egress,omitempty"`
		EgressDeny *[]struct {
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToCIDR    *[]string `tfsdk:"to_cidr" json:"toCIDR,omitempty"`
			ToCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"to_cidr_set" json:"toCIDRSet,omitempty"`
			ToEndpoints *[]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:"to_endpoints" json:"toEndpoints,omitempty"`
			ToEntities *[]string `tfsdk:"to_entities" json:"toEntities,omitempty"`
			ToGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"to_groups" json:"toGroups,omitempty"`
			ToNodes *[]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:"to_nodes" json:"toNodes,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
			ToRequires *[]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:"to_requires" json:"toRequires,omitempty"`
			ToServices *[]struct {
				K8sService *struct {
					Namespace   *string `tfsdk:"namespace" json:"namespace,omitempty"`
					ServiceName *string `tfsdk:"service_name" json:"serviceName,omitempty"`
				} `tfsdk:"k8s_service" json:"k8sService,omitempty"`
				K8sServiceSelector *struct {
					Namespace *string `tfsdk:"namespace" json:"namespace,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:"k8s_service_selector" json:"k8sServiceSelector,omitempty"`
			} `tfsdk:"to_services" json:"toServices,omitempty"`
		} `tfsdk:"egress_deny" json:"egressDeny,omitempty"`
		EnableDefaultDeny *struct {
			Egress  *bool `tfsdk:"egress" json:"egress,omitempty"`
			Ingress *bool `tfsdk:"ingress" json:"ingress,omitempty"`
		} `tfsdk:"enable_default_deny" json:"enableDefaultDeny,omitempty"`
		EndpointSelector *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:"endpoint_selector" json:"endpointSelector,omitempty"`
		Ingress *[]struct {
			Authentication *struct {
				Mode *string `tfsdk:"mode" json:"mode,omitempty"`
			} `tfsdk:"authentication" json:"authentication,omitempty"`
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Listener *struct {
					EnvoyConfig *struct {
						Kind *string `tfsdk:"kind" json:"kind,omitempty"`
						Name *string `tfsdk:"name" json:"name,omitempty"`
					} `tfsdk:"envoy_config" json:"envoyConfig,omitempty"`
					Name     *string `tfsdk:"name" json:"name,omitempty"`
					Priority *int64  `tfsdk:"priority" json:"priority,omitempty"`
				} `tfsdk:"listener" json:"listener,omitempty"`
				OriginatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"originating_tls" json:"originatingTLS,omitempty"`
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
				Rules *struct {
					Dns *[]struct {
						MatchName    *string `tfsdk:"match_name" json:"matchName,omitempty"`
						MatchPattern *string `tfsdk:"match_pattern" json:"matchPattern,omitempty"`
					} `tfsdk:"dns" json:"dns,omitempty"`
					Http *[]struct {
						HeaderMatches *[]struct {
							Mismatch *string `tfsdk:"mismatch" json:"mismatch,omitempty"`
							Name     *string `tfsdk:"name" json:"name,omitempty"`
							Secret   *struct {
								Name      *string `tfsdk:"name" json:"name,omitempty"`
								Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
							} `tfsdk:"secret" json:"secret,omitempty"`
							Value *string `tfsdk:"value" json:"value,omitempty"`
						} `tfsdk:"header_matches" json:"headerMatches,omitempty"`
						Headers *[]string `tfsdk:"headers" json:"headers,omitempty"`
						Host    *string   `tfsdk:"host" json:"host,omitempty"`
						Method  *string   `tfsdk:"method" json:"method,omitempty"`
						Path    *string   `tfsdk:"path" json:"path,omitempty"`
					} `tfsdk:"http" json:"http,omitempty"`
					Kafka *[]struct {
						ApiKey     *string `tfsdk:"api_key" json:"apiKey,omitempty"`
						ApiVersion *string `tfsdk:"api_version" json:"apiVersion,omitempty"`
						ClientID   *string `tfsdk:"client_id" json:"clientID,omitempty"`
						Role       *string `tfsdk:"role" json:"role,omitempty"`
						Topic      *string `tfsdk:"topic" json:"topic,omitempty"`
					} `tfsdk:"kafka" json:"kafka,omitempty"`
					L7      *[]map[string]string `tfsdk:"l7" json:"l7,omitempty"`
					L7proto *string              `tfsdk:"l7proto" json:"l7proto,omitempty"`
				} `tfsdk:"rules" json:"rules,omitempty"`
				ServerNames    *[]string `tfsdk:"server_names" json:"serverNames,omitempty"`
				TerminatingTLS *struct {
					Certificate *string `tfsdk:"certificate" json:"certificate,omitempty"`
					PrivateKey  *string `tfsdk:"private_key" json:"privateKey,omitempty"`
					Secret      *struct {
						Name      *string `tfsdk:"name" json:"name,omitempty"`
						Namespace *string `tfsdk:"namespace" json:"namespace,omitempty"`
					} `tfsdk:"secret" json:"secret,omitempty"`
					TrustedCA *string `tfsdk:"trusted_ca" json:"trustedCA,omitempty"`
				} `tfsdk:"terminating_tls" json:"terminatingTLS,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress" json:"ingress,omitempty"`
		IngressDeny *[]struct {
			FromCIDR    *[]string `tfsdk:"from_cidr" json:"fromCIDR,omitempty"`
			FromCIDRSet *[]struct {
				Cidr         *string   `tfsdk:"cidr" json:"cidr,omitempty"`
				CidrGroupRef *string   `tfsdk:"cidr_group_ref" json:"cidrGroupRef,omitempty"`
				Except       *[]string `tfsdk:"except" json:"except,omitempty"`
			} `tfsdk:"from_cidr_set" json:"fromCIDRSet,omitempty"`
			FromEndpoints *[]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:"from_endpoints" json:"fromEndpoints,omitempty"`
			FromEntities *[]string `tfsdk:"from_entities" json:"fromEntities,omitempty"`
			FromGroups   *[]struct {
				Aws *struct {
					Labels              *map[string]string `tfsdk:"labels" json:"labels,omitempty"`
					Region              *string            `tfsdk:"region" json:"region,omitempty"`
					SecurityGroupsIds   *[]string          `tfsdk:"security_groups_ids" json:"securityGroupsIds,omitempty"`
					SecurityGroupsNames *[]string          `tfsdk:"security_groups_names" json:"securityGroupsNames,omitempty"`
				} `tfsdk:"aws" json:"aws,omitempty"`
			} `tfsdk:"from_groups" json:"fromGroups,omitempty"`
			FromNodes *[]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:"from_nodes" json:"fromNodes,omitempty"`
			FromRequires *[]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:"from_requires" json:"fromRequires,omitempty"`
			Icmps *[]struct {
				Fields *[]struct {
					Family *string `tfsdk:"family" json:"family,omitempty"`
					Type   *string `tfsdk:"type" json:"type,omitempty"`
				} `tfsdk:"fields" json:"fields,omitempty"`
			} `tfsdk:"icmps" json:"icmps,omitempty"`
			ToPorts *[]struct {
				Ports *[]struct {
					EndPort  *int64  `tfsdk:"end_port" json:"endPort,omitempty"`
					Port     *string `tfsdk:"port" json:"port,omitempty"`
					Protocol *string `tfsdk:"protocol" json:"protocol,omitempty"`
				} `tfsdk:"ports" json:"ports,omitempty"`
			} `tfsdk:"to_ports" json:"toPorts,omitempty"`
		} `tfsdk:"ingress_deny" json:"ingressDeny,omitempty"`
		Labels *[]struct {
			Key    *string `tfsdk:"key" json:"key,omitempty"`
			Source *string `tfsdk:"source" json:"source,omitempty"`
			Value  *string `tfsdk:"value" json:"value,omitempty"`
		} `tfsdk:"labels" json:"labels,omitempty"`
		NodeSelector *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:"node_selector" json:"nodeSelector,omitempty"`
	} `tfsdk:"specs" json:"specs,omitempty"`
}

type CiliumIoCiliumNodeV2Manifest

type CiliumIoCiliumNodeV2Manifest struct{}

func (*CiliumIoCiliumNodeV2Manifest) Metadata

func (*CiliumIoCiliumNodeV2Manifest) Read

func (*CiliumIoCiliumNodeV2Manifest) Schema

type CiliumIoCiliumNodeV2ManifestData

type CiliumIoCiliumNodeV2ManifestData 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"`
		Labels      map[string]string `tfsdk:"labels" json:"labels,omitempty"`
		Annotations map[string]string `tfsdk:"annotations" json:"annotations,omitempty"`
	} `tfsdk:"metadata" json:"metadata"`

	Spec *struct {
		Addresses *[]struct {
			Ip   *string `tfsdk:"ip" json:"ip,omitempty"`
			Type *string `tfsdk:"type" json:"type,omitempty"`
		} `tfsdk:"addresses" json:"addresses,omitempty"`
		Alibaba_cloud *struct {
			Availability_zone   *string            `tfsdk:"availability_zone" json:"availability-zone,omitempty"`
			Cidr_block          *string            `tfsdk:"cidr_block" json:"cidr-block,omitempty"`
			Instance_type       *string            `tfsdk:"instance_type" json:"instance-type,omitempty"`
			Security_group_tags *map[string]string `tfsdk:"security_group_tags" json:"security-group-tags,omitempty"`
			Security_groups     *[]string          `tfsdk:"security_groups" json:"security-groups,omitempty"`
			Vpc_id              *string            `tfsdk:"vpc_id" json:"vpc-id,omitempty"`
			Vswitch_tags        *map[string]string `tfsdk:"vswitch_tags" json:"vswitch-tags,omitempty"`
			Vswitches           *[]string          `tfsdk:"vswitches" json:"vswitches,omitempty"`
		} `tfsdk:"alibaba_cloud" json:"alibaba-cloud,omitempty"`
		Azure *struct {
			Interface_name *string `tfsdk:"interface_name" json:"interface-name,omitempty"`
		} `tfsdk:"azure" json:"azure,omitempty"`
		Bootid     *string `tfsdk:"bootid" json:"bootid,omitempty"`
		Encryption *struct {
			Key *int64 `tfsdk:"key" json:"key,omitempty"`
		} `tfsdk:"encryption" json:"encryption,omitempty"`
		Eni *struct {
			Availability_zone         *string            `tfsdk:"availability_zone" json:"availability-zone,omitempty"`
			Delete_on_termination     *bool              `tfsdk:"delete_on_termination" json:"delete-on-termination,omitempty"`
			Disable_prefix_delegation *bool              `tfsdk:"disable_prefix_delegation" json:"disable-prefix-delegation,omitempty"`
			Exclude_interface_tags    *map[string]string `tfsdk:"exclude_interface_tags" json:"exclude-interface-tags,omitempty"`
			First_interface_index     *int64             `tfsdk:"first_interface_index" json:"first-interface-index,omitempty"`
			Instance_id               *string            `tfsdk:"instance_id" json:"instance-id,omitempty"`
			Instance_type             *string            `tfsdk:"instance_type" json:"instance-type,omitempty"`
			Max_above_watermark       *int64             `tfsdk:"max_above_watermark" json:"max-above-watermark,omitempty"`
			Min_allocate              *int64             `tfsdk:"min_allocate" json:"min-allocate,omitempty"`
			Node_subnet_id            *string            `tfsdk:"node_subnet_id" json:"node-subnet-id,omitempty"`
			Pre_allocate              *int64             `tfsdk:"pre_allocate" json:"pre-allocate,omitempty"`
			Security_group_tags       *map[string]string `tfsdk:"security_group_tags" json:"security-group-tags,omitempty"`
			Security_groups           *[]string          `tfsdk:"security_groups" json:"security-groups,omitempty"`
			Subnet_ids                *[]string          `tfsdk:"subnet_ids" json:"subnet-ids,omitempty"`
			Subnet_tags               *map[string]string `tfsdk:"subnet_tags" json:"subnet-tags,omitempty"`
			Use_primary_address       *bool              `tfsdk:"use_primary_address" json:"use-primary-address,omitempty"`
			Vpc_id                    *string            `tfsdk:"vpc_id" json:"vpc-id,omitempty"`
		} `tfsdk:"eni" json:"eni,omitempty"`
		Health *struct {
			Ipv4 *string `tfsdk:"ipv4" json:"ipv4,omitempty"`
			Ipv6 *string `tfsdk:"ipv6" json:"ipv6,omitempty"`
		} `tfsdk:"health" json:"health,omitempty"`
		Ingress *struct {
			Ipv4 *string `tfsdk:"ipv4" json:"ipv4,omitempty"`
			Ipv6 *string `tfsdk:"ipv6" json:"ipv6,omitempty"`
		} `tfsdk:"ingress" json:"ingress,omitempty"`
		Instance_id *string `tfsdk:"instance_id" json:"instance-id,omitempty"`
		Ipam        *struct {
			Ipv6_pool *struct {
				Owner    *string `tfsdk:"owner" json:"owner,omitempty"`
				Resource *string `tfsdk:"resource" json:"resource,omitempty"`
			} `tfsdk:"ipv6_pool" json:"ipv6-pool,omitempty"`
			Max_above_watermark *int64    `tfsdk:"max_above_watermark" json:"max-above-watermark,omitempty"`
			Max_allocate        *int64    `tfsdk:"max_allocate" json:"max-allocate,omitempty"`
			Min_allocate        *int64    `tfsdk:"min_allocate" json:"min-allocate,omitempty"`
			PodCIDRs            *[]string `tfsdk:"pod_cidrs" json:"podCIDRs,omitempty"`
			Pool                *struct {
				Owner    *string `tfsdk:"owner" json:"owner,omitempty"`
				Resource *string `tfsdk:"resource" json:"resource,omitempty"`
			} `tfsdk:"pool" json:"pool,omitempty"`
			Pools *struct {
				Allocated *[]struct {
					Cidrs *[]string `tfsdk:"cidrs" json:"cidrs,omitempty"`
					Pool  *string   `tfsdk:"pool" json:"pool,omitempty"`
				} `tfsdk:"allocated" json:"allocated,omitempty"`
				Requested *[]struct {
					Needed *struct {
						Ipv4_addrs *int64 `tfsdk:"ipv4_addrs" json:"ipv4-addrs,omitempty"`
						Ipv6_addrs *int64 `tfsdk:"ipv6_addrs" json:"ipv6-addrs,omitempty"`
					} `tfsdk:"needed" json:"needed,omitempty"`
					Pool *string `tfsdk:"pool" json:"pool,omitempty"`
				} `tfsdk:"requested" json:"requested,omitempty"`
			} `tfsdk:"pools" json:"pools,omitempty"`
			Pre_allocate   *int64             `tfsdk:"pre_allocate" json:"pre-allocate,omitempty"`
			Static_ip_tags *map[string]string `tfsdk:"static_ip_tags" json:"static-ip-tags,omitempty"`
		} `tfsdk:"ipam" json:"ipam,omitempty"`
		Nodeidentity *int64 `tfsdk:"nodeidentity" json:"nodeidentity,omitempty"`
	} `tfsdk:"spec" json:"spec,omitempty"`
}

Jump to

Keyboard shortcuts

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