pulumi-eks 3.9.0a1742626547__py3-none-any.whl → 4.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@
2
2
  # *** WARNING: this file was generated by pulumi-gen-eks. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
+ import builtins
5
6
  import copy
6
7
  import warnings
7
8
  import sys
@@ -20,90 +21,90 @@ __all__ = ['VpcCniAddonArgs', 'VpcCniAddon']
20
21
  @pulumi.input_type
21
22
  class VpcCniAddonArgs:
22
23
  def __init__(__self__, *,
23
- cluster_name: pulumi.Input[str],
24
- addon_version: Optional[pulumi.Input[str]] = None,
25
- cluster_version: Optional[pulumi.Input[str]] = None,
26
- cni_configure_rpfilter: Optional[pulumi.Input[bool]] = None,
27
- cni_custom_network_cfg: Optional[pulumi.Input[bool]] = None,
28
- cni_external_snat: Optional[pulumi.Input[bool]] = None,
24
+ cluster_name: pulumi.Input[builtins.str],
25
+ addon_version: Optional[pulumi.Input[builtins.str]] = None,
26
+ cluster_version: Optional[pulumi.Input[builtins.str]] = None,
27
+ cni_configure_rpfilter: Optional[pulumi.Input[builtins.bool]] = None,
28
+ cni_custom_network_cfg: Optional[pulumi.Input[builtins.bool]] = None,
29
+ cni_external_snat: Optional[pulumi.Input[builtins.bool]] = None,
29
30
  configuration_values: Optional[pulumi.Input[Mapping[str, Any]]] = None,
30
- custom_network_config: Optional[pulumi.Input[bool]] = None,
31
- disable_tcp_early_demux: Optional[pulumi.Input[bool]] = None,
32
- enable_network_policy: Optional[pulumi.Input[bool]] = None,
33
- enable_pod_eni: Optional[pulumi.Input[bool]] = None,
34
- enable_prefix_delegation: Optional[pulumi.Input[bool]] = None,
35
- eni_config_label_def: Optional[pulumi.Input[str]] = None,
36
- eni_mtu: Optional[pulumi.Input[int]] = None,
37
- external_snat: Optional[pulumi.Input[bool]] = None,
38
- log_file: Optional[pulumi.Input[str]] = None,
39
- log_level: Optional[pulumi.Input[str]] = None,
40
- node_port_support: Optional[pulumi.Input[bool]] = None,
31
+ custom_network_config: Optional[pulumi.Input[builtins.bool]] = None,
32
+ disable_tcp_early_demux: Optional[pulumi.Input[builtins.bool]] = None,
33
+ enable_network_policy: Optional[pulumi.Input[builtins.bool]] = None,
34
+ enable_pod_eni: Optional[pulumi.Input[builtins.bool]] = None,
35
+ enable_prefix_delegation: Optional[pulumi.Input[builtins.bool]] = None,
36
+ eni_config_label_def: Optional[pulumi.Input[builtins.str]] = None,
37
+ eni_mtu: Optional[pulumi.Input[builtins.int]] = None,
38
+ external_snat: Optional[pulumi.Input[builtins.bool]] = None,
39
+ log_file: Optional[pulumi.Input[builtins.str]] = None,
40
+ log_level: Optional[pulumi.Input[builtins.str]] = None,
41
+ node_port_support: Optional[pulumi.Input[builtins.bool]] = None,
41
42
  resolve_conflicts_on_create: Optional['ResolveConflictsOnCreate'] = None,
42
43
  resolve_conflicts_on_update: Optional['ResolveConflictsOnUpdate'] = None,
43
- security_context_privileged: Optional[pulumi.Input[bool]] = None,
44
- service_account_role_arn: Optional[pulumi.Input[str]] = None,
45
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None,
46
- veth_prefix: Optional[pulumi.Input[str]] = None,
47
- warm_eni_target: Optional[pulumi.Input[int]] = None,
48
- warm_ip_target: Optional[pulumi.Input[int]] = None,
49
- warm_prefix_target: Optional[pulumi.Input[int]] = None):
44
+ security_context_privileged: Optional[pulumi.Input[builtins.bool]] = None,
45
+ service_account_role_arn: Optional[pulumi.Input[builtins.str]] = None,
46
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]]] = None,
47
+ veth_prefix: Optional[pulumi.Input[builtins.str]] = None,
48
+ warm_eni_target: Optional[pulumi.Input[builtins.int]] = None,
49
+ warm_ip_target: Optional[pulumi.Input[builtins.int]] = None,
50
+ warm_prefix_target: Optional[pulumi.Input[builtins.int]] = None):
50
51
  """
51
52
  The set of arguments for constructing a VpcCniAddon resource.
52
- :param pulumi.Input[str] cluster_name: The name of the EKS cluster.
53
- :param pulumi.Input[str] addon_version: The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
54
- :param pulumi.Input[str] cluster_version: The Kubernetes version of the cluster. This is used to determine the addon version to use if `addonVersion` is not specified.
55
- :param pulumi.Input[bool] cni_configure_rpfilter: Specifies whether ipamd should configure rp filter for primary interface. Default is `false`.
56
- :param pulumi.Input[bool] cni_custom_network_cfg: Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is `false`
57
- :param pulumi.Input[bool] cni_external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is `false`
53
+ :param pulumi.Input[builtins.str] cluster_name: The name of the EKS cluster.
54
+ :param pulumi.Input[builtins.str] addon_version: The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
55
+ :param pulumi.Input[builtins.str] cluster_version: The Kubernetes version of the cluster. This is used to determine the addon version to use if `addonVersion` is not specified.
56
+ :param pulumi.Input[builtins.bool] cni_configure_rpfilter: Specifies whether ipamd should configure rp filter for primary interface. Default is `false`.
57
+ :param pulumi.Input[builtins.bool] cni_custom_network_cfg: Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is `false`
58
+ :param pulumi.Input[builtins.bool] cni_external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is `false`
58
59
  :param pulumi.Input[Mapping[str, Any]] configuration_values: Custom configuration values for the vpc-cni addon. This object must match the schema derived from [describe-addon-configuration](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-addon-configuration.html).
59
- :param pulumi.Input[bool] custom_network_config: Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's `resourcesVpcConfig`.
60
+ :param pulumi.Input[builtins.bool] custom_network_config: Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's `resourcesVpcConfig`.
60
61
 
61
62
  Defaults to false.
62
- :param pulumi.Input[bool] disable_tcp_early_demux: Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
63
- :param pulumi.Input[bool] enable_network_policy: Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
63
+ :param pulumi.Input[builtins.bool] disable_tcp_early_demux: Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
64
+ :param pulumi.Input[builtins.bool] enable_network_policy: Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
64
65
 
65
66
  See for more information: [Kubernetes Network Policies](https://kubernetes.io/docs/concepts/services-networking/network-policies/).
66
- :param pulumi.Input[bool] enable_pod_eni: Specifies whether to allow IPAMD to add the `vpc.amazonaws.com/has-trunk-attached` label to the node if the instance has capacity to attach an additional ENI. Default is `false`. If using liveness and readiness probes, you will also need to disable TCP early demux.
67
- :param pulumi.Input[bool] enable_prefix_delegation: IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
68
- :param pulumi.Input[str] eni_config_label_def: Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone
67
+ :param pulumi.Input[builtins.bool] enable_pod_eni: Specifies whether to allow IPAMD to add the `vpc.amazonaws.com/has-trunk-attached` label to the node if the instance has capacity to attach an additional ENI. Default is `false`. If using liveness and readiness probes, you will also need to disable TCP early demux.
68
+ :param pulumi.Input[builtins.bool] enable_prefix_delegation: IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
69
+ :param pulumi.Input[builtins.str] eni_config_label_def: Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone
69
70
  Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
70
71
 
71
72
  Defaults to the official AWS CNI image in ECR.
72
- :param pulumi.Input[int] eni_mtu: Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
73
+ :param pulumi.Input[builtins.int] eni_mtu: Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
73
74
 
74
75
  Defaults to 9001.
75
- :param pulumi.Input[bool] external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
76
+ :param pulumi.Input[builtins.bool] external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
76
77
 
77
78
  Defaults to false.
78
- :param pulumi.Input[str] log_file: Specifies the file path used for logs.
79
+ :param pulumi.Input[builtins.str] log_file: Specifies the file path used for logs.
79
80
 
80
81
  Defaults to "stdout" to emit Pod logs for `kubectl logs`.
81
- :param pulumi.Input[str] log_level: Specifies the log level used for logs.
82
+ :param pulumi.Input[builtins.str] log_level: Specifies the log level used for logs.
82
83
 
83
84
  Defaults to "DEBUG"
84
85
  Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
85
- :param pulumi.Input[bool] node_port_support: Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
86
+ :param pulumi.Input[builtins.bool] node_port_support: Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
86
87
 
87
88
  Defaults to true.
88
89
  :param 'ResolveConflictsOnCreate' resolve_conflicts_on_create: How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are `NONE` and `OVERWRITE`. For more details see the [CreateAddon](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateAddon.html) API Docs.
89
90
  :param 'ResolveConflictsOnUpdate' resolve_conflicts_on_update: How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are `NONE`, `OVERWRITE`, and `PRESERVE`. For more details see the [UpdateAddon](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html) API Docs.
90
- :param pulumi.Input[bool] security_context_privileged: Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
91
- :param pulumi.Input[str] service_account_role_arn: The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
91
+ :param pulumi.Input[builtins.bool] security_context_privileged: Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
92
+ :param pulumi.Input[builtins.str] service_account_role_arn: The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
92
93
 
93
94
  For more information, see [Amazon EKS node IAM role](https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) in the Amazon EKS User Guide.
94
95
 
95
96
  Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see [Enabling IAM roles for service accounts on your cluster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) in the Amazon EKS User Guide.
96
- :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] tags: Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
97
- :param pulumi.Input[str] veth_prefix: Specifies the veth prefix used to generate the host-side veth device name for the CNI.
97
+ :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]] tags: Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
98
+ :param pulumi.Input[builtins.str] veth_prefix: Specifies the veth prefix used to generate the host-side veth device name for the CNI.
98
99
 
99
100
  The prefix can be at most 4 characters long.
100
101
 
101
102
  Defaults to "eni".
102
- :param pulumi.Input[int] warm_eni_target: Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
103
+ :param pulumi.Input[builtins.int] warm_eni_target: Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
103
104
 
104
105
  Defaults to 1.
105
- :param pulumi.Input[int] warm_ip_target: Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
106
- :param pulumi.Input[int] warm_prefix_target: WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
106
+ :param pulumi.Input[builtins.int] warm_ip_target: Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
107
+ :param pulumi.Input[builtins.int] warm_prefix_target: WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
107
108
  """
