import { IComGithubCiliumCiliumPkgPolicyApiEgressRule } from "./EgressRule.js"; import { IComGithubCiliumCiliumPkgPolicyApiEgressDenyRule } from "./EgressDenyRule.js"; import { IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig } from "./DefaultDenyConfig.js"; import { IComGithubCiliumCiliumPkgPolicyApiEndpointSelector } from "./EndpointSelector.js"; import { IComGithubCiliumCiliumPkgPolicyApiIngressRule } from "./IngressRule.js"; import { IComGithubCiliumCiliumPkgPolicyApiIngressDenyRule } from "./IngressDenyRule.js"; import { IComGithubCiliumCiliumPkgLabelsLabelArray } from "../../github.com/cilium/cilium/pkg/labels/LabelArray.js"; import { IComGithubCiliumCiliumPkgPolicyApiLogConfig } from "./LogConfig.js"; /** * Rule is a policy rule which must be applied to all endpoints which match the * labels contained in the endpointSelector * * Each rule is split into an ingress section which contains all rules * applicable at ingress, and an egress section applicable at egress. For rule * types such as `L4Rule` and `CIDR` which can be applied at both ingress and * egress, both ingress and egress side have to either specifically allow the * connection or one side has to be omitted. * * Either ingress, egress, or both can be provided. If both ingress and egress * are omitted, the rule has no effect. */ export type IRule = { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } & ({ /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector": IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } & ({ /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress": Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } | { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny": Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } | { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress": Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } | { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny": Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; }) | { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector": IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } & ({ /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress": Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } | { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny": Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } | { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress": Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny"?: Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; } | { /** * Description is a free form string, it can be used by the creator of * the rule to store human readable explanation of the purpose of this * rule. Rules cannot be identified by comment. */ "description"?: string; /** * Egress is a list of EgressRule which are enforced at egress. * If omitted or empty, this rule does not apply at egress. */ "egress"?: Array; /** * EgressDeny is a list of EgressDenyRule which are enforced at egress. * Any rule inserted here will be denied regardless of the allowed egress * rules in the 'egress' field. * If omitted or empty, this rule does not apply at egress. */ "egressDeny": Array; /** * EnableDefaultDeny determines whether this policy configures the * subject endpoint(s) to have a default deny mode. If enabled, * this causes all traffic not explicitly allowed by a network policy * to be dropped. * * If not specified, the default is true for each traffic direction * that has rules, and false otherwise. For example, if a policy * only has Ingress or IngressDeny rules, then the default for * ingress is true and egress is false. * * If multiple policies apply to an endpoint, that endpoint's default deny * will be enabled if any policy requests it. * * This is useful for creating broad-based network policies that will not * cause endpoints to enter default-deny mode. */ "enableDefaultDeny"?: IComGithubCiliumCiliumPkgPolicyApiDefaultDenyConfig; /** * EndpointSelector selects all endpoints which should be subject to * this rule. EndpointSelector and NodeSelector cannot be both empty and * are mutually exclusive. */ "endpointSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; /** * Ingress is a list of IngressRule which are enforced at ingress. * If omitted or empty, this rule does not apply at ingress. */ "ingress"?: Array; /** * IngressDeny is a list of IngressDenyRule which are enforced at ingress. * Any rule inserted here will be denied regardless of the allowed ingress * rules in the 'ingress' field. * If omitted or empty, this rule does not apply at ingress. */ "ingressDeny"?: Array; /** * Labels is a list of optional strings which can be used to * re-identify the rule or to store metadata. It is possible to lookup * or delete strings based on labels. Labels are not required to be * unique, multiple rules can have overlapping or identical labels. */ "labels"?: IComGithubCiliumCiliumPkgLabelsLabelArray; /** * Log specifies custom policy-specific Hubble logging configuration. */ "log"?: IComGithubCiliumCiliumPkgPolicyApiLogConfig; /** * NodeSelector selects all nodes which should be subject to this rule. * EndpointSelector and NodeSelector cannot be both empty and are mutually * exclusive. Can only be used in CiliumClusterwideNetworkPolicies. */ "nodeSelector"?: IComGithubCiliumCiliumPkgPolicyApiEndpointSelector; })); export type Rule = IRule; export type { IRule as IComGithubCiliumCiliumPkgPolicyApiRule, Rule as ComGithubCiliumCiliumPkgPolicyApiRule };