108
109
  pulumi.set(__self__, "cluster_name", cluster_name)
109
110
  if addon_version is not None:
@@ -165,74 +166,74 @@ class VpcCniAddonArgs:
165
166
 
166
167
  @property
167
168
  @pulumi.getter(name="clusterName")
168
- def cluster_name(self) -> pulumi.Input[str]:
169
+ def cluster_name(self) -> pulumi.Input[builtins.str]:
169
170
  """
170
171
  The name of the EKS cluster.
171
172
  """
172
173
  return pulumi.get(self, "cluster_name")
173
174
 
174
175
  @cluster_name.setter
175
- def cluster_name(self, value: pulumi.Input[str]):
176
+ def cluster_name(self, value: pulumi.Input[builtins.str]):
176
177
  pulumi.set(self, "cluster_name", value)
177
178
 
178
179
  @property
179
180
  @pulumi.getter(name="addonVersion")
180
- def addon_version(self) -> Optional[pulumi.Input[str]]:
181
+ def addon_version(self) -> Optional[pulumi.Input[builtins.str]]:
181
182
  """
182
183
  The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
183
184
  """
184
185
  return pulumi.get(self, "addon_version")
185
186
 
186
187
  @addon_version.setter
187
- def addon_version(self, value: Optional[pulumi.Input[str]]):
188
+ def addon_version(self, value: Optional[pulumi.Input[builtins.str]]):
188
189
  pulumi.set(self, "addon_version", value)
189
190
 
190
191
  @property
191
192
  @pulumi.getter(name="clusterVersion")
192
- def cluster_version(self) -> Optional[pulumi.Input[str]]:
193
+ def cluster_version(self) -> Optional[pulumi.Input[builtins.str]]:
193
194
  """
194
195
  The Kubernetes version of the cluster. This is used to determine the addon version to use if `addonVersion` is not specified.
195
196
  """
196
197
  return pulumi.get(self, "cluster_version")
197
198
 
198
199
  @cluster_version.setter
199
- def cluster_version(self, value: Optional[pulumi.Input[str]]):
200
+ def cluster_version(self, value: Optional[pulumi.Input[builtins.str]]):
200
201
  pulumi.set(self, "cluster_version", value)
201
202
 
202
203
  @property
203
204
  @pulumi.getter(name="cniConfigureRpfilter")
204
- def cni_configure_rpfilter(self) -> Optional[pulumi.Input[bool]]:
205
+ def cni_configure_rpfilter(self) -> Optional[pulumi.Input[builtins.bool]]:
205
206
  """
206
207
  Specifies whether ipamd should configure rp filter for primary interface. Default is `false`.
207
208
  """
208
209
  return pulumi.get(self, "cni_configure_rpfilter")
209
210
 
210
211
  @cni_configure_rpfilter.setter
211
- def cni_configure_rpfilter(self, value: Optional[pulumi.Input[bool]]):
212
+ def cni_configure_rpfilter(self, value: Optional[pulumi.Input[builtins.bool]]):
212
213
  pulumi.set(self, "cni_configure_rpfilter", value)
213
214
 
214
215
  @property
215
216
  @pulumi.getter(name="cniCustomNetworkCfg")
216
- def cni_custom_network_cfg(self) -> Optional[pulumi.Input[bool]]:
217
+ def cni_custom_network_cfg(self) -> Optional[pulumi.Input[builtins.bool]]:
217
218
  """
218
219
  Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is `false`
219
220
  """
220
221
  return pulumi.get(self, "cni_custom_network_cfg")
221
222
 
222
223
  @cni_custom_network_cfg.setter
223
- def cni_custom_network_cfg(self, value: Optional[pulumi.Input[bool]]):
224
+ def cni_custom_network_cfg(self, value: Optional[pulumi.Input[builtins.bool]]):
224
225
  pulumi.set(self, "cni_custom_network_cfg", value)
225
226
 
226
227
  @property
227
228
  @pulumi.getter(name="cniExternalSnat")
228
- def cni_external_snat(self) -> Optional[pulumi.Input[bool]]:
229
+ def cni_external_snat(self) -> Optional[pulumi.Input[builtins.bool]]:
229
230
  """
230
231
  Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is `false`
231
232
  """
232
233
  return pulumi.get(self, "cni_external_snat")
233
234
 
234
235
  @cni_external_snat.setter
235
- def cni_external_snat(self, value: Optional[pulumi.Input[bool]]):
236
+ def cni_external_snat(self, value: Optional[pulumi.Input[builtins.bool]]):
236
237
  pulumi.set(self, "cni_external_snat", value)
237
238
 
238
239
  @property
@@ -249,7 +250,7 @@ class VpcCniAddonArgs:
249
250
 
250
251
  @property
251
252
  @pulumi.getter(name="customNetworkConfig")
252
- def custom_network_config(self) -> Optional[pulumi.Input[bool]]:
253
+ def custom_network_config(self) -> Optional[pulumi.Input[builtins.bool]]:
253
254
  """
254
255
  Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's `resourcesVpcConfig`.
255
256
 
@@ -258,24 +259,24 @@ class VpcCniAddonArgs:
258
259
  return pulumi.get(self, "custom_network_config")
259
260
 
260
261
  @custom_network_config.setter
261
- def custom_network_config(self, value: Optional[pulumi.Input[bool]]):
262
+ def custom_network_config(self, value: Optional[pulumi.Input[builtins.bool]]):
262
263
  pulumi.set(self, "custom_network_config", value)
263
264
 
264
265
  @property
265
266
  @pulumi.getter(name="disableTcpEarlyDemux")
266
- def disable_tcp_early_demux(self) -> Optional[pulumi.Input[bool]]:
267
+ def disable_tcp_early_demux(self) -> Optional[pulumi.Input[builtins.bool]]:
267
268
  """
268
269
  Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
269
270
  """
270
271
  return pulumi.get(self, "disable_tcp_early_demux")
271
272
 
272
273
  @disable_tcp_early_demux.setter
273
- def disable_tcp_early_demux(self, value: Optional[pulumi.Input[bool]]):
274
+ def disable_tcp_early_demux(self, value: Optional[pulumi.Input[builtins.bool]]):
274
275
  pulumi.set(self, "disable_tcp_early_demux", value)
275
276
 
276
277
  @property
277
278
  @pulumi.getter(name="enableNetworkPolicy")
278
- def enable_network_policy(self) -> Optional[pulumi.Input[bool]]:
279
+ def enable_network_policy(self) -> Optional[pulumi.Input[builtins.bool]]:
279
280
  """
280
281
  Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
281
282
 
@@ -284,36 +285,36 @@ class VpcCniAddonArgs:
284
285
  return pulumi.get(self, "enable_network_policy")
285
286
 
286
287
  @enable_network_policy.setter
287
- def enable_network_policy(self, value: Optional[pulumi.Input[bool]]):
288
+ def enable_network_policy(self, value: Optional[pulumi.Input[builtins.bool]]):
288
289
  pulumi.set(self, "enable_network_policy", value)
289
290
 
290
291
  @property
291
292
  @pulumi.getter(name="enablePodEni")
292
- def enable_pod_eni(self) -> Optional[pulumi.Input[bool]]:
293
+ def enable_pod_eni(self) -> Optional[pulumi.Input[builtins.bool]]:
293
294
  """
294
295
  Specifies whether to allow IPAMD to add the `vpc.amazonaws.com/has-trunk-attached` label to the node if the instance has capacity to attach an additional ENI. Default is `false`. If using liveness and readiness probes, you will also need to disable TCP early demux.
295
296
  """
296
297
  return pulumi.get(self, "enable_pod_eni")
297
298
 
298
299
  @enable_pod_eni.setter
299
- def enable_pod_eni(self, value: Optional[pulumi.Input[bool]]):
300
+ def enable_pod_eni(self, value: Optional[pulumi.Input[builtins.bool]]):
300
301
  pulumi.set(self, "enable_pod_eni", value)
301
302
 
302
303
  @property
303
304
  @pulumi.getter(name="enablePrefixDelegation")
304
- def enable_prefix_delegation(self) -> Optional[pulumi.Input[bool]]:
305
+ def enable_prefix_delegation(self) -> Optional[pulumi.Input[builtins.bool]]:
305
306
  """
306
307
  IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
307
308
  """
308
309
  return pulumi.get(self, "enable_prefix_delegation")
309
310
 
310
311
  @enable_prefix_delegation.setter
311
- def enable_prefix_delegation(self, value: Optional[pulumi.Input[bool]]):
312
+ def enable_prefix_delegation(self, value: Optional[pulumi.Input[builtins.bool]]):
312
313
  pulumi.set(self, "enable_prefix_delegation", value)
313
314
 
314
315
  @property
315
316
  @pulumi.getter(name="eniConfigLabelDef")
316
- def eni_config_label_def(self) -> Optional[pulumi.Input[str]]:
317
+ def eni_config_label_def(self) -> Optional[pulumi.Input[builtins.str]]:
317
318
  """
318
319
  Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone
319
320
  Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
@@ -323,12 +324,12 @@ class VpcCniAddonArgs:
323
324
  return pulumi.get(self, "eni_config_label_def")
324
325
 
325
326
  @eni_config_label_def.setter
326
- def eni_config_label_def(self, value: Optional[pulumi.Input[str]]):
327
+ def eni_config_label_def(self, value: Optional[pulumi.Input[builtins.str]]):
327
328
  pulumi.set(self, "eni_config_label_def", value)
328
329
 
329
330
  @property
330
331
  @pulumi.getter(name="eniMtu")
331
- def eni_mtu(self) -> Optional[pulumi.Input[int]]:
332
+ def eni_mtu(self) -> Optional[pulumi.Input[builtins.int]]:
332
333
  """
333
334
  Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
334
335
 
@@ -337,12 +338,12 @@ class VpcCniAddonArgs:
337
338
  return pulumi.get(self, "eni_mtu")
338
339
 
339
340
  @eni_mtu.setter
340
- def eni_mtu(self, value: Optional[pulumi.Input[int]]):
341
+ def eni_mtu(self, value: Optional[pulumi.Input[builtins.int]]):
341
342
  pulumi.set(self, "eni_mtu", value)
342
343
 
343
344
  @property
344
345
  @pulumi.getter(name="externalSnat")
345
- def external_snat(self) -> Optional[pulumi.Input[bool]]:
346
+ def external_snat(self) -> Optional[pulumi.Input[builtins.bool]]:
346
347
  """
347
348
  Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
348
349
 
@@ -351,12 +352,12 @@ class VpcCniAddonArgs:
351
352
  return pulumi.get(self, "external_snat")
352
353
 
353
354
  @external_snat.setter
354
- def external_snat(self, value: Optional[pulumi.Input[bool]]):
355
+ def external_snat(self, value: Optional[pulumi.Input[builtins.bool]]):
355
356
  pulumi.set(self, "external_snat", value)
356
357
 
357
358
  @property
358
359
  @pulumi.getter(name="logFile")
359
- def log_file(self) -> Optional[pulumi.Input[str]]:
360
+ def log_file(self) -> Optional[pulumi.Input[builtins.str]]:
360
361
  """
361
362
  Specifies the file path used for logs.
362
363
 
@@ -365,12 +366,12 @@ class VpcCniAddonArgs:
365
366
  return pulumi.get(self, "log_file")
366
367
 
367
368
  @log_file.setter
368
- def log_file(self, value: Optional[pulumi.Input[str]]):
369
+ def log_file(self, value: Optional[pulumi.Input[builtins.str]]):
369
370
  pulumi.set(self, "log_file", value)
370
371
 
371
372
  @property
372
373
  @pulumi.getter(name="logLevel")
373
- def log_level(self) -> Optional[pulumi.Input[str]]:
374
+ def log_level(self) -> Optional[pulumi.Input[builtins.str]]:
374
375
  """
375
376
  Specifies the log level used for logs.
376
377
 
@@ -380,12 +381,12 @@ class VpcCniAddonArgs:
380
381
  return pulumi.get(self, "log_level")
381
382
 
382
383
  @log_level.setter
383
- def log_level(self, value: Optional[pulumi.Input[str]]):
384
+ def log_level(self, value: Optional[pulumi.Input[builtins.str]]):
384
385
  pulumi.set(self, "log_level", value)
385
386
 
386
387
  @property
387
388
  @pulumi.getter(name="nodePortSupport")
388
- def node_port_support(self) -> Optional[pulumi.Input[bool]]:
389
+ def node_port_support(self) -> Optional[pulumi.Input[builtins.bool]]:
389
390
  """
390
391
  Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
391
392
 
@@ -394,7 +395,7 @@ class VpcCniAddonArgs:
394
395
  return pulumi.get(self, "node_port_support")
395
396
 
396
397
  @node_port_support.setter
397
- def node_port_support(self, value: Optional[pulumi.Input[bool]]):
398
+ def node_port_support(self, value: Optional[pulumi.Input[builtins.bool]]):
398
399
  pulumi.set(self, "node_port_support", value)
399
400
 
400
401
  @property
@@ -423,19 +424,19 @@ class VpcCniAddonArgs:
423
424
 
424
425
  @property
425
426
  @pulumi.getter(name="securityContextPrivileged")
426
- def security_context_privileged(self) -> Optional[pulumi.Input[bool]]:
427
+ def security_context_privileged(self) -> Optional[pulumi.Input[builtins.bool]]:
427
428
  """
428
429
  Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
429
430
  """
430
431
  return pulumi.get(self, "security_context_privileged")
431
432
 
432
433
  @security_context_privileged.setter
433
- def security_context_privileged(self, value: Optional[pulumi.Input[bool]]):
434
+ def security_context_privileged(self, value: Optional[pulumi.Input[builtins.bool]]):
434
435
  pulumi.set(self, "security_context_privileged", value)
435
436
 
436
437
  @property
437
438
  @pulumi.getter(name="serviceAccountRoleArn")
438
- def service_account_role_arn(self) -> Optional[pulumi.Input[str]]:
439
+ def service_account_role_arn(self) -> Optional[pulumi.Input[builtins.str]]:
439
440
  """
440
441
  The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
441
442
 
@@ -446,24 +447,24 @@ class VpcCniAddonArgs:
446
447
  return pulumi.get(self, "service_account_role_arn")
447
448
 
448
449
  @service_account_role_arn.setter
449
- def service_account_role_arn(self, value: Optional[pulumi.Input[str]]):
450
+ def service_account_role_arn(self, value: Optional[pulumi.Input[builtins.str]]):
450
451
  pulumi.set(self, "service_account_role_arn", value)
451
452
 
452
453
  @property
453
454
  @pulumi.getter
454
- def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]:
455
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]]]:
455
456
  """
456
457
  Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
457
458
  """
458
459
  return pulumi.get(self, "tags")
459
460
 
460
461
  @tags.setter
461
- def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]]):
462
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]]]):
462
463
  pulumi.set(self, "tags", value)
463
464
 
464
465
  @property
465
466
  @pulumi.getter(name="vethPrefix")
466
- def veth_prefix(self) -> Optional[pulumi.Input[str]]:
467
+ def veth_prefix(self) -> Optional[pulumi.Input[builtins.str]]:
467
468
  """
468
469
  Specifies the veth prefix used to generate the host-side veth device name for the CNI.
469
470
 
@@ -474,12 +475,12 @@ class VpcCniAddonArgs:
474
475
  return pulumi.get(self, "veth_prefix")
475
476
 
476
477
  @veth_prefix.setter
477
- def veth_prefix(self, value: Optional[pulumi.Input[str]]):
478
+ def veth_prefix(self, value: Optional[pulumi.Input[builtins.str]]):
478
479
  pulumi.set(self, "veth_prefix", value)
479
480
 
480
481
  @property
481
482
  @pulumi.getter(name="warmEniTarget")
482
- def warm_eni_target(self) -> Optional[pulumi.Input[int]]:
483
+ def warm_eni_target(self) -> Optional[pulumi.Input[builtins.int]]:
483
484
  """
484
485
  Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
485
486
 
@@ -488,66 +489,67 @@ class VpcCniAddonArgs:
488
489
  return pulumi.get(self, "warm_eni_target")
489
490
 
490
491
  @warm_eni_target.setter
491
- def warm_eni_target(self, value: Optional[pulumi.Input[int]]):
492
+ def warm_eni_target(self, value: Optional[pulumi.Input[builtins.int]]):
492
493
  pulumi.set(self, "warm_eni_target", value)
493
494
 
494
495
  @property
495
496
  @pulumi.getter(name="warmIpTarget")
496
- def warm_ip_target(self) -> Optional[pulumi.Input[int]]:
497
+ def warm_ip_target(self) -> Optional[pulumi.Input[builtins.int]]:
497
498
  """
498
499
  Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
499
500
  """
500
501
  return pulumi.get(self, "warm_ip_target")
501
502
 
502
503
  @warm_ip_target.setter
503
- def warm_ip_target(self, value: Optional[pulumi.Input[int]]):
504
+ def warm_ip_target(self, value: Optional[pulumi.Input[builtins.int]]):
504
505
  pulumi.set(self, "warm_ip_target", value)
505
506
 
506
507
  @property
507
508
  @pulumi.getter(name="warmPrefixTarget")
508
- def warm_prefix_target(self) -> Optional[pulumi.Input[int]]:
509
+ def warm_prefix_target(self) -> Optional[pulumi.Input[builtins.int]]:
509
510
  """
510
511
  WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
511
512
  """
512
513
  return pulumi.get(self, "warm_prefix_target")
513
514
 
514
515
  @warm_prefix_target.setter
515
- def warm_prefix_target(self, value: Optional[pulumi.Input[int]]):
516
+ def warm_prefix_target(self, value: Optional[pulumi.Input[builtins.int]]):
516
517
  pulumi.set(self, "warm_prefix_target", value)
517
518
 
518
519
 
520
+ @pulumi.type_token("eks:index:VpcCniAddon")
519
521
  class VpcCniAddon(pulumi.ComponentResource):
520
522
  @overload
521
523
  def __init__(__self__,
522
524
  resource_name: str,
523
525
  opts: Optional[pulumi.ResourceOptions] = None,
524
- addon_version: Optional[pulumi.Input[str]] = None,
525
- cluster_name: Optional[pulumi.Input[str]] = None,
526
- cluster_version: Optional[pulumi.Input[str]] = None,
527
- cni_configure_rpfilter: Optional[pulumi.Input[bool]] = None,
528
- cni_custom_network_cfg: Optional[pulumi.Input[bool]] = None,
529
- cni_external_snat: Optional[pulumi.Input[bool]] = None,
526
+ addon_version: Optional[pulumi.Input[builtins.str]] = None,
527
+ cluster_name: Optional[pulumi.Input[builtins.str]] = None,
528
+ cluster_version: Optional[pulumi.Input[builtins.str]] = None,
529
+ cni_configure_rpfilter: Optional[pulumi.Input[builtins.bool]] = None,
530
+ cni_custom_network_cfg: Optional[pulumi.Input[builtins.bool]] = None,
531
+ cni_external_snat: Optional[pulumi.Input[builtins.bool]] = None,
530
532
  configuration_values: Optional[pulumi.Input[Mapping[str, Any]]] = None,
531
- custom_network_config: Optional[pulumi.Input[bool]] = None,
532
- disable_tcp_early_demux: Optional[pulumi.Input[bool]] = None,
533
- enable_network_policy: Optional[pulumi.Input[bool]] = None,
534
- enable_pod_eni: Optional[pulumi.Input[bool]] = None,
535
- enable_prefix_delegation: Optional[pulumi.Input[bool]] = None,
536
- eni_config_label_def: Optional[pulumi.Input[str]] = None,
537
- eni_mtu: Optional[pulumi.Input[int]] = None,
538
- external_snat: Optional[pulumi.Input[bool]] = None,
539
- log_file: Optional[pulumi.Input[str]] = None,
540
- log_level: Optional[pulumi.Input[str]] = None,
541
- node_port_support: Optional[pulumi.Input[bool]] = None,
533
+ custom_network_config: Optional[pulumi.Input[builtins.bool]] = None,
534
+ disable_tcp_early_demux: Optional[pulumi.Input[builtins.bool]] = None,
535
+ enable_network_policy: Optional[pulumi.Input[builtins.bool]] = None,
536
+ enable_pod_eni: Optional[pulumi.Input[builtins.bool]] = None,
537
+ enable_prefix_delegation: Optional[pulumi.Input[builtins.bool]] = None,
538
+ eni_config_label_def: Optional[pulumi.Input[builtins.str]] = None,
539
+ eni_mtu: Optional[pulumi.Input[builtins.int]] = None,
540
+ external_snat: Optional[pulumi.Input[builtins.bool]] = None,
541
+ log_file: Optional[pulumi.Input[builtins.str]] = None,
542
+ log_level: Optional[pulumi.Input[builtins.str]] = None,
543
+ node_port_support: Optional[pulumi.Input[builtins.bool]] = None,
542
544
  resolve_conflicts_on_create: Optional['ResolveConflictsOnCreate'] = None,
543
545
  resolve_conflicts_on_update: Optional['ResolveConflictsOnUpdate'] = None,
544
- security_context_privileged: Optional[pulumi.Input[bool]] = None,
545
- service_account_role_arn: Optional[pulumi.Input[str]] = None,
546
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None,
547
- veth_prefix: Optional[pulumi.Input[str]] = None,
548
- warm_eni_target: Optional[pulumi.Input[int]] = None,
549
- warm_ip_target: Optional[pulumi.Input[int]] = None,
550
- warm_prefix_target: Optional[pulumi.Input[int]] = None,
546
+ security_context_privileged: Optional[pulumi.Input[builtins.bool]] = None,
547
+ service_account_role_arn: Optional[pulumi.Input[builtins.str]] = None,
548
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]]] = None,
549
+ veth_prefix: Optional[pulumi.Input[builtins.str]] = None,
550
+ warm_eni_target: Optional[pulumi.Input[builtins.int]] = None,
551
+ warm_ip_target: Optional[pulumi.Input[builtins.int]] = None,
552
+ warm_prefix_target: Optional[pulumi.Input[builtins.int]] = None,
551
553
  __props__=None):
552
554
  """
553
555
  VpcCniAddon manages the configuration of the Amazon VPC CNI plugin for Kubernetes by leveraging the EKS managed add-on.
@@ -555,61 +557,61 @@ class VpcCniAddon(pulumi.ComponentResource):
555
557
 
556
558
  :param str resource_name: The name of the resource.
557
559
  :param pulumi.ResourceOptions opts: Options for the resource.
558
- :param pulumi.Input[str] addon_version: The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
559
- :param pulumi.Input[str] cluster_name: The name of the EKS cluster.
560
- :param pulumi.Input[str] cluster_version: The Kubernetes version of the cluster. This is used to determine the addon version to use if `addonVersion` is not specified.
561
- :param pulumi.Input[bool] cni_configure_rpfilter: Specifies whether ipamd should configure rp filter for primary interface. Default is `false`.
562
- :param pulumi.Input[bool] cni_custom_network_cfg: Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is `false`
563
- :param pulumi.Input[bool] cni_external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is `false`
560
+ :param pulumi.Input[builtins.str] addon_version: The version of the addon to use. If not specified, the latest version of the addon for the cluster's Kubernetes version will be used.
561
+ :param pulumi.Input[builtins.str] cluster_name: The name of the EKS cluster.
562
+ :param pulumi.Input[builtins.str] cluster_version: The Kubernetes version of the cluster. This is used to determine the addon version to use if `addonVersion` is not specified.
563
+ :param pulumi.Input[builtins.bool] cni_configure_rpfilter: Specifies whether ipamd should configure rp filter for primary interface. Default is `false`.
564
+ :param pulumi.Input[builtins.bool] cni_custom_network_cfg: Specifies that your pods may use subnets and security groups that are independent of your worker node's VPC configuration. By default, pods share the same subnet and security groups as the worker node's primary interface. Setting this variable to true causes ipamd to use the security groups and VPC subnet in a worker node's ENIConfig for elastic network interface allocation. You must create an ENIConfig custom resource for each subnet that your pods will reside in, and then annotate or label each worker node to use a specific ENIConfig (multiple worker nodes can be annotated or labelled with the same ENIConfig). Worker nodes can only be annotated with a single ENIConfig at a time, and the subnet in the ENIConfig must belong to the same Availability Zone that the worker node resides in. For more information, see CNI Custom Networking in the Amazon EKS User Guide. Default is `false`
565
+ :param pulumi.Input[builtins.bool] cni_external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied. Disable SNAT if you need to allow inbound communication to your pods from external VPNs, direct connections, and external VPCs, and your pods do not need to access the Internet directly via an Internet Gateway. However, your nodes must be running in a private subnet and connected to the internet through an AWS NAT Gateway or another external NAT device. Default is `false`
564
566
  :param pulumi.Input[Mapping[str, Any]] configuration_values: Custom configuration values for the vpc-cni addon. This object must match the schema derived from [describe-addon-configuration](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-addon-configuration.html).
565
- :param pulumi.Input[bool] custom_network_config: Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's `resourcesVpcConfig`.
567
+ :param pulumi.Input[builtins.bool] custom_network_config: Specifies that your pods may use subnets and security groups (within the same VPC as your control plane resources) that are independent of your cluster's `resourcesVpcConfig`.
566
568
 
567
569
  Defaults to false.
568
- :param pulumi.Input[bool] disable_tcp_early_demux: Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
569
- :param pulumi.Input[bool] enable_network_policy: Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
570
+ :param pulumi.Input[builtins.bool] disable_tcp_early_demux: Allows the kubelet's liveness and readiness probes to connect via TCP when pod ENI is enabled. This will slightly increase local TCP connection latency.
571
+ :param pulumi.Input[builtins.bool] enable_network_policy: Enables using Kubernetes network policies. In Kubernetes, by default, all pod-to-pod communication is allowed. Communication can be restricted with Kubernetes NetworkPolicy objects.
570
572
 
571
573
  See for more information: [Kubernetes Network Policies](https://kubernetes.io/docs/concepts/services-networking/network-policies/).
572
- :param pulumi.Input[bool] enable_pod_eni: Specifies whether to allow IPAMD to add the `vpc.amazonaws.com/has-trunk-attached` label to the node if the instance has capacity to attach an additional ENI. Default is `false`. If using liveness and readiness probes, you will also need to disable TCP early demux.
573
- :param pulumi.Input[bool] enable_prefix_delegation: IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
574
- :param pulumi.Input[str] eni_config_label_def: Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone
574
+ :param pulumi.Input[builtins.bool] enable_pod_eni: Specifies whether to allow IPAMD to add the `vpc.amazonaws.com/has-trunk-attached` label to the node if the instance has capacity to attach an additional ENI. Default is `false`. If using liveness and readiness probes, you will also need to disable TCP early demux.
575
+ :param pulumi.Input[builtins.bool] enable_prefix_delegation: IPAMD will start allocating (/28) prefixes to the ENIs with ENABLE_PREFIX_DELEGATION set to true.
576
+ :param pulumi.Input[builtins.str] eni_config_label_def: Specifies the ENI_CONFIG_LABEL_DEF environment variable value for worker nodes. This is used to tell Kubernetes to automatically apply the ENIConfig for each Availability Zone
575
577
  Ref: https://docs.aws.amazon.com/eks/latest/userguide/cni-custom-network.html (step 5(c))
576
578
 
577
579
  Defaults to the official AWS CNI image in ECR.
578
- :param pulumi.Input[int] eni_mtu: Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
580
+ :param pulumi.Input[builtins.int] eni_mtu: Used to configure the MTU size for attached ENIs. The valid range is from 576 to 9001.
579
581
 
580
582
  Defaults to 9001.
581
- :param pulumi.Input[bool] external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
583
+ :param pulumi.Input[builtins.bool] external_snat: Specifies whether an external NAT gateway should be used to provide SNAT of secondary ENI IP addresses. If set to true, the SNAT iptables rule and off-VPC IP rule are not applied, and these rules are removed if they have already been applied.
582
584
 
583
585
  Defaults to false.
584
- :param pulumi.Input[str] log_file: Specifies the file path used for logs.
586
+ :param pulumi.Input[builtins.str] log_file: Specifies the file path used for logs.
585
587
 
586
588
  Defaults to "stdout" to emit Pod logs for `kubectl logs`.
587
- :param pulumi.Input[str] log_level: Specifies the log level used for logs.
589
+ :param pulumi.Input[builtins.str] log_level: Specifies the log level used for logs.
588
590
 
589
591
  Defaults to "DEBUG"
590
592
  Valid values: "DEBUG", "INFO", "WARN", "ERROR", or "FATAL".
591
- :param pulumi.Input[bool] node_port_support: Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
593
+ :param pulumi.Input[builtins.bool] node_port_support: Specifies whether NodePort services are enabled on a worker node's primary network interface. This requires additional iptables rules and that the kernel's reverse path filter on the primary interface is set to loose.
592
594
 
593
595
  Defaults to true.
594
596
  :param 'ResolveConflictsOnCreate' resolve_conflicts_on_create: How to resolve field value conflicts when migrating a self-managed add-on to an Amazon EKS add-on. Valid values are `NONE` and `OVERWRITE`. For more details see the [CreateAddon](https://docs.aws.amazon.com/eks/latest/APIReference/API_CreateAddon.html) API Docs.
595
597
  :param 'ResolveConflictsOnUpdate' resolve_conflicts_on_update: How to resolve field value conflicts for an Amazon EKS add-on if you've changed a value from the Amazon EKS default value. Valid values are `NONE`, `OVERWRITE`, and `PRESERVE`. For more details see the [UpdateAddon](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateAddon.html) API Docs.
596
- :param pulumi.Input[bool] security_context_privileged: Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
597
- :param pulumi.Input[str] service_account_role_arn: The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
598
+ :param pulumi.Input[builtins.bool] security_context_privileged: Pass privilege to containers securityContext. This is required when SELinux is enabled. This value will not be passed to the CNI config by default
599
+ :param pulumi.Input[builtins.str] service_account_role_arn: The Amazon Resource Name (ARN) of an existing IAM role to bind to the add-on's service account. The role must be assigned the IAM permissions required by the add-on. If you don't specify an existing IAM role, then the add-on uses the permissions assigned to the node IAM role.
598
600
 
599
601
  For more information, see [Amazon EKS node IAM role](https://docs.aws.amazon.com/eks/latest/userguide/create-node-role.html) in the Amazon EKS User Guide.
600
602
 
601
603
  Note: To specify an existing IAM role, you must have an IAM OpenID Connect (OIDC) provider created for your cluster. For more information, see [Enabling IAM roles for service accounts on your cluster](https://docs.aws.amazon.com/eks/latest/userguide/enable-iam-roles-for-service-accounts.html) in the Amazon EKS User Guide.
602
- :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]] tags: Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
603
- :param pulumi.Input[str] veth_prefix: Specifies the veth prefix used to generate the host-side veth device name for the CNI.
604
+ :param pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]] tags: Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
605
+ :param pulumi.Input[builtins.str] veth_prefix: Specifies the veth prefix used to generate the host-side veth device name for the CNI.
604
606
 
605
607
  The prefix can be at most 4 characters long.
606
608
 
607
609
  Defaults to "eni".
608
- :param pulumi.Input[int] warm_eni_target: Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
610
+ :param pulumi.Input[builtins.int] warm_eni_target: Specifies the number of free elastic network interfaces (and all of their available IP addresses) that the ipamD daemon should attempt to keep available for pod assignment on the node.
609
611
 
610
612
  Defaults to 1.
611
- :param pulumi.Input[int] warm_ip_target: Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
612
- :param pulumi.Input[int] warm_prefix_target: WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
613
+ :param pulumi.Input[builtins.int] warm_ip_target: Specifies the number of free IP addresses that the ipamD daemon should attempt to keep available for pod assignment on the node.
614
+ :param pulumi.Input[builtins.int] warm_prefix_target: WARM_PREFIX_TARGET will allocate one full (/28) prefix even if a single IP is consumed with the existing prefix. Ref: https://github.com/aws/amazon-vpc-cni-k8s/blob/master/docs/prefix-and-ip-target.md
613
615
  """
614
616
  ...
615
617
  @overload
@@ -636,33 +638,33 @@ class VpcCniAddon(pulumi.ComponentResource):
636
638
  def _internal_init(__self__,
637
639
  resource_name: str,
638
640
  opts: Optional[pulumi.ResourceOptions] = None,
639
- addon_version: Optional[pulumi.Input[str]] = None,
640
- cluster_name: Optional[pulumi.Input[str]] = None,
641
- cluster_version: Optional[pulumi.Input[str]] = None,
642
- cni_configure_rpfilter: Optional[pulumi.Input[bool]] = None,
643
- cni_custom_network_cfg: Optional[pulumi.Input[bool]] = None,
644
- cni_external_snat: Optional[pulumi.Input[bool]] = None,
641
+ addon_version: Optional[pulumi.Input[builtins.str]] = None,
642
+ cluster_name: Optional[pulumi.Input[builtins.str]] = None,
643
+ cluster_version: Optional[pulumi.Input[builtins.str]] = None,
644
+ cni_configure_rpfilter: Optional[pulumi.Input[builtins.bool]] = None,
645
+ cni_custom_network_cfg: Optional[pulumi.Input[builtins.bool]] = None,
646
+ cni_external_snat: Optional[pulumi.Input[builtins.bool]] = None,
645
647
  configuration_values: Optional[pulumi.Input[Mapping[str, Any]]] = None,
646
- custom_network_config: Optional[pulumi.Input[bool]] = None,
647
- disable_tcp_early_demux: Optional[pulumi.Input[bool]] = None,
648
- enable_network_policy: Optional[pulumi.Input[bool]] = None,
649
- enable_pod_eni: Optional[pulumi.Input[bool]] = None,
650
- enable_prefix_delegation: Optional[pulumi.Input[bool]] = None,
651
- eni_config_label_def: Optional[pulumi.Input[str]] = None,
652
- eni_mtu: Optional[pulumi.Input[int]] = None,
653
- external_snat: Optional[pulumi.Input[bool]] = None,
654
- log_file: Optional[pulumi.Input[str]] = None,
655
- log_level: Optional[pulumi.Input[str]] = None,
656
- node_port_support: Optional[pulumi.Input[bool]] = None,
648
+ custom_network_config: Optional[pulumi.Input[builtins.bool]] = None,
649
+ disable_tcp_early_demux: Optional[pulumi.Input[builtins.bool]] = None,
650
+ enable_network_policy: Optional[pulumi.Input[builtins.bool]] = None,
651
+ enable_pod_eni: Optional[pulumi.Input[builtins.bool]] = None,
652
+ enable_prefix_delegation: Optional[pulumi.Input[builtins.bool]] = None,
653
+ eni_config_label_def: Optional[pulumi.Input[builtins.str]] = None,
654
+ eni_mtu: Optional[pulumi.Input[builtins.int]] = None,
655
+ external_snat: Optional[pulumi.Input[builtins.bool]] = None,
656
+ log_file: Optional[pulumi.Input[builtins.str]] = None,
657
+ log_level: Optional[pulumi.Input[builtins.str]] = None,
658
+ node_port_support: Optional[pulumi.Input[builtins.bool]] = None,
657
659
  resolve_conflicts_on_create: Optional['ResolveConflictsOnCreate'] = None,
658
660
  resolve_conflicts_on_update: Optional['ResolveConflictsOnUpdate'] = None,
659
- security_context_privileged: Optional[pulumi.Input[bool]] = None,
660
- service_account_role_arn: Optional[pulumi.Input[str]] = None,
661
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[str]]]]]] = None,
662
- veth_prefix: Optional[pulumi.Input[str]] = None,
663
- warm_eni_target: Optional[pulumi.Input[int]] = None,
664
- warm_ip_target: Optional[pulumi.Input[int]] = None,
665
- warm_prefix_target: Optional[pulumi.Input[int]] = None,
661
+ security_context_privileged: Optional[pulumi.Input[builtins.bool]] = None,
662
+ service_account_role_arn: Optional[pulumi.Input[builtins.str]] = None,
663
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]]] = None,
664
+ veth_prefix: Optional[pulumi.Input[builtins.str]] = None,
665
+ warm_eni_target: Optional[pulumi.Input[builtins.int]] = None,
666
+ warm_ip_target: Optional[pulumi.Input[builtins.int]] = None,
667
+ warm_prefix_target: Optional[pulumi.Input[builtins.int]] = None,
666
668
  __props__=None):
667
669
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
668
670
  if not isinstance(opts, pulumi.ResourceOptions):