pulumi-kubernetes 4.16.0a1723070102__py3-none-any.whl → 4.17.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.

Potentially problematic release.


This version of pulumi-kubernetes might be problematic. Click here for more details.

Files changed (83) hide show
  1. pulumi_kubernetes/__init__.py +42 -2
  2. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingList.py +18 -17
  3. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyList.py +18 -17
  4. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingList.py +18 -17
  5. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyList.py +18 -17
  6. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingList.py +18 -17
  7. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyList.py +18 -17
  8. pulumi_kubernetes/apiextensions/v1/_inputs.py +6 -6
  9. pulumi_kubernetes/apiextensions/v1/outputs.py +4 -4
  10. pulumi_kubernetes/apps/v1/_inputs.py +12 -12
  11. pulumi_kubernetes/apps/v1/outputs.py +8 -8
  12. pulumi_kubernetes/batch/v1/_inputs.py +15 -27
  13. pulumi_kubernetes/batch/v1/outputs.py +12 -20
  14. pulumi_kubernetes/coordination/__init__.py +3 -0
  15. pulumi_kubernetes/coordination/v1/_inputs.py +94 -14
  16. pulumi_kubernetes/coordination/v1/outputs.py +62 -10
  17. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidate.py +214 -0
  18. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidateList.py +215 -0
  19. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidatePatch.py +226 -0
  20. pulumi_kubernetes/coordination/v1alpha1/__init__.py +12 -0
  21. pulumi_kubernetes/coordination/v1alpha1/_inputs.py +418 -0
  22. pulumi_kubernetes/coordination/v1alpha1/outputs.py +334 -0
  23. pulumi_kubernetes/core/v1/Service.py +6 -22
  24. pulumi_kubernetes/core/v1/ServicePatch.py +6 -22
  25. pulumi_kubernetes/core/v1/_inputs.py +961 -206
  26. pulumi_kubernetes/core/v1/outputs.py +1032 -157
  27. pulumi_kubernetes/networking/v1alpha1/IPAddress.py +2 -0
  28. pulumi_kubernetes/networking/v1alpha1/IPAddressPatch.py +2 -0
  29. pulumi_kubernetes/networking/v1alpha1/ServiceCIDR.py +2 -0
  30. pulumi_kubernetes/networking/v1alpha1/ServiceCIDRPatch.py +2 -0
  31. pulumi_kubernetes/networking/v1beta1/IPAddress.py +216 -0
  32. pulumi_kubernetes/networking/v1beta1/IPAddressList.py +215 -0
  33. pulumi_kubernetes/networking/v1beta1/IPAddressPatch.py +228 -0
  34. pulumi_kubernetes/networking/v1beta1/ServiceCIDR.py +226 -0
  35. pulumi_kubernetes/networking/v1beta1/ServiceCIDRList.py +215 -0
  36. pulumi_kubernetes/networking/v1beta1/ServiceCIDRPatch.py +238 -0
  37. pulumi_kubernetes/networking/v1beta1/__init__.py +6 -0
  38. pulumi_kubernetes/networking/v1beta1/_inputs.py +599 -0
  39. pulumi_kubernetes/networking/v1beta1/outputs.py +461 -0
  40. pulumi_kubernetes/pulumi-plugin.json +1 -1
  41. pulumi_kubernetes/resource/__init__.py +3 -0
  42. pulumi_kubernetes/resource/v1alpha1/ResourceClaim.py +1 -1
  43. pulumi_kubernetes/resource/v1alpha1/ResourceClaimPatch.py +1 -1
  44. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplate.py +1 -1
  45. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplatePatch.py +1 -1
  46. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContext.py +2 -0
  47. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextPatch.py +2 -0
  48. pulumi_kubernetes/resource/v1alpha2/ResourceClaim.py +1 -1
  49. pulumi_kubernetes/resource/v1alpha2/ResourceClaimPatch.py +1 -1
  50. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplate.py +1 -1
  51. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplatePatch.py +1 -1
  52. pulumi_kubernetes/resource/v1alpha2/ResourceSlice.py +2 -0
  53. pulumi_kubernetes/resource/v1alpha2/ResourceSlicePatch.py +2 -0
  54. pulumi_kubernetes/resource/v1alpha3/DeviceClass.py +236 -0
  55. pulumi_kubernetes/resource/v1alpha3/DeviceClassList.py +216 -0
  56. pulumi_kubernetes/resource/v1alpha3/DeviceClassPatch.py +247 -0
  57. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContext.py +231 -0
  58. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextList.py +215 -0
  59. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextPatch.py +242 -0
  60. pulumi_kubernetes/resource/v1alpha3/ResourceClaim.py +232 -0
  61. pulumi_kubernetes/resource/v1alpha3/ResourceClaimList.py +216 -0
  62. pulumi_kubernetes/resource/v1alpha3/ResourceClaimPatch.py +243 -0
  63. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplate.py +229 -0
  64. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplateList.py +215 -0
  65. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplatePatch.py +240 -0
  66. pulumi_kubernetes/resource/v1alpha3/ResourceSlice.py +246 -0
  67. pulumi_kubernetes/resource/v1alpha3/ResourceSlicePatch.py +257 -0
  68. pulumi_kubernetes/resource/v1alpha3/__init__.py +23 -0
  69. pulumi_kubernetes/resource/v1alpha3/_inputs.py +3924 -0
  70. pulumi_kubernetes/resource/v1alpha3/outputs.py +3327 -0
  71. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClass.py +2 -0
  72. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassPatch.py +2 -0
  73. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClass.py +252 -0
  74. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassList.py +215 -0
  75. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassPatch.py +263 -0
  76. pulumi_kubernetes/storage/v1beta1/__init__.py +3 -0
  77. pulumi_kubernetes/storage/v1beta1/_inputs.py +123 -0
  78. pulumi_kubernetes/storage/v1beta1/outputs.py +94 -0
  79. pulumi_kubernetes/yaml/yaml.py +102 -0
  80. {pulumi_kubernetes-4.16.0a1723070102.dist-info → pulumi_kubernetes-4.17.0.dist-info}/METADATA +1 -1
  81. {pulumi_kubernetes-4.16.0a1723070102.dist-info → pulumi_kubernetes-4.17.0.dist-info}/RECORD +83 -51
  82. {pulumi_kubernetes-4.16.0a1723070102.dist-info → pulumi_kubernetes-4.17.0.dist-info}/WHEEL +1 -1
  83. {pulumi_kubernetes-4.16.0a1723070102.dist-info → pulumi_kubernetes-4.17.0.dist-info}/top_level.txt +0 -0
@@ -81,6 +81,8 @@ __all__ = [
81
81
  'ContainerStateWaitingPatch',
82
82
  'ContainerStatus',
83
83
  'ContainerStatusPatch',
84
+ 'ContainerUser',
85
+ 'ContainerUserPatch',
84
86
  'DaemonEndpoint',
85
87
  'DaemonEndpointPatch',
86
88
  'DownwardAPIProjection',
@@ -147,6 +149,8 @@ __all__ = [
147
149
  'ISCSIPersistentVolumeSourcePatch',
148
150
  'ISCSIVolumeSource',
149
151
  'ISCSIVolumeSourcePatch',
152
+ 'ImageVolumeSource',
153
+ 'ImageVolumeSourcePatch',
150
154
  'KeyToPath',
151
155
  'KeyToPathPatch',
152
156
  'Lifecycle',
@@ -158,6 +162,8 @@ __all__ = [
158
162
  'LimitRangeItemPatch',
159
163
  'LimitRangeSpec',
160
164
  'LimitRangeSpecPatch',
165
+ 'LinuxContainerUser',
166
+ 'LinuxContainerUserPatch',
161
167
  'LoadBalancerIngress',
162
168
  'LoadBalancerIngressPatch',
163
169
  'LoadBalancerStatus',
@@ -190,6 +196,8 @@ __all__ = [
190
196
  'NodeConfigStatusPatch',
191
197
  'NodeDaemonEndpoints',
192
198
  'NodeDaemonEndpointsPatch',
199
+ 'NodeFeatures',
200
+ 'NodeFeaturesPatch',
193
201
  'NodeRuntimeHandler',
194
202
  'NodeRuntimeHandlerFeatures',
195
203
  'NodeRuntimeHandlerFeaturesPatch',
@@ -290,6 +298,8 @@ __all__ = [
290
298
  'ResourceClaimPatch',
291
299
  'ResourceFieldSelector',
292
300
  'ResourceFieldSelectorPatch',
301
+ 'ResourceHealth',
302
+ 'ResourceHealthPatch',
293
303
  'ResourceQuota',
294
304
  'ResourceQuotaSpec',
295
305
  'ResourceQuotaSpecPatch',
@@ -297,6 +307,8 @@ __all__ = [
297
307
  'ResourceQuotaStatusPatch',
298
308
  'ResourceRequirements',
299
309
  'ResourceRequirementsPatch',
310
+ 'ResourceStatus',
311
+ 'ResourceStatusPatch',
300
312
  'SELinuxOptions',
301
313
  'SELinuxOptionsPatch',
302
314
  'ScaleIOPersistentVolumeSource',
@@ -2769,7 +2781,9 @@ class ClaimSource(dict):
2769
2781
  :param str resource_claim_name: ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.
2770
2782
  :param str resource_claim_template_name: ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
2771
2783
 
2772
- The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
2784
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be <pod name>-<resource name>, where <resource name> is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long).
2785
+
2786
+ An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed.
2773
2787
 
2774
2788
  This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
2775
2789
  """
@@ -2792,7 +2806,9 @@ class ClaimSource(dict):
2792
2806
  """
2793
2807
  ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
2794
2808
 
2795
- The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
2809
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be <pod name>-<resource name>, where <resource name> is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long).
2810
+
2811
+ An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed.
2796
2812
 
2797
2813
  This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
2798
2814
  """
@@ -2835,7 +2851,9 @@ class ClaimSourcePatch(dict):
2835
2851
  :param str resource_claim_name: ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.
2836
2852
  :param str resource_claim_template_name: ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
2837
2853
 
2838
- The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
2854
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be <pod name>-<resource name>, where <resource name> is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long).
2855
+
2856
+ An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed.
2839
2857
 
2840
2858
  This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
2841
2859
  """
@@ -2858,7 +2876,9 @@ class ClaimSourcePatch(dict):
2858
2876
  """
2859
2877
  ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
2860
2878
 
2861
- The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
2879
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The name of the ResourceClaim will be <pod name>-<resource name>, where <resource name> is the PodResourceClaim.Name. Pod validation will reject the pod if the concatenated name is not valid for a ResourceClaim (e.g. too long).
2880
+
2881
+ An existing ResourceClaim with that name that is not owned by the pod will not be used for the pod to avoid using an unrelated resource by mistake. Scheduling and pod startup are then blocked until the unrelated ResourceClaim is removed.
2862
2882
 
2863
2883
  This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
2864
2884
  """
@@ -3240,7 +3260,7 @@ class ConfigMapEnvSource(dict):
3240
3260
  ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.
3241
3261
 
3242
3262
  The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.
3243
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3263
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3244
3264
  :param bool optional: Specify whether the ConfigMap must be defined
3245
3265
  """
3246
3266
  if name is not None:
@@ -3252,7 +3272,7 @@ class ConfigMapEnvSource(dict):
3252
3272
  @pulumi.getter
3253
3273
  def name(self) -> Optional[str]:
3254
3274
  """
3255
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3275
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3256
3276
  """
3257
3277
  return pulumi.get(self, "name")
3258
3278
 
@@ -3279,7 +3299,7 @@ class ConfigMapEnvSourcePatch(dict):
3279
3299
  ConfigMapEnvSource selects a ConfigMap to populate the environment variables with.
3280
3300
 
3281
3301
  The contents of the target ConfigMap's Data field will represent the key-value pairs as environment variables.
3282
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3302
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3283
3303
  :param bool optional: Specify whether the ConfigMap must be defined
3284
3304
  """
3285
3305
  if name is not None:
@@ -3291,7 +3311,7 @@ class ConfigMapEnvSourcePatch(dict):
3291
3311
  @pulumi.getter
3292
3312
  def name(self) -> Optional[str]:
3293
3313
  """
3294
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3314
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3295
3315
  """
3296
3316
  return pulumi.get(self, "name")
3297
3317
 
@@ -3316,7 +3336,7 @@ class ConfigMapKeySelector(dict):
3316
3336
  """
3317
3337
  Selects a key from a ConfigMap.
3318
3338
  :param str key: The key to select.
3319
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3339
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3320
3340
  :param bool optional: Specify whether the ConfigMap or its key must be defined
3321
3341
  """
3322
3342
  pulumi.set(__self__, "key", key)
@@ -3337,7 +3357,7 @@ class ConfigMapKeySelector(dict):
3337
3357
  @pulumi.getter
3338
3358
  def name(self) -> Optional[str]:
3339
3359
  """
3340
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3360
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3341
3361
  """
3342
3362
  return pulumi.get(self, "name")
3343
3363
 
@@ -3362,7 +3382,7 @@ class ConfigMapKeySelectorPatch(dict):
3362
3382
  """
3363
3383
  Selects a key from a ConfigMap.
3364
3384
  :param str key: The key to select.
3365
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3385
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3366
3386
  :param bool optional: Specify whether the ConfigMap or its key must be defined
3367
3387
  """
3368
3388
  if key is not None:
@@ -3384,7 +3404,7 @@ class ConfigMapKeySelectorPatch(dict):
3384
3404
  @pulumi.getter
3385
3405
  def name(self) -> Optional[str]:
3386
3406
  """
3387
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3407
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3388
3408
  """
3389
3409
  return pulumi.get(self, "name")
3390
3410
 
@@ -3590,7 +3610,7 @@ class ConfigMapProjection(dict):
3590
3610
 
3591
3611
  The contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.
3592
3612
  :param Sequence['KeyToPathArgs'] items: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
3593
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3613
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3594
3614
  :param bool optional: optional specify whether the ConfigMap or its keys must be defined
3595
3615
  """
3596
3616
  if items is not None:
@@ -3612,7 +3632,7 @@ class ConfigMapProjection(dict):
3612
3632
  @pulumi.getter
3613
3633
  def name(self) -> Optional[str]:
3614
3634
  """
3615
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3635
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3616
3636
  """
3617
3637
  return pulumi.get(self, "name")
3618
3638
 
@@ -3641,7 +3661,7 @@ class ConfigMapProjectionPatch(dict):
3641
3661
 
3642
3662
  The contents of the target ConfigMap's Data field will be presented in a projected volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. Note that this is identical to a configmap volume source without the default mode.
3643
3663
  :param Sequence['KeyToPathPatchArgs'] items: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
3644
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3664
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3645
3665
  :param bool optional: optional specify whether the ConfigMap or its keys must be defined
3646
3666
  """
3647
3667
  if items is not None:
@@ -3663,7 +3683,7 @@ class ConfigMapProjectionPatch(dict):
3663
3683
  @pulumi.getter
3664
3684
  def name(self) -> Optional[str]:
3665
3685
  """
3666
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3686
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3667
3687
  """
3668
3688
  return pulumi.get(self, "name")
3669
3689
 
@@ -3711,7 +3731,7 @@ class ConfigMapVolumeSource(dict):
3711
3731
  The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
3712
3732
  :param int default_mode: defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
3713
3733
  :param Sequence['KeyToPathArgs'] items: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
3714
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3734
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3715
3735
  :param bool optional: optional specify whether the ConfigMap or its keys must be defined
3716
3736
  """
3717
3737
  if default_mode is not None:
@@ -3743,7 +3763,7 @@ class ConfigMapVolumeSource(dict):
3743
3763
  @pulumi.getter
3744
3764
  def name(self) -> Optional[str]:
3745
3765
  """
3746
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3766
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3747
3767
  """
3748
3768
  return pulumi.get(self, "name")
3749
3769
 
@@ -3791,7 +3811,7 @@ class ConfigMapVolumeSourcePatch(dict):
3791
3811
  The contents of the target ConfigMap's Data field will be presented in a volume as files using the keys in the Data field as the file names, unless the items element is populated with specific mappings of keys to paths. ConfigMap volumes support ownership management and SELinux relabeling.
3792
3812
  :param int default_mode: defaultMode is optional: mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
3793
3813
  :param Sequence['KeyToPathPatchArgs'] items: items if unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
3794
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3814
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3795
3815
  :param bool optional: optional specify whether the ConfigMap or its keys must be defined
3796
3816
  """
3797
3817
  if default_mode is not None:
@@ -3823,7 +3843,7 @@ class ConfigMapVolumeSourcePatch(dict):
3823
3843
  @pulumi.getter
3824
3844
  def name(self) -> Optional[str]:
3825
3845
  """
3826
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3846
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
3827
3847
  """
3828
3848
  return pulumi.get(self, "name")
3829
3849
 
@@ -5404,6 +5424,8 @@ class ContainerStatus(dict):
5404
5424
  suggest = "restart_count"
5405
5425
  elif key == "allocatedResources":
5406
5426
  suggest = "allocated_resources"
5427
+ elif key == "allocatedResourcesStatus":
5428
+ suggest = "allocated_resources_status"
5407
5429
  elif key == "containerID":
5408
5430
  suggest = "container_id"
5409
5431
  elif key == "lastState":
@@ -5429,11 +5451,13 @@ class ContainerStatus(dict):
5429
5451
  ready: bool,
5430
5452
  restart_count: int,
5431
5453
  allocated_resources: Optional[Mapping[str, str]] = None,
5454
+ allocated_resources_status: Optional[Sequence['outputs.ResourceStatus']] = None,
5432
5455
  container_id: Optional[str] = None,
5433
5456
  last_state: Optional['outputs.ContainerState'] = None,
5434
5457
  resources: Optional['outputs.ResourceRequirements'] = None,
5435
5458
  started: Optional[bool] = None,
5436
5459
  state: Optional['outputs.ContainerState'] = None,
5460
+ user: Optional['outputs.ContainerUser'] = None,
5437
5461
  volume_mounts: Optional[Sequence['outputs.VolumeMountStatus']] = None):
5438
5462
  """
5439
5463
  ContainerStatus contains details for the current status of this container.
@@ -5445,11 +5469,13 @@ class ContainerStatus(dict):
5445
5469
  The value is typically used to determine whether a container is ready to accept traffic.
5446
5470
  :param int restart_count: RestartCount holds the number of times the container has been restarted. Kubelet makes an effort to always increment the value, but there are cases when the state may be lost due to node restarts and then the value may be reset to 0. The value is never negative.
5447
5471
  :param Mapping[str, str] allocated_resources: AllocatedResources represents the compute resources allocated for this container by the node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission and after successfully admitting desired pod resize.
5472
+ :param Sequence['ResourceStatusArgs'] allocated_resources_status: AllocatedResourcesStatus represents the status of various resources allocated for this Pod.
5448
5473
  :param str container_id: ContainerID is the ID of the container in the format '<type>://<container_id>'. Where type is a container runtime identifier, returned from Version call of CRI API (for example "containerd").
5449
5474
  :param 'ContainerStateArgs' last_state: LastTerminationState holds the last termination state of the container to help debug container crashes and restarts. This field is not populated if the container is still running and RestartCount is 0.
5450
5475
  :param 'ResourceRequirementsArgs' resources: Resources represents the compute resource requests and limits that have been successfully enacted on the running container after it has been started or has been successfully resized.
5451
5476
  :param bool started: Started indicates whether the container has finished its postStart lifecycle hook and passed its startup probe. Initialized as false, becomes true after startupProbe is considered successful. Resets to false when the container is restarted, or if kubelet loses state temporarily. In both cases, startup probes will run again. Is always true when no startupProbe is defined and container is running and has passed the postStart lifecycle hook. The null value must be treated the same as false.
5452
5477
  :param 'ContainerStateArgs' state: State holds details about the container's current condition.
5478
+ :param 'ContainerUserArgs' user: User represents user identity information initially attached to the first process of the container
5453
5479
  :param Sequence['VolumeMountStatusArgs'] volume_mounts: Status of volume mounts.
5454
5480
  """
5455
5481
  pulumi.set(__self__, "image", image)
@@ -5459,6 +5485,8 @@ class ContainerStatus(dict):
5459
5485
  pulumi.set(__self__, "restart_count", restart_count)
5460
5486
  if allocated_resources is not None:
5461
5487
  pulumi.set(__self__, "allocated_resources", allocated_resources)
5488
+ if allocated_resources_status is not None:
5489
+ pulumi.set(__self__, "allocated_resources_status", allocated_resources_status)
5462
5490
  if container_id is not None:
5463
5491
  pulumi.set(__self__, "container_id", container_id)
5464
5492
  if last_state is not None:
@@ -5469,6 +5497,8 @@ class ContainerStatus(dict):
5469
5497
  pulumi.set(__self__, "started", started)
5470
5498
  if state is not None:
5471
5499
  pulumi.set(__self__, "state", state)
5500
+ if user is not None:
5501
+ pulumi.set(__self__, "user", user)
5472
5502
  if volume_mounts is not None:
5473
5503
  pulumi.set(__self__, "volume_mounts", volume_mounts)
5474
5504
 
@@ -5522,6 +5552,14 @@ class ContainerStatus(dict):
5522
5552
  """
5523
5553
  return pulumi.get(self, "allocated_resources")
5524
5554
 
5555
+ @property
5556
+ @pulumi.getter(name="allocatedResourcesStatus")
5557
+ def allocated_resources_status(self) -> Optional[Sequence['outputs.ResourceStatus']]:
5558
+ """
5559
+ AllocatedResourcesStatus represents the status of various resources allocated for this Pod.
5560
+ """
5561
+ return pulumi.get(self, "allocated_resources_status")
5562
+
5525
5563
  @property
5526
5564
  @pulumi.getter(name="containerID")
5527
5565
  def container_id(self) -> Optional[str]:
@@ -5562,6 +5600,14 @@ class ContainerStatus(dict):
5562
5600
  """
5563
5601
  return pulumi.get(self, "state")
5564
5602
 
5603
+ @property
5604
+ @pulumi.getter
5605
+ def user(self) -> Optional['outputs.ContainerUser']:
5606
+ """
5607
+ User represents user identity information initially attached to the first process of the container
5608
+ """
5609
+ return pulumi.get(self, "user")
5610
+
5565
5611
  @property
5566
5612
  @pulumi.getter(name="volumeMounts")
5567
5613
  def volume_mounts(self) -> Optional[Sequence['outputs.VolumeMountStatus']]:
@@ -5581,6 +5627,8 @@ class ContainerStatusPatch(dict):
5581
5627
  suggest = None
5582
5628
  if key == "allocatedResources":
5583
5629
  suggest = "allocated_resources"
5630
+ elif key == "allocatedResourcesStatus":
5631
+ suggest = "allocated_resources_status"
5584
5632
  elif key == "containerID":
5585
5633
  suggest = "container_id"
5586
5634
  elif key == "imageID":
@@ -5605,6 +5653,7 @@ class ContainerStatusPatch(dict):
5605
5653
 
5606
5654
  def __init__(__self__, *,
5607
5655
  allocated_resources: Optional[Mapping[str, str]] = None,
5656
+ allocated_resources_status: Optional[Sequence['outputs.ResourceStatusPatch']] = None,
5608
5657
  container_id: Optional[str] = None,
5609
5658
  image: Optional[str] = None,
5610
5659
  image_id: Optional[str] = None,
@@ -5615,10 +5664,12 @@ class ContainerStatusPatch(dict):
5615
5664
  restart_count: Optional[int] = None,
5616
5665
  started: Optional[bool] = None,
5617
5666
  state: Optional['outputs.ContainerStatePatch'] = None,
5667
+ user: Optional['outputs.ContainerUserPatch'] = None,
5618
5668
  volume_mounts: Optional[Sequence['outputs.VolumeMountStatusPatch']] = None):
5619
5669
  """
5620
5670
  ContainerStatus contains details for the current status of this container.
5621
5671
  :param Mapping[str, str] allocated_resources: AllocatedResources represents the compute resources allocated for this container by the node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission and after successfully admitting desired pod resize.
5672
+ :param Sequence['ResourceStatusPatchArgs'] allocated_resources_status: AllocatedResourcesStatus represents the status of various resources allocated for this Pod.
5622
5673
  :param str container_id: ContainerID is the ID of the container in the format '<type>://<container_id>'. Where type is a container runtime identifier, returned from Version call of CRI API (for example "containerd").
5623
5674
  :param str image: Image is the name of container image that the container is running. The container image may not match the image used in the PodSpec, as it may have been resolved by the runtime. More info: https://kubernetes.io/docs/concepts/containers/images.
5624
5675
  :param str image_id: ImageID is the image ID of the container's image. The image ID may not match the image ID of the image used in the PodSpec, as it may have been resolved by the runtime.
@@ -5631,10 +5682,13 @@ class ContainerStatusPatch(dict):
5631
5682
  :param int restart_count: RestartCount holds the number of times the container has been restarted. Kubelet makes an effort to always increment the value, but there are cases when the state may be lost due to node restarts and then the value may be reset to 0. The value is never negative.
5632
5683
  :param bool started: Started indicates whether the container has finished its postStart lifecycle hook and passed its startup probe. Initialized as false, becomes true after startupProbe is considered successful. Resets to false when the container is restarted, or if kubelet loses state temporarily. In both cases, startup probes will run again. Is always true when no startupProbe is defined and container is running and has passed the postStart lifecycle hook. The null value must be treated the same as false.
5633
5684
  :param 'ContainerStatePatchArgs' state: State holds details about the container's current condition.
5685
+ :param 'ContainerUserPatchArgs' user: User represents user identity information initially attached to the first process of the container
5634
5686
  :param Sequence['VolumeMountStatusPatchArgs'] volume_mounts: Status of volume mounts.
5635
5687
  """
5636
5688
  if allocated_resources is not None:
5637
5689
  pulumi.set(__self__, "allocated_resources", allocated_resources)
5690
+ if allocated_resources_status is not None:
5691
+ pulumi.set(__self__, "allocated_resources_status", allocated_resources_status)
5638
5692
  if container_id is not None:
5639
5693
  pulumi.set(__self__, "container_id", container_id)
5640
5694
  if image is not None:
@@ -5655,6 +5709,8 @@ class ContainerStatusPatch(dict):
5655
5709
  pulumi.set(__self__, "started", started)
5656
5710
  if state is not None:
5657
5711
  pulumi.set(__self__, "state", state)
5712
+ if user is not None:
5713
+ pulumi.set(__self__, "user", user)
5658
5714
  if volume_mounts is not None:
5659
5715
  pulumi.set(__self__, "volume_mounts", volume_mounts)
5660
5716
 
@@ -5666,6 +5722,14 @@ class ContainerStatusPatch(dict):
5666
5722
  """
5667
5723
  return pulumi.get(self, "allocated_resources")
5668
5724
 
5725
+ @property
5726
+ @pulumi.getter(name="allocatedResourcesStatus")
5727
+ def allocated_resources_status(self) -> Optional[Sequence['outputs.ResourceStatusPatch']]:
5728
+ """
5729
+ AllocatedResourcesStatus represents the status of various resources allocated for this Pod.
5730
+ """
5731
+ return pulumi.get(self, "allocated_resources_status")
5732
+
5669
5733
  @property
5670
5734
  @pulumi.getter(name="containerID")
5671
5735
  def container_id(self) -> Optional[str]:
@@ -5748,6 +5812,14 @@ class ContainerStatusPatch(dict):
5748
5812
  """
5749
5813
  return pulumi.get(self, "state")
5750
5814
 
5815
+ @property
5816
+ @pulumi.getter
5817
+ def user(self) -> Optional['outputs.ContainerUserPatch']:
5818
+ """
5819
+ User represents user identity information initially attached to the first process of the container
5820
+ """
5821
+ return pulumi.get(self, "user")
5822
+
5751
5823
  @property
5752
5824
  @pulumi.getter(name="volumeMounts")
5753
5825
  def volume_mounts(self) -> Optional[Sequence['outputs.VolumeMountStatusPatch']]:
@@ -5757,6 +5829,52 @@ class ContainerStatusPatch(dict):
5757
5829
  return pulumi.get(self, "volume_mounts")
5758
5830
 
5759
5831
 
5832
+ @pulumi.output_type
5833
+ class ContainerUser(dict):
5834
+ """
5835
+ ContainerUser represents user identity information
5836
+ """
5837
+ def __init__(__self__, *,
5838
+ linux: Optional['outputs.LinuxContainerUser'] = None):
5839
+ """
5840
+ ContainerUser represents user identity information
5841
+ :param 'LinuxContainerUserArgs' linux: Linux holds user identity information initially attached to the first process of the containers in Linux. Note that the actual running identity can be changed if the process has enough privilege to do so.
5842
+ """
5843
+ if linux is not None:
5844
+ pulumi.set(__self__, "linux", linux)
5845
+
5846
+ @property
5847
+ @pulumi.getter
5848
+ def linux(self) -> Optional['outputs.LinuxContainerUser']:
5849
+ """
5850
+ Linux holds user identity information initially attached to the first process of the containers in Linux. Note that the actual running identity can be changed if the process has enough privilege to do so.
5851
+ """
5852
+ return pulumi.get(self, "linux")
5853
+
5854
+
5855
+ @pulumi.output_type
5856
+ class ContainerUserPatch(dict):
5857
+ """
5858
+ ContainerUser represents user identity information
5859
+ """
5860
+ def __init__(__self__, *,
5861
+ linux: Optional['outputs.LinuxContainerUserPatch'] = None):
5862
+ """
5863
+ ContainerUser represents user identity information
5864
+ :param 'LinuxContainerUserPatchArgs' linux: Linux holds user identity information initially attached to the first process of the containers in Linux. Note that the actual running identity can be changed if the process has enough privilege to do so.
5865
+ """
5866
+ if linux is not None:
5867
+ pulumi.set(__self__, "linux", linux)
5868
+
5869
+ @property
5870
+ @pulumi.getter
5871
+ def linux(self) -> Optional['outputs.LinuxContainerUserPatch']:
5872
+ """
5873
+ Linux holds user identity information initially attached to the first process of the containers in Linux. Note that the actual running identity can be changed if the process has enough privilege to do so.
5874
+ """
5875
+ return pulumi.get(self, "linux")
5876
+
5877
+
5760
5878
  @pulumi.output_type
5761
5879
  class DaemonEndpoint(dict):
5762
5880
  """
@@ -10147,33 +10265,32 @@ class HostAlias(dict):
10147
10265
  HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.
10148
10266
  """
10149
10267
  def __init__(__self__, *,
10150
- hostnames: Optional[Sequence[str]] = None,
10151
- ip: Optional[str] = None):
10268
+ ip: str,
10269
+ hostnames: Optional[Sequence[str]] = None):
10152
10270
  """
10153
10271
  HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the pod's hosts file.
10154
- :param Sequence[str] hostnames: Hostnames for the above IP address.
10155
10272
  :param str ip: IP address of the host file entry.
10273
+ :param Sequence[str] hostnames: Hostnames for the above IP address.
10156
10274
  """
10275
+ pulumi.set(__self__, "ip", ip)
10157
10276
  if hostnames is not None:
10158
10277
  pulumi.set(__self__, "hostnames", hostnames)
10159
- if ip is not None:
10160
- pulumi.set(__self__, "ip", ip)
10161
10278
 
10162
10279
  @property
10163
10280
  @pulumi.getter
10164
- def hostnames(self) -> Optional[Sequence[str]]:
10281
+ def ip(self) -> str:
10165
10282
  """
10166
- Hostnames for the above IP address.
10283
+ IP address of the host file entry.
10167
10284
  """
10168
- return pulumi.get(self, "hostnames")
10285
+ return pulumi.get(self, "ip")
10169
10286
 
10170
10287
  @property
10171
10288
  @pulumi.getter
10172
- def ip(self) -> Optional[str]:
10289
+ def hostnames(self) -> Optional[Sequence[str]]:
10173
10290
  """
10174
- IP address of the host file entry.
10291
+ Hostnames for the above IP address.
10175
10292
  """
10176
- return pulumi.get(self, "ip")
10293
+ return pulumi.get(self, "hostnames")
10177
10294
 
10178
10295
 
10179
10296
  @pulumi.output_type
@@ -10217,17 +10334,16 @@ class HostIP(dict):
10217
10334
  HostIP represents a single IP address allocated to the host.
10218
10335
  """
10219
10336
  def __init__(__self__, *,
10220
- ip: Optional[str] = None):
10337
+ ip: str):
10221
10338
  """
10222
10339
  HostIP represents a single IP address allocated to the host.
10223
10340
  :param str ip: IP is the IP address assigned to the host
10224
10341
  """
10225
- if ip is not None:
10226
- pulumi.set(__self__, "ip", ip)
10342
+ pulumi.set(__self__, "ip", ip)
10227
10343
 
10228
10344
  @property
10229
10345
  @pulumi.getter
10230
- def ip(self) -> Optional[str]:
10346
+ def ip(self) -> str:
10231
10347
  """
10232
10348
  IP is the IP address assigned to the host
10233
10349
  """
@@ -11016,6 +11132,110 @@ class ISCSIVolumeSourcePatch(dict):
11016
11132
  return pulumi.get(self, "target_portal")
11017
11133
 
11018
11134
 
11135
+ @pulumi.output_type
11136
+ class ImageVolumeSource(dict):
11137
+ """
11138
+ ImageVolumeSource represents a image volume resource.
11139
+ """
11140
+ @staticmethod
11141
+ def __key_warning(key: str):
11142
+ suggest = None
11143
+ if key == "pullPolicy":
11144
+ suggest = "pull_policy"
11145
+
11146
+ if suggest:
11147
+ pulumi.log.warn(f"Key '{key}' not found in ImageVolumeSource. Access the value via the '{suggest}' property getter instead.")
11148
+
11149
+ def __getitem__(self, key: str) -> Any:
11150
+ ImageVolumeSource.__key_warning(key)
11151
+ return super().__getitem__(key)
11152
+
11153
+ def get(self, key: str, default = None) -> Any:
11154
+ ImageVolumeSource.__key_warning(key)
11155
+ return super().get(key, default)
11156
+
11157
+ def __init__(__self__, *,
11158
+ pull_policy: Optional[str] = None,
11159
+ reference: Optional[str] = None):
11160
+ """
11161
+ ImageVolumeSource represents a image volume resource.
11162
+ :param str pull_policy: Policy for pulling OCI objects. Possible values are: Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
11163
+ :param str reference: Required: Image or artifact reference to be used. Behaves in the same way as pod.spec.containers[*].image. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
11164
+ """
11165
+ if pull_policy is not None:
11166
+ pulumi.set(__self__, "pull_policy", pull_policy)
11167
+ if reference is not None:
11168
+ pulumi.set(__self__, "reference", reference)
11169
+
11170
+ @property
11171
+ @pulumi.getter(name="pullPolicy")
11172
+ def pull_policy(self) -> Optional[str]:
11173
+ """
11174
+ Policy for pulling OCI objects. Possible values are: Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
11175
+ """
11176
+ return pulumi.get(self, "pull_policy")
11177
+
11178
+ @property
11179
+ @pulumi.getter
11180
+ def reference(self) -> Optional[str]:
11181
+ """
11182
+ Required: Image or artifact reference to be used. Behaves in the same way as pod.spec.containers[*].image. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
11183
+ """
11184
+ return pulumi.get(self, "reference")
11185
+
11186
+
11187
+ @pulumi.output_type
11188
+ class ImageVolumeSourcePatch(dict):
11189
+ """
11190
+ ImageVolumeSource represents a image volume resource.
11191
+ """
11192
+ @staticmethod
11193
+ def __key_warning(key: str):
11194
+ suggest = None
11195
+ if key == "pullPolicy":
11196
+ suggest = "pull_policy"
11197
+
11198
+ if suggest:
11199
+ pulumi.log.warn(f"Key '{key}' not found in ImageVolumeSourcePatch. Access the value via the '{suggest}' property getter instead.")
11200
+
11201
+ def __getitem__(self, key: str) -> Any:
11202
+ ImageVolumeSourcePatch.__key_warning(key)
11203
+ return super().__getitem__(key)
11204
+
11205
+ def get(self, key: str, default = None) -> Any:
11206
+ ImageVolumeSourcePatch.__key_warning(key)
11207
+ return super().get(key, default)
11208
+
11209
+ def __init__(__self__, *,
11210
+ pull_policy: Optional[str] = None,
11211
+ reference: Optional[str] = None):
11212
+ """
11213
+ ImageVolumeSource represents a image volume resource.
11214
+ :param str pull_policy: Policy for pulling OCI objects. Possible values are: Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
11215
+ :param str reference: Required: Image or artifact reference to be used. Behaves in the same way as pod.spec.containers[*].image. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
11216
+ """
11217
+ if pull_policy is not None:
11218
+ pulumi.set(__self__, "pull_policy", pull_policy)
11219
+ if reference is not None:
11220
+ pulumi.set(__self__, "reference", reference)
11221
+
11222
+ @property
11223
+ @pulumi.getter(name="pullPolicy")
11224
+ def pull_policy(self) -> Optional[str]:
11225
+ """
11226
+ Policy for pulling OCI objects. Possible values are: Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
11227
+ """
11228
+ return pulumi.get(self, "pull_policy")
11229
+
11230
+ @property
11231
+ @pulumi.getter
11232
+ def reference(self) -> Optional[str]:
11233
+ """
11234
+ Required: Image or artifact reference to be used. Behaves in the same way as pod.spec.containers[*].image. Pull secrets will be assembled in the same way as for the container image by looking up node credentials, SA image pull secrets, and pod spec image pull secrets. More info: https://kubernetes.io/docs/concepts/containers/images This field is optional to allow higher level config management to default or override container images in workload controllers like Deployments and StatefulSets.
11235
+ """
11236
+ return pulumi.get(self, "reference")
11237
+
11238
+
11019
11239
  @pulumi.output_type
11020
11240
  class KeyToPath(dict):
11021
11241
  """
@@ -11700,6 +11920,132 @@ class LimitRangeSpecPatch(dict):
11700
11920
  return pulumi.get(self, "limits")
11701
11921
 
11702
11922
 
11923
+ @pulumi.output_type
11924
+ class LinuxContainerUser(dict):
11925
+ """
11926
+ LinuxContainerUser represents user identity information in Linux containers
11927
+ """
11928
+ @staticmethod
11929
+ def __key_warning(key: str):
11930
+ suggest = None
11931
+ if key == "supplementalGroups":
11932
+ suggest = "supplemental_groups"
11933
+
11934
+ if suggest:
11935
+ pulumi.log.warn(f"Key '{key}' not found in LinuxContainerUser. Access the value via the '{suggest}' property getter instead.")
11936
+
11937
+ def __getitem__(self, key: str) -> Any:
11938
+ LinuxContainerUser.__key_warning(key)
11939
+ return super().__getitem__(key)
11940
+
11941
+ def get(self, key: str, default = None) -> Any:
11942
+ LinuxContainerUser.__key_warning(key)
11943
+ return super().get(key, default)
11944
+
11945
+ def __init__(__self__, *,
11946
+ gid: int,
11947
+ uid: int,
11948
+ supplemental_groups: Optional[Sequence[int]] = None):
11949
+ """
11950
+ LinuxContainerUser represents user identity information in Linux containers
11951
+ :param int gid: GID is the primary gid initially attached to the first process in the container
11952
+ :param int uid: UID is the primary uid initially attached to the first process in the container
11953
+ :param Sequence[int] supplemental_groups: SupplementalGroups are the supplemental groups initially attached to the first process in the container
11954
+ """
11955
+ pulumi.set(__self__, "gid", gid)
11956
+ pulumi.set(__self__, "uid", uid)
11957
+ if supplemental_groups is not None:
11958
+ pulumi.set(__self__, "supplemental_groups", supplemental_groups)
11959
+
11960
+ @property
11961
+ @pulumi.getter
11962
+ def gid(self) -> int:
11963
+ """
11964
+ GID is the primary gid initially attached to the first process in the container
11965
+ """
11966
+ return pulumi.get(self, "gid")
11967
+
11968
+ @property
11969
+ @pulumi.getter
11970
+ def uid(self) -> int:
11971
+ """
11972
+ UID is the primary uid initially attached to the first process in the container
11973
+ """
11974
+ return pulumi.get(self, "uid")
11975
+
11976
+ @property
11977
+ @pulumi.getter(name="supplementalGroups")
11978
+ def supplemental_groups(self) -> Optional[Sequence[int]]:
11979
+ """
11980
+ SupplementalGroups are the supplemental groups initially attached to the first process in the container
11981
+ """
11982
+ return pulumi.get(self, "supplemental_groups")
11983
+
11984
+
11985
+ @pulumi.output_type
11986
+ class LinuxContainerUserPatch(dict):
11987
+ """
11988
+ LinuxContainerUser represents user identity information in Linux containers
11989
+ """
11990
+ @staticmethod
11991
+ def __key_warning(key: str):
11992
+ suggest = None
11993
+ if key == "supplementalGroups":
11994
+ suggest = "supplemental_groups"
11995
+
11996
+ if suggest:
11997
+ pulumi.log.warn(f"Key '{key}' not found in LinuxContainerUserPatch. Access the value via the '{suggest}' property getter instead.")
11998
+
11999
+ def __getitem__(self, key: str) -> Any:
12000
+ LinuxContainerUserPatch.__key_warning(key)
12001
+ return super().__getitem__(key)
12002
+
12003
+ def get(self, key: str, default = None) -> Any:
12004
+ LinuxContainerUserPatch.__key_warning(key)
12005
+ return super().get(key, default)
12006
+
12007
+ def __init__(__self__, *,
12008
+ gid: Optional[int] = None,
12009
+ supplemental_groups: Optional[Sequence[int]] = None,
12010
+ uid: Optional[int] = None):
12011
+ """
12012
+ LinuxContainerUser represents user identity information in Linux containers
12013
+ :param int gid: GID is the primary gid initially attached to the first process in the container
12014
+ :param Sequence[int] supplemental_groups: SupplementalGroups are the supplemental groups initially attached to the first process in the container
12015
+ :param int uid: UID is the primary uid initially attached to the first process in the container
12016
+ """
12017
+ if gid is not None:
12018
+ pulumi.set(__self__, "gid", gid)
12019
+ if supplemental_groups is not None:
12020
+ pulumi.set(__self__, "supplemental_groups", supplemental_groups)
12021
+ if uid is not None:
12022
+ pulumi.set(__self__, "uid", uid)
12023
+
12024
+ @property
12025
+ @pulumi.getter
12026
+ def gid(self) -> Optional[int]:
12027
+ """
12028
+ GID is the primary gid initially attached to the first process in the container
12029
+ """
12030
+ return pulumi.get(self, "gid")
12031
+
12032
+ @property
12033
+ @pulumi.getter(name="supplementalGroups")
12034
+ def supplemental_groups(self) -> Optional[Sequence[int]]:
12035
+ """
12036
+ SupplementalGroups are the supplemental groups initially attached to the first process in the container
12037
+ """
12038
+ return pulumi.get(self, "supplemental_groups")
12039
+
12040
+ @property
12041
+ @pulumi.getter
12042
+ def uid(self) -> Optional[int]:
12043
+ """
12044
+ UID is the primary uid initially attached to the first process in the container
12045
+ """
12046
+ return pulumi.get(self, "uid")
12047
+
12048
+
11703
12049
  @pulumi.output_type
11704
12050
  class LoadBalancerIngress(dict):
11705
12051
  """
@@ -11907,7 +12253,7 @@ class LocalObjectReference(dict):
11907
12253
  name: Optional[str] = None):
11908
12254
  """
11909
12255
  LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
11910
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12256
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11911
12257
  """
11912
12258
  if name is not None:
11913
12259
  pulumi.set(__self__, "name", name)
@@ -11916,7 +12262,7 @@ class LocalObjectReference(dict):
11916
12262
  @pulumi.getter
11917
12263
  def name(self) -> Optional[str]:
11918
12264
  """
11919
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12265
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11920
12266
  """
11921
12267
  return pulumi.get(self, "name")
11922
12268
 
@@ -11930,7 +12276,7 @@ class LocalObjectReferencePatch(dict):
11930
12276
  name: Optional[str] = None):
11931
12277
  """
11932
12278
  LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.
11933
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12279
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11934
12280
  """
11935
12281
  if name is not None:
11936
12282
  pulumi.set(__self__, "name", name)
@@ -11939,7 +12285,7 @@ class LocalObjectReferencePatch(dict):
11939
12285
  @pulumi.getter
11940
12286
  def name(self) -> Optional[str]:
11941
12287
  """
11942
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
12288
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
11943
12289
  """
11944
12290
  return pulumi.get(self, "name")
11945
12291
 
@@ -13444,6 +13790,86 @@ class NodeDaemonEndpointsPatch(dict):
13444
13790
  return pulumi.get(self, "kubelet_endpoint")
13445
13791
 
13446
13792
 
13793
+ @pulumi.output_type
13794
+ class NodeFeatures(dict):
13795
+ """
13796
+ NodeFeatures describes the set of features implemented by the CRI implementation. The features contained in the NodeFeatures should depend only on the cri implementation independent of runtime handlers.
13797
+ """
13798
+ @staticmethod
13799
+ def __key_warning(key: str):
13800
+ suggest = None
13801
+ if key == "supplementalGroupsPolicy":
13802
+ suggest = "supplemental_groups_policy"
13803
+
13804
+ if suggest:
13805
+ pulumi.log.warn(f"Key '{key}' not found in NodeFeatures. Access the value via the '{suggest}' property getter instead.")
13806
+
13807
+ def __getitem__(self, key: str) -> Any:
13808
+ NodeFeatures.__key_warning(key)
13809
+ return super().__getitem__(key)
13810
+
13811
+ def get(self, key: str, default = None) -> Any:
13812
+ NodeFeatures.__key_warning(key)
13813
+ return super().get(key, default)
13814
+
13815
+ def __init__(__self__, *,
13816
+ supplemental_groups_policy: Optional[bool] = None):
13817
+ """
13818
+ NodeFeatures describes the set of features implemented by the CRI implementation. The features contained in the NodeFeatures should depend only on the cri implementation independent of runtime handlers.
13819
+ :param bool supplemental_groups_policy: SupplementalGroupsPolicy is set to true if the runtime supports SupplementalGroupsPolicy and ContainerUser.
13820
+ """
13821
+ if supplemental_groups_policy is not None:
13822
+ pulumi.set(__self__, "supplemental_groups_policy", supplemental_groups_policy)
13823
+
13824
+ @property
13825
+ @pulumi.getter(name="supplementalGroupsPolicy")
13826
+ def supplemental_groups_policy(self) -> Optional[bool]:
13827
+ """
13828
+ SupplementalGroupsPolicy is set to true if the runtime supports SupplementalGroupsPolicy and ContainerUser.
13829
+ """
13830
+ return pulumi.get(self, "supplemental_groups_policy")
13831
+
13832
+
13833
+ @pulumi.output_type
13834
+ class NodeFeaturesPatch(dict):
13835
+ """
13836
+ NodeFeatures describes the set of features implemented by the CRI implementation. The features contained in the NodeFeatures should depend only on the cri implementation independent of runtime handlers.
13837
+ """
13838
+ @staticmethod
13839
+ def __key_warning(key: str):
13840
+ suggest = None
13841
+ if key == "supplementalGroupsPolicy":
13842
+ suggest = "supplemental_groups_policy"
13843
+
13844
+ if suggest:
13845
+ pulumi.log.warn(f"Key '{key}' not found in NodeFeaturesPatch. Access the value via the '{suggest}' property getter instead.")
13846
+
13847
+ def __getitem__(self, key: str) -> Any:
13848
+ NodeFeaturesPatch.__key_warning(key)
13849
+ return super().__getitem__(key)
13850
+
13851
+ def get(self, key: str, default = None) -> Any:
13852
+ NodeFeaturesPatch.__key_warning(key)
13853
+ return super().get(key, default)
13854
+
13855
+ def __init__(__self__, *,
13856
+ supplemental_groups_policy: Optional[bool] = None):
13857
+ """
13858
+ NodeFeatures describes the set of features implemented by the CRI implementation. The features contained in the NodeFeatures should depend only on the cri implementation independent of runtime handlers.
13859
+ :param bool supplemental_groups_policy: SupplementalGroupsPolicy is set to true if the runtime supports SupplementalGroupsPolicy and ContainerUser.
13860
+ """
13861
+ if supplemental_groups_policy is not None:
13862
+ pulumi.set(__self__, "supplemental_groups_policy", supplemental_groups_policy)
13863
+
13864
+ @property
13865
+ @pulumi.getter(name="supplementalGroupsPolicy")
13866
+ def supplemental_groups_policy(self) -> Optional[bool]:
13867
+ """
13868
+ SupplementalGroupsPolicy is set to true if the runtime supports SupplementalGroupsPolicy and ContainerUser.
13869
+ """
13870
+ return pulumi.get(self, "supplemental_groups_policy")
13871
+
13872
+
13447
13873
  @pulumi.output_type
13448
13874
  class NodeRuntimeHandler(dict):
13449
13875
  """
@@ -13482,13 +13908,15 @@ class NodeRuntimeHandler(dict):
13482
13908
  @pulumi.output_type
13483
13909
  class NodeRuntimeHandlerFeatures(dict):
13484
13910
  """
13485
- NodeRuntimeHandlerFeatures is a set of runtime features.
13911
+ NodeRuntimeHandlerFeatures is a set of features implemented by the runtime handler.
13486
13912
  """
13487
13913
  @staticmethod
13488
13914
  def __key_warning(key: str):
13489
13915
  suggest = None
13490
13916
  if key == "recursiveReadOnlyMounts":
13491
13917
  suggest = "recursive_read_only_mounts"
13918
+ elif key == "userNamespaces":
13919
+ suggest = "user_namespaces"
13492
13920
 
13493
13921
  if suggest:
13494
13922
  pulumi.log.warn(f"Key '{key}' not found in NodeRuntimeHandlerFeatures. Access the value via the '{suggest}' property getter instead.")
@@ -13502,13 +13930,17 @@ class NodeRuntimeHandlerFeatures(dict):
13502
13930
  return super().get(key, default)
13503
13931
 
13504
13932
  def __init__(__self__, *,
13505
- recursive_read_only_mounts: Optional[bool] = None):
13933
+ recursive_read_only_mounts: Optional[bool] = None,
13934
+ user_namespaces: Optional[bool] = None):
13506
13935
  """
13507
- NodeRuntimeHandlerFeatures is a set of runtime features.
13936
+ NodeRuntimeHandlerFeatures is a set of features implemented by the runtime handler.
13508
13937
  :param bool recursive_read_only_mounts: RecursiveReadOnlyMounts is set to true if the runtime handler supports RecursiveReadOnlyMounts.
13938
+ :param bool user_namespaces: UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes.
13509
13939
  """
13510
13940
  if recursive_read_only_mounts is not None:
13511
13941
  pulumi.set(__self__, "recursive_read_only_mounts", recursive_read_only_mounts)
13942
+ if user_namespaces is not None:
13943
+ pulumi.set(__self__, "user_namespaces", user_namespaces)
13512
13944
 
13513
13945
  @property
13514
13946
  @pulumi.getter(name="recursiveReadOnlyMounts")
@@ -13518,17 +13950,27 @@ class NodeRuntimeHandlerFeatures(dict):
13518
13950
  """
13519
13951
  return pulumi.get(self, "recursive_read_only_mounts")
13520
13952
 
13953
+ @property
13954
+ @pulumi.getter(name="userNamespaces")
13955
+ def user_namespaces(self) -> Optional[bool]:
13956
+ """
13957
+ UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes.
13958
+ """
13959
+ return pulumi.get(self, "user_namespaces")
13960
+
13521
13961
 
13522
13962
  @pulumi.output_type
13523
13963
  class NodeRuntimeHandlerFeaturesPatch(dict):
13524
13964
  """
13525
- NodeRuntimeHandlerFeatures is a set of runtime features.
13965
+ NodeRuntimeHandlerFeatures is a set of features implemented by the runtime handler.
13526
13966
  """
13527
13967
  @staticmethod
13528
13968
  def __key_warning(key: str):
13529
13969
  suggest = None
13530
13970
  if key == "recursiveReadOnlyMounts":
13531
13971
  suggest = "recursive_read_only_mounts"
13972
+ elif key == "userNamespaces":
13973
+ suggest = "user_namespaces"
13532
13974
 
13533
13975
  if suggest:
13534
13976
  pulumi.log.warn(f"Key '{key}' not found in NodeRuntimeHandlerFeaturesPatch. Access the value via the '{suggest}' property getter instead.")
@@ -13542,13 +13984,17 @@ class NodeRuntimeHandlerFeaturesPatch(dict):
13542
13984
  return super().get(key, default)
13543
13985
 
13544
13986
  def __init__(__self__, *,
13545
- recursive_read_only_mounts: Optional[bool] = None):
13987
+ recursive_read_only_mounts: Optional[bool] = None,
13988
+ user_namespaces: Optional[bool] = None):
13546
13989
  """
13547
- NodeRuntimeHandlerFeatures is a set of runtime features.
13990
+ NodeRuntimeHandlerFeatures is a set of features implemented by the runtime handler.
13548
13991
  :param bool recursive_read_only_mounts: RecursiveReadOnlyMounts is set to true if the runtime handler supports RecursiveReadOnlyMounts.
13992
+ :param bool user_namespaces: UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes.
13549
13993
  """
13550
13994
  if recursive_read_only_mounts is not None:
13551
13995
  pulumi.set(__self__, "recursive_read_only_mounts", recursive_read_only_mounts)
13996
+ if user_namespaces is not None:
13997
+ pulumi.set(__self__, "user_namespaces", user_namespaces)
13552
13998
 
13553
13999
  @property
13554
14000
  @pulumi.getter(name="recursiveReadOnlyMounts")
@@ -13558,6 +14004,14 @@ class NodeRuntimeHandlerFeaturesPatch(dict):
13558
14004
  """
13559
14005
  return pulumi.get(self, "recursive_read_only_mounts")
13560
14006
 
14007
+ @property
14008
+ @pulumi.getter(name="userNamespaces")
14009
+ def user_namespaces(self) -> Optional[bool]:
14010
+ """
14011
+ UserNamespaces is set to true if the runtime handler supports UserNamespaces, including for volumes.
14012
+ """
14013
+ return pulumi.get(self, "user_namespaces")
14014
+
13561
14015
 
13562
14016
  @pulumi.output_type
13563
14017
  class NodeRuntimeHandlerPatch(dict):
@@ -14150,6 +14604,7 @@ class NodeStatus(dict):
14150
14604
  conditions: Optional[Sequence['outputs.NodeCondition']] = None,
14151
14605
  config: Optional['outputs.NodeConfigStatus'] = None,
14152
14606
  daemon_endpoints: Optional['outputs.NodeDaemonEndpoints'] = None,
14607
+ features: Optional['outputs.NodeFeatures'] = None,
14153
14608
  images: Optional[Sequence['outputs.ContainerImage']] = None,
14154
14609
  node_info: Optional['outputs.NodeSystemInfo'] = None,
14155
14610
  phase: Optional[str] = None,
@@ -14160,10 +14615,11 @@ class NodeStatus(dict):
14160
14615
  NodeStatus is information about the current status of a node.
14161
14616
  :param Sequence['NodeAddressArgs'] addresses: List of addresses reachable to the node. Queried from cloud provider, if available. More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses Note: This field is declared as mergeable, but the merge key is not sufficiently unique, which can cause data corruption when it is merged. Callers should instead use a full-replacement patch. See https://pr.k8s.io/79391 for an example. Consumers should assume that addresses can change during the lifetime of a Node. However, there are some exceptions where this may not be possible, such as Pods that inherit a Node's address in its own status or consumers of the downward API (status.hostIP).
14162
14617
  :param Mapping[str, str] allocatable: Allocatable represents the resources of a node that are available for scheduling. Defaults to Capacity.
14163
- :param Mapping[str, str] capacity: Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
14618
+ :param Mapping[str, str] capacity: Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/reference/node/node-status/#capacity
14164
14619
  :param Sequence['NodeConditionArgs'] conditions: Conditions is an array of current observed node conditions. More info: https://kubernetes.io/docs/concepts/nodes/node/#condition
14165
14620
  :param 'NodeConfigStatusArgs' config: Status of the config assigned to the node via the dynamic Kubelet config feature.
14166
14621
  :param 'NodeDaemonEndpointsArgs' daemon_endpoints: Endpoints of daemons running on the Node.
14622
+ :param 'NodeFeaturesArgs' features: Features describes the set of features implemented by the CRI implementation.
14167
14623
  :param Sequence['ContainerImageArgs'] images: List of container images on this node
14168
14624
  :param 'NodeSystemInfoArgs' node_info: Set of ids/uuids to uniquely identify the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info
14169
14625
  :param str phase: NodePhase is the recently observed lifecycle phase of the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#phase The field is never populated, and now is deprecated.
@@ -14183,6 +14639,8 @@ class NodeStatus(dict):
14183
14639
  pulumi.set(__self__, "config", config)
14184
14640
  if daemon_endpoints is not None:
14185
14641
  pulumi.set(__self__, "daemon_endpoints", daemon_endpoints)
14642
+ if features is not None:
14643
+ pulumi.set(__self__, "features", features)
14186
14644
  if images is not None:
14187
14645
  pulumi.set(__self__, "images", images)
14188
14646
  if node_info is not None:
@@ -14216,7 +14674,7 @@ class NodeStatus(dict):
14216
14674
  @pulumi.getter
14217
14675
  def capacity(self) -> Optional[Mapping[str, str]]:
14218
14676
  """
14219
- Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
14677
+ Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/reference/node/node-status/#capacity
14220
14678
  """
14221
14679
  return pulumi.get(self, "capacity")
14222
14680
 
@@ -14244,6 +14702,14 @@ class NodeStatus(dict):
14244
14702
  """
14245
14703
  return pulumi.get(self, "daemon_endpoints")
14246
14704
 
14705
+ @property
14706
+ @pulumi.getter
14707
+ def features(self) -> Optional['outputs.NodeFeatures']:
14708
+ """
14709
+ Features describes the set of features implemented by the CRI implementation.
14710
+ """
14711
+ return pulumi.get(self, "features")
14712
+
14247
14713
  @property
14248
14714
  @pulumi.getter
14249
14715
  def images(self) -> Optional[Sequence['outputs.ContainerImage']]:
@@ -14330,6 +14796,7 @@ class NodeStatusPatch(dict):
14330
14796
  conditions: Optional[Sequence['outputs.NodeConditionPatch']] = None,
14331
14797
  config: Optional['outputs.NodeConfigStatusPatch'] = None,
14332
14798
  daemon_endpoints: Optional['outputs.NodeDaemonEndpointsPatch'] = None,
14799
+ features: Optional['outputs.NodeFeaturesPatch'] = None,
14333
14800
  images: Optional[Sequence['outputs.ContainerImagePatch']] = None,
14334
14801
  node_info: Optional['outputs.NodeSystemInfoPatch'] = None,
14335
14802
  phase: Optional[str] = None,
@@ -14340,10 +14807,11 @@ class NodeStatusPatch(dict):
14340
14807
  NodeStatus is information about the current status of a node.
14341
14808
  :param Sequence['NodeAddressPatchArgs'] addresses: List of addresses reachable to the node. Queried from cloud provider, if available. More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses Note: This field is declared as mergeable, but the merge key is not sufficiently unique, which can cause data corruption when it is merged. Callers should instead use a full-replacement patch. See https://pr.k8s.io/79391 for an example. Consumers should assume that addresses can change during the lifetime of a Node. However, there are some exceptions where this may not be possible, such as Pods that inherit a Node's address in its own status or consumers of the downward API (status.hostIP).
14342
14809
  :param Mapping[str, str] allocatable: Allocatable represents the resources of a node that are available for scheduling. Defaults to Capacity.
14343
- :param Mapping[str, str] capacity: Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
14810
+ :param Mapping[str, str] capacity: Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/reference/node/node-status/#capacity
14344
14811
  :param Sequence['NodeConditionPatchArgs'] conditions: Conditions is an array of current observed node conditions. More info: https://kubernetes.io/docs/concepts/nodes/node/#condition
14345
14812
  :param 'NodeConfigStatusPatchArgs' config: Status of the config assigned to the node via the dynamic Kubelet config feature.
14346
14813
  :param 'NodeDaemonEndpointsPatchArgs' daemon_endpoints: Endpoints of daemons running on the Node.
14814
+ :param 'NodeFeaturesPatchArgs' features: Features describes the set of features implemented by the CRI implementation.
14347
14815
  :param Sequence['ContainerImagePatchArgs'] images: List of container images on this node
14348
14816
  :param 'NodeSystemInfoPatchArgs' node_info: Set of ids/uuids to uniquely identify the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#info
14349
14817
  :param str phase: NodePhase is the recently observed lifecycle phase of the node. More info: https://kubernetes.io/docs/concepts/nodes/node/#phase The field is never populated, and now is deprecated.
@@ -14363,6 +14831,8 @@ class NodeStatusPatch(dict):
14363
14831
  pulumi.set(__self__, "config", config)
14364
14832
  if daemon_endpoints is not None:
14365
14833
  pulumi.set(__self__, "daemon_endpoints", daemon_endpoints)
14834
+ if features is not None:
14835
+ pulumi.set(__self__, "features", features)
14366
14836
  if images is not None:
14367
14837
  pulumi.set(__self__, "images", images)
14368
14838
  if node_info is not None:
@@ -14396,7 +14866,7 @@ class NodeStatusPatch(dict):
14396
14866
  @pulumi.getter
14397
14867
  def capacity(self) -> Optional[Mapping[str, str]]:
14398
14868
  """
14399
- Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
14869
+ Capacity represents the total resources of a node. More info: https://kubernetes.io/docs/reference/node/node-status/#capacity
14400
14870
  """
14401
14871
  return pulumi.get(self, "capacity")
14402
14872
 
@@ -14424,6 +14894,14 @@ class NodeStatusPatch(dict):
14424
14894
  """
14425
14895
  return pulumi.get(self, "daemon_endpoints")
14426
14896
 
14897
+ @property
14898
+ @pulumi.getter
14899
+ def features(self) -> Optional['outputs.NodeFeaturesPatch']:
14900
+ """
14901
+ Features describes the set of features implemented by the CRI implementation.
14902
+ """
14903
+ return pulumi.get(self, "features")
14904
+
14427
14905
  @property
14428
14906
  @pulumi.getter
14429
14907
  def images(self) -> Optional[Sequence['outputs.ContainerImagePatch']]:
@@ -14528,7 +15006,7 @@ class NodeSystemInfo(dict):
14528
15006
  :param str boot_id: Boot ID reported by the node.
14529
15007
  :param str container_runtime_version: ContainerRuntime Version reported by the node through runtime remote API (e.g. containerd://1.4.2).
14530
15008
  :param str kernel_version: Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).
14531
- :param str kube_proxy_version: KubeProxy Version reported by the node.
15009
+ :param str kube_proxy_version: Deprecated: KubeProxy Version reported by the node.
14532
15010
  :param str kubelet_version: Kubelet Version reported by the node.
14533
15011
  :param str machine_id: MachineID reported by the node. For unique machine identification in the cluster this field is preferred. Learn more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html
14534
15012
  :param str operating_system: The Operating System reported by the node
@@ -14582,7 +15060,7 @@ class NodeSystemInfo(dict):
14582
15060
  @pulumi.getter(name="kubeProxyVersion")
14583
15061
  def kube_proxy_version(self) -> str:
14584
15062
  """
14585
- KubeProxy Version reported by the node.
15063
+ Deprecated: KubeProxy Version reported by the node.
14586
15064
  """
14587
15065
  return pulumi.get(self, "kube_proxy_version")
14588
15066
 
@@ -14682,7 +15160,7 @@ class NodeSystemInfoPatch(dict):
14682
15160
  :param str boot_id: Boot ID reported by the node.
14683
15161
  :param str container_runtime_version: ContainerRuntime Version reported by the node through runtime remote API (e.g. containerd://1.4.2).
14684
15162
  :param str kernel_version: Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).
14685
- :param str kube_proxy_version: KubeProxy Version reported by the node.
15163
+ :param str kube_proxy_version: Deprecated: KubeProxy Version reported by the node.
14686
15164
  :param str kubelet_version: Kubelet Version reported by the node.
14687
15165
  :param str machine_id: MachineID reported by the node. For unique machine identification in the cluster this field is preferred. Learn more from man(5) machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html
14688
15166
  :param str operating_system: The Operating System reported by the node
@@ -14746,7 +15224,7 @@ class NodeSystemInfoPatch(dict):
14746
15224
  @pulumi.getter(name="kubeProxyVersion")
14747
15225
  def kube_proxy_version(self) -> Optional[str]:
14748
15226
  """
14749
- KubeProxy Version reported by the node.
15227
+ Deprecated: KubeProxy Version reported by the node.
14750
15228
  """
14751
15229
  return pulumi.get(self, "kube_proxy_version")
14752
15230
 
@@ -15639,7 +16117,7 @@ class PersistentVolumeClaimSpec(dict):
15639
16117
  :param 'VolumeResourceRequirementsArgs' resources: resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
15640
16118
  :param '_meta.v1.LabelSelectorArgs' selector: selector is a label query over volumes to consider for binding.
15641
16119
  :param str storage_class_name: storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
15642
- :param str volume_attributes_class_name: volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
16120
+ :param str volume_attributes_class_name: volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
15643
16121
  :param str volume_mode: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
15644
16122
  :param str volume_name: volumeName is the binding reference to the PersistentVolume backing this claim.
15645
16123
  """
@@ -15721,7 +16199,7 @@ class PersistentVolumeClaimSpec(dict):
15721
16199
  @pulumi.getter(name="volumeAttributesClassName")
15722
16200
  def volume_attributes_class_name(self) -> Optional[str]:
15723
16201
  """
15724
- volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
16202
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
15725
16203
  """
15726
16204
  return pulumi.get(self, "volume_attributes_class_name")
15727
16205
 
@@ -15801,7 +16279,7 @@ class PersistentVolumeClaimSpecPatch(dict):
15801
16279
  :param 'VolumeResourceRequirementsPatchArgs' resources: resources represents the minimum resources the volume should have. If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements that are lower than previous value but must still be higher than capacity recorded in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
15802
16280
  :param '_meta.v1.LabelSelectorPatchArgs' selector: selector is a label query over volumes to consider for binding.
15803
16281
  :param str storage_class_name: storageClassName is the name of the StorageClass required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
15804
- :param str volume_attributes_class_name: volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
16282
+ :param str volume_attributes_class_name: volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
15805
16283
  :param str volume_mode: volumeMode defines what type of volume is required by the claim. Value of Filesystem is implied when not included in claim spec.
15806
16284
  :param str volume_name: volumeName is the binding reference to the PersistentVolume backing this claim.
15807
16285
  """
@@ -15883,7 +16361,7 @@ class PersistentVolumeClaimSpecPatch(dict):
15883
16361
  @pulumi.getter(name="volumeAttributesClassName")
15884
16362
  def volume_attributes_class_name(self) -> Optional[str]:
15885
16363
  """
15886
- volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Alpha) Using this field requires the VolumeAttributesClass feature gate to be enabled.
16364
+ volumeAttributesClassName may be used to set the VolumeAttributesClass used by this claim. If specified, the CSI driver will create or update the volume with the attributes defined in the corresponding VolumeAttributesClass. This has a different purpose than storageClassName, it can be changed after the claim is created. An empty string value means that no VolumeAttributesClass will be applied to the claim but it's not allowed to reset this field to empty string once it is set. If unspecified and the PersistentVolumeClaim is unbound, the default VolumeAttributesClass will be set by the persistentvolume controller if it exists. If the resource referred to by volumeAttributesClass does not exist, this PersistentVolumeClaim will be set to a Pending state, as reflected by the modifyVolumeStatus field, until such as a resource exists. More info: https://kubernetes.io/docs/concepts/storage/volume-attributes-classes/ (Beta) Using this field requires the VolumeAttributesClass feature gate to be enabled (off by default).
15887
16365
  """
15888
16366
  return pulumi.get(self, "volume_attributes_class_name")
15889
16367
 
@@ -15992,8 +16470,8 @@ class PersistentVolumeClaimStatus(dict):
15992
16470
  This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.
15993
16471
  :param Mapping[str, str] capacity: capacity represents the actual resources of the underlying volume.
15994
16472
  :param Sequence['PersistentVolumeClaimConditionArgs'] conditions: conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.
15995
- :param str current_volume_attributes_class_name: currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.
15996
- :param 'ModifyVolumeStatusArgs' modify_volume_status: ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature.
16473
+ :param str current_volume_attributes_class_name: currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16474
+ :param 'ModifyVolumeStatusArgs' modify_volume_status: ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
15997
16475
  :param str phase: phase represents the current phase of PersistentVolumeClaim.
15998
16476
  :param str resize_status: resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.
15999
16477
  """
@@ -16099,7 +16577,7 @@ class PersistentVolumeClaimStatus(dict):
16099
16577
  @pulumi.getter(name="currentVolumeAttributesClassName")
16100
16578
  def current_volume_attributes_class_name(self) -> Optional[str]:
16101
16579
  """
16102
- currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.
16580
+ currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16103
16581
  """
16104
16582
  return pulumi.get(self, "current_volume_attributes_class_name")
16105
16583
 
@@ -16107,7 +16585,7 @@ class PersistentVolumeClaimStatus(dict):
16107
16585
  @pulumi.getter(name="modifyVolumeStatus")
16108
16586
  def modify_volume_status(self) -> Optional['outputs.ModifyVolumeStatus']:
16109
16587
  """
16110
- ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature.
16588
+ ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16111
16589
  """
16112
16590
  return pulumi.get(self, "modify_volume_status")
16113
16591
 
@@ -16216,8 +16694,8 @@ class PersistentVolumeClaimStatusPatch(dict):
16216
16694
  This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.
16217
16695
  :param Mapping[str, str] capacity: capacity represents the actual resources of the underlying volume.
16218
16696
  :param Sequence['PersistentVolumeClaimConditionPatchArgs'] conditions: conditions is the current Condition of persistent volume claim. If underlying persistent volume is being resized then the Condition will be set to 'Resizing'.
16219
- :param str current_volume_attributes_class_name: currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.
16220
- :param 'ModifyVolumeStatusPatchArgs' modify_volume_status: ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature.
16697
+ :param str current_volume_attributes_class_name: currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16698
+ :param 'ModifyVolumeStatusPatchArgs' modify_volume_status: ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16221
16699
  :param str phase: phase represents the current phase of PersistentVolumeClaim.
16222
16700
  :param str resize_status: resizeStatus stores status of resize operation. ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty string by resize controller or kubelet. This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.
16223
16701
  """
@@ -16323,7 +16801,7 @@ class PersistentVolumeClaimStatusPatch(dict):
16323
16801
  @pulumi.getter(name="currentVolumeAttributesClassName")
16324
16802
  def current_volume_attributes_class_name(self) -> Optional[str]:
16325
16803
  """
16326
- currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is an alpha field and requires enabling VolumeAttributesClass feature.
16804
+ currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using. When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16327
16805
  """
16328
16806
  return pulumi.get(self, "current_volume_attributes_class_name")
16329
16807
 
@@ -16331,7 +16809,7 @@ class PersistentVolumeClaimStatusPatch(dict):
16331
16809
  @pulumi.getter(name="modifyVolumeStatus")
16332
16810
  def modify_volume_status(self) -> Optional['outputs.ModifyVolumeStatusPatch']:
16333
16811
  """
16334
- ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is an alpha field and requires enabling VolumeAttributesClass feature.
16812
+ ModifyVolumeStatus represents the status object of ControllerModifyVolume operation. When this is unset, there is no ModifyVolume operation being attempted. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16335
16813
  """
16336
16814
  return pulumi.get(self, "modify_volume_status")
16337
16815
 
@@ -16646,7 +17124,7 @@ class PersistentVolumeSpec(dict):
16646
17124
  :param 'ScaleIOPersistentVolumeSourceArgs' scale_io: scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
16647
17125
  :param str storage_class_name: storageClassName is the name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.
16648
17126
  :param 'StorageOSPersistentVolumeSourceArgs' storageos: storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://examples.k8s.io/volumes/storageos/README.md
16649
- :param str volume_attributes_class_name: Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is an alpha field and requires enabling VolumeAttributesClass feature.
17127
+ :param str volume_attributes_class_name: Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16650
17128
  :param str volume_mode: volumeMode defines if a volume is intended to be used with a formatted filesystem or to remain in raw block state. Value of Filesystem is implied when not included in spec.
16651
17129
  :param 'VsphereVirtualDiskVolumeSourceArgs' vsphere_volume: vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
16652
17130
  """
@@ -16941,7 +17419,7 @@ class PersistentVolumeSpec(dict):
16941
17419
  @pulumi.getter(name="volumeAttributesClassName")
16942
17420
  def volume_attributes_class_name(self) -> Optional[str]:
16943
17421
  """
16944
- Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is an alpha field and requires enabling VolumeAttributesClass feature.
17422
+ Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
16945
17423
  """
16946
17424
  return pulumi.get(self, "volume_attributes_class_name")
16947
17425
 
@@ -17080,7 +17558,7 @@ class PersistentVolumeSpecPatch(dict):
17080
17558
  :param 'ScaleIOPersistentVolumeSourcePatchArgs' scale_io: scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
17081
17559
  :param str storage_class_name: storageClassName is the name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.
17082
17560
  :param 'StorageOSPersistentVolumeSourcePatchArgs' storageos: storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod More info: https://examples.k8s.io/volumes/storageos/README.md
17083
- :param str volume_attributes_class_name: Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is an alpha field and requires enabling VolumeAttributesClass feature.
17561
+ :param str volume_attributes_class_name: Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
17084
17562
  :param str volume_mode: volumeMode defines if a volume is intended to be used with a formatted filesystem or to remain in raw block state. Value of Filesystem is implied when not included in spec.
17085
17563
  :param 'VsphereVirtualDiskVolumeSourcePatchArgs' vsphere_volume: vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
17086
17564
  """
@@ -17375,7 +17853,7 @@ class PersistentVolumeSpecPatch(dict):
17375
17853
  @pulumi.getter(name="volumeAttributesClassName")
17376
17854
  def volume_attributes_class_name(self) -> Optional[str]:
17377
17855
  """
17378
- Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is an alpha field and requires enabling VolumeAttributesClass feature.
17856
+ Name of VolumeAttributesClass to which this persistent volume belongs. Empty value is not allowed. When this field is not set, it indicates that this volume does not belong to any VolumeAttributesClass. This field is mutable and can be changed by the CSI driver after a volume has been updated successfully to a new class. For an unbound PersistentVolume, the volumeAttributesClassName will be matched with unbound PersistentVolumeClaims during the binding process. This is a beta field and requires enabling VolumeAttributesClass feature (off by default).
17379
17857
  """
17380
17858
  return pulumi.get(self, "volume_attributes_class_name")
17381
17859
 
@@ -17425,7 +17903,7 @@ class PersistentVolumeStatus(dict):
17425
17903
  reason: Optional[str] = None):
17426
17904
  """
17427
17905
  PersistentVolumeStatus is the current status of a persistent volume.
17428
- :param str last_phase_transition_time: lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions. This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default).
17906
+ :param str last_phase_transition_time: lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions.
17429
17907
  :param str message: message is a human-readable message indicating details about why the volume is in this state.
17430
17908
  :param str phase: phase indicates if a volume is available, bound to a claim, or released by a claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase
17431
17909
  :param str reason: reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI.
@@ -17443,7 +17921,7 @@ class PersistentVolumeStatus(dict):
17443
17921
  @pulumi.getter(name="lastPhaseTransitionTime")
17444
17922
  def last_phase_transition_time(self) -> Optional[str]:
17445
17923
  """
17446
- lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions. This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default).
17924
+ lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions.
17447
17925
  """
17448
17926
  return pulumi.get(self, "last_phase_transition_time")
17449
17927
 
@@ -17501,7 +17979,7 @@ class PersistentVolumeStatusPatch(dict):
17501
17979
  reason: Optional[str] = None):
17502
17980
  """
17503
17981
  PersistentVolumeStatus is the current status of a persistent volume.
17504
- :param str last_phase_transition_time: lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions. This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default).
17982
+ :param str last_phase_transition_time: lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions.
17505
17983
  :param str message: message is a human-readable message indicating details about why the volume is in this state.
17506
17984
  :param str phase: phase indicates if a volume is available, bound to a claim, or released by a claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase
17507
17985
  :param str reason: reason is a brief CamelCase string that describes any failure and is meant for machine parsing and tidy display in the CLI.
@@ -17519,7 +17997,7 @@ class PersistentVolumeStatusPatch(dict):
17519
17997
  @pulumi.getter(name="lastPhaseTransitionTime")
17520
17998
  def last_phase_transition_time(self) -> Optional[str]:
17521
17999
  """
17522
- lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions. This is a beta field and requires the PersistentVolumeLastPhaseTransitionTime feature to be enabled (enabled by default).
18000
+ lastPhaseTransitionTime is the time the phase transitioned from one to another and automatically resets to current time everytime a volume phase transitions.
17523
18001
  """
17524
18002
  return pulumi.get(self, "last_phase_transition_time")
17525
18003
 
@@ -17922,8 +18400,8 @@ class PodAffinityTerm(dict):
17922
18400
  Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
17923
18401
  :param str topology_key: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
17924
18402
  :param '_meta.v1.LabelSelectorArgs' label_selector: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
17925
- :param Sequence[str] match_label_keys: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
17926
- :param Sequence[str] mismatch_label_keys: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
18403
+ :param Sequence[str] match_label_keys: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
18404
+ :param Sequence[str] mismatch_label_keys: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
17927
18405
  :param '_meta.v1.LabelSelectorArgs' namespace_selector: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
17928
18406
  :param Sequence[str] namespaces: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
17929
18407
  """
@@ -17959,7 +18437,7 @@ class PodAffinityTerm(dict):
17959
18437
  @pulumi.getter(name="matchLabelKeys")
17960
18438
  def match_label_keys(self) -> Optional[Sequence[str]]:
17961
18439
  """
17962
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
18440
+ MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
17963
18441
  """
17964
18442
  return pulumi.get(self, "match_label_keys")
17965
18443
 
@@ -17967,7 +18445,7 @@ class PodAffinityTerm(dict):
17967
18445
  @pulumi.getter(name="mismatchLabelKeys")
17968
18446
  def mismatch_label_keys(self) -> Optional[Sequence[str]]:
17969
18447
  """
17970
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
18448
+ MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
17971
18449
  """
17972
18450
  return pulumi.get(self, "mismatch_label_keys")
17973
18451
 
@@ -18028,8 +18506,8 @@ class PodAffinityTermPatch(dict):
18028
18506
  """
18029
18507
  Defines a set of pods (namely those matching the labelSelector relative to the given namespace(s)) that this pod should be co-located (affinity) or not co-located (anti-affinity) with, where co-located is defined as running on a node whose value of the label with key <topologyKey> matches that of any node on which a pod of the set of pods is running
18030
18508
  :param '_meta.v1.LabelSelectorPatchArgs' label_selector: A label query over a set of resources, in this case pods. If it's null, this PodAffinityTerm matches with no Pods.
18031
- :param Sequence[str] match_label_keys: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
18032
- :param Sequence[str] mismatch_label_keys: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
18509
+ :param Sequence[str] match_label_keys: MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
18510
+ :param Sequence[str] mismatch_label_keys: MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
18033
18511
  :param '_meta.v1.LabelSelectorPatchArgs' namespace_selector: A label query over the set of namespaces that the term applies to. The term is applied to the union of the namespaces selected by this field and the ones listed in the namespaces field. null selector and null or empty namespaces list means "this pod's namespace". An empty selector ({}) matches all namespaces.
18034
18512
  :param Sequence[str] namespaces: namespaces specifies a static list of namespace names that the term applies to. The term is applied to the union of the namespaces listed in this field and the ones selected by namespaceSelector. null or empty namespaces list and null namespaceSelector means "this pod's namespace".
18035
18513
  :param str topology_key: This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching the labelSelector in the specified namespaces, where co-located is defined as running on a node whose value of the label with key topologyKey matches that of any node on which any of the selected pods is running. Empty topologyKey is not allowed.
@@ -18059,7 +18537,7 @@ class PodAffinityTermPatch(dict):
18059
18537
  @pulumi.getter(name="matchLabelKeys")
18060
18538
  def match_label_keys(self) -> Optional[Sequence[str]]:
18061
18539
  """
18062
- MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
18540
+ MatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key in (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both matchLabelKeys and labelSelector. Also, matchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
18063
18541
  """
18064
18542
  return pulumi.get(self, "match_label_keys")
18065
18543
 
@@ -18067,7 +18545,7 @@ class PodAffinityTermPatch(dict):
18067
18545
  @pulumi.getter(name="mismatchLabelKeys")
18068
18546
  def mismatch_label_keys(self) -> Optional[Sequence[str]]:
18069
18547
  """
18070
- MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is an alpha field and requires enabling MatchLabelKeysInPodAffinity feature gate.
18548
+ MismatchLabelKeys is a set of pod label keys to select which pods will be taken into consideration. The keys are used to lookup values from the incoming pod labels, those key-value labels are merged with `labelSelector` as `key notin (value)` to select the group of existing pods which pods will be taken into consideration for the incoming pod's pod (anti) affinity. Keys that don't exist in the incoming pod labels will be ignored. The default value is empty. The same key is forbidden to exist in both mismatchLabelKeys and labelSelector. Also, mismatchLabelKeys cannot be set when labelSelector isn't set. This is a beta field and requires enabling MatchLabelKeysInPodAffinity feature gate (enabled by default).
18071
18549
  """
18072
18550
  return pulumi.get(self, "mismatch_label_keys")
18073
18551
 
@@ -18568,17 +19046,16 @@ class PodIP(dict):
18568
19046
  PodIP represents a single IP address allocated to the pod.
18569
19047
  """
18570
19048
  def __init__(__self__, *,
18571
- ip: Optional[str] = None):
19049
+ ip: str):
18572
19050
  """
18573
19051
  PodIP represents a single IP address allocated to the pod.
18574
19052
  :param str ip: IP is the IP address assigned to the pod
18575
19053
  """
18576
- if ip is not None:
18577
- pulumi.set(__self__, "ip", ip)
19054
+ pulumi.set(__self__, "ip", ip)
18578
19055
 
18579
19056
  @property
18580
19057
  @pulumi.getter
18581
- def ip(self) -> Optional[str]:
19058
+ def ip(self) -> str:
18582
19059
  """
18583
19060
  IP is the IP address assigned to the pod
18584
19061
  """
@@ -18735,17 +19212,56 @@ class PodReadinessGatePatch(dict):
18735
19212
  @pulumi.output_type
18736
19213
  class PodResourceClaim(dict):
18737
19214
  """
18738
- PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
19215
+ PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod.
19216
+
19217
+ It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
18739
19218
  """
19219
+ @staticmethod
19220
+ def __key_warning(key: str):
19221
+ suggest = None
19222
+ if key == "resourceClaimName":
19223
+ suggest = "resource_claim_name"
19224
+ elif key == "resourceClaimTemplateName":
19225
+ suggest = "resource_claim_template_name"
19226
+
19227
+ if suggest:
19228
+ pulumi.log.warn(f"Key '{key}' not found in PodResourceClaim. Access the value via the '{suggest}' property getter instead.")
19229
+
19230
+ def __getitem__(self, key: str) -> Any:
19231
+ PodResourceClaim.__key_warning(key)
19232
+ return super().__getitem__(key)
19233
+
19234
+ def get(self, key: str, default = None) -> Any:
19235
+ PodResourceClaim.__key_warning(key)
19236
+ return super().get(key, default)
19237
+
18740
19238
  def __init__(__self__, *,
18741
19239
  name: str,
19240
+ resource_claim_name: Optional[str] = None,
19241
+ resource_claim_template_name: Optional[str] = None,
18742
19242
  source: Optional['outputs.ClaimSource'] = None):
18743
19243
  """
18744
- PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
19244
+ PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod.
19245
+
19246
+ It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
18745
19247
  :param str name: Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL.
19248
+ :param str resource_claim_name: ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.
19249
+
19250
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
19251
+ :param str resource_claim_template_name: ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
19252
+
19253
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
19254
+
19255
+ This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
19256
+
19257
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
18746
19258
  :param 'ClaimSourceArgs' source: Source describes where to find the ResourceClaim.
18747
19259
  """
18748
19260
  pulumi.set(__self__, "name", name)
19261
+ if resource_claim_name is not None:
19262
+ pulumi.set(__self__, "resource_claim_name", resource_claim_name)
19263
+ if resource_claim_template_name is not None:
19264
+ pulumi.set(__self__, "resource_claim_template_name", resource_claim_template_name)
18749
19265
  if source is not None:
18750
19266
  pulumi.set(__self__, "source", source)
18751
19267
 
@@ -18757,6 +19273,30 @@ class PodResourceClaim(dict):
18757
19273
  """
18758
19274
  return pulumi.get(self, "name")
18759
19275
 
19276
+ @property
19277
+ @pulumi.getter(name="resourceClaimName")
19278
+ def resource_claim_name(self) -> Optional[str]:
19279
+ """
19280
+ ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.
19281
+
19282
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
19283
+ """
19284
+ return pulumi.get(self, "resource_claim_name")
19285
+
19286
+ @property
19287
+ @pulumi.getter(name="resourceClaimTemplateName")
19288
+ def resource_claim_template_name(self) -> Optional[str]:
19289
+ """
19290
+ ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
19291
+
19292
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
19293
+
19294
+ This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
19295
+
19296
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
19297
+ """
19298
+ return pulumi.get(self, "resource_claim_template_name")
19299
+
18760
19300
  @property
18761
19301
  @pulumi.getter
18762
19302
  def source(self) -> Optional['outputs.ClaimSource']:
@@ -18769,18 +19309,57 @@ class PodResourceClaim(dict):
18769
19309
  @pulumi.output_type
18770
19310
  class PodResourceClaimPatch(dict):
18771
19311
  """
18772
- PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
19312
+ PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod.
19313
+
19314
+ It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
18773
19315
  """
19316
+ @staticmethod
19317
+ def __key_warning(key: str):
19318
+ suggest = None
19319
+ if key == "resourceClaimName":
19320
+ suggest = "resource_claim_name"
19321
+ elif key == "resourceClaimTemplateName":
19322
+ suggest = "resource_claim_template_name"
19323
+
19324
+ if suggest:
19325
+ pulumi.log.warn(f"Key '{key}' not found in PodResourceClaimPatch. Access the value via the '{suggest}' property getter instead.")
19326
+
19327
+ def __getitem__(self, key: str) -> Any:
19328
+ PodResourceClaimPatch.__key_warning(key)
19329
+ return super().__getitem__(key)
19330
+
19331
+ def get(self, key: str, default = None) -> Any:
19332
+ PodResourceClaimPatch.__key_warning(key)
19333
+ return super().get(key, default)
19334
+
18774
19335
  def __init__(__self__, *,
18775
19336
  name: Optional[str] = None,
19337
+ resource_claim_name: Optional[str] = None,
19338
+ resource_claim_template_name: Optional[str] = None,
18776
19339
  source: Optional['outputs.ClaimSourcePatch'] = None):
18777
19340
  """
18778
- PodResourceClaim references exactly one ResourceClaim through a ClaimSource. It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
19341
+ PodResourceClaim references exactly one ResourceClaim, either directly or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim for the pod.
19342
+
19343
+ It adds a name to it that uniquely identifies the ResourceClaim inside the Pod. Containers that need access to the ResourceClaim reference it with this name.
18779
19344
  :param str name: Name uniquely identifies this resource claim inside the pod. This must be a DNS_LABEL.
19345
+ :param str resource_claim_name: ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.
19346
+
19347
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
19348
+ :param str resource_claim_template_name: ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
19349
+
19350
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
19351
+
19352
+ This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
19353
+
19354
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
18780
19355
  :param 'ClaimSourcePatchArgs' source: Source describes where to find the ResourceClaim.
18781
19356
  """
18782
19357
  if name is not None:
18783
19358
  pulumi.set(__self__, "name", name)
19359
+ if resource_claim_name is not None:
19360
+ pulumi.set(__self__, "resource_claim_name", resource_claim_name)
19361
+ if resource_claim_template_name is not None:
19362
+ pulumi.set(__self__, "resource_claim_template_name", resource_claim_template_name)
18784
19363
  if source is not None:
18785
19364
  pulumi.set(__self__, "source", source)
18786
19365
 
@@ -18792,6 +19371,30 @@ class PodResourceClaimPatch(dict):
18792
19371
  """
18793
19372
  return pulumi.get(self, "name")
18794
19373
 
19374
+ @property
19375
+ @pulumi.getter(name="resourceClaimName")
19376
+ def resource_claim_name(self) -> Optional[str]:
19377
+ """
19378
+ ResourceClaimName is the name of a ResourceClaim object in the same namespace as this pod.
19379
+
19380
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
19381
+ """
19382
+ return pulumi.get(self, "resource_claim_name")
19383
+
19384
+ @property
19385
+ @pulumi.getter(name="resourceClaimTemplateName")
19386
+ def resource_claim_template_name(self) -> Optional[str]:
19387
+ """
19388
+ ResourceClaimTemplateName is the name of a ResourceClaimTemplate object in the same namespace as this pod.
19389
+
19390
+ The template will be used to create a new ResourceClaim, which will be bound to this pod. When this pod is deleted, the ResourceClaim will also be deleted. The pod name and resource name, along with a generated component, will be used to form a unique name for the ResourceClaim, which will be recorded in pod.status.resourceClaimStatuses.
19391
+
19392
+ This field is immutable and no changes will be made to the corresponding ResourceClaim by the control plane after creating the ResourceClaim.
19393
+
19394
+ Exactly one of ResourceClaimName and ResourceClaimTemplateName must be set.
19395
+ """
19396
+ return pulumi.get(self, "resource_claim_template_name")
19397
+
18795
19398
  @property
18796
19399
  @pulumi.getter
18797
19400
  def source(self) -> Optional['outputs.ClaimSourcePatch']:
@@ -18829,7 +19432,7 @@ class PodResourceClaimStatus(dict):
18829
19432
  """
18830
19433
  PodResourceClaimStatus is stored in the PodStatus for each PodResourceClaim which references a ResourceClaimTemplate. It stores the generated name for the corresponding ResourceClaim.
18831
19434
  :param str name: Name uniquely identifies this resource claim inside the pod. This must match the name of an entry in pod.spec.resourceClaims, which implies that the string must be a DNS_LABEL.
18832
- :param str resource_claim_name: ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. It this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
19435
+ :param str resource_claim_name: ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. If this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
18833
19436
  """
18834
19437
  pulumi.set(__self__, "name", name)
18835
19438
  if resource_claim_name is not None:
@@ -18847,7 +19450,7 @@ class PodResourceClaimStatus(dict):
18847
19450
  @pulumi.getter(name="resourceClaimName")
18848
19451
  def resource_claim_name(self) -> Optional[str]:
18849
19452
  """
18850
- ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. It this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
19453
+ ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. If this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
18851
19454
  """
18852
19455
  return pulumi.get(self, "resource_claim_name")
18853
19456
 
@@ -18880,7 +19483,7 @@ class PodResourceClaimStatusPatch(dict):
18880
19483
  """
18881
19484
  PodResourceClaimStatus is stored in the PodStatus for each PodResourceClaim which references a ResourceClaimTemplate. It stores the generated name for the corresponding ResourceClaim.
18882
19485
  :param str name: Name uniquely identifies this resource claim inside the pod. This must match the name of an entry in pod.spec.resourceClaims, which implies that the string must be a DNS_LABEL.
18883
- :param str resource_claim_name: ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. It this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
19486
+ :param str resource_claim_name: ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. If this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
18884
19487
  """
18885
19488
  if name is not None:
18886
19489
  pulumi.set(__self__, "name", name)
@@ -18899,7 +19502,7 @@ class PodResourceClaimStatusPatch(dict):
18899
19502
  @pulumi.getter(name="resourceClaimName")
18900
19503
  def resource_claim_name(self) -> Optional[str]:
18901
19504
  """
18902
- ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. It this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
19505
+ ResourceClaimName is the name of the ResourceClaim that was generated for the Pod in the namespace of the Pod. If this is unset, then generating a ResourceClaim was not necessary. The pod.spec.resourceClaims entry can be ignored in this case.
18903
19506
  """
18904
19507
  return pulumi.get(self, "resource_claim_name")
18905
19508
 
@@ -18975,6 +19578,8 @@ class PodSecurityContext(dict):
18975
19578
  suggest = "seccomp_profile"
18976
19579
  elif key == "supplementalGroups":
18977
19580
  suggest = "supplemental_groups"
19581
+ elif key == "supplementalGroupsPolicy":
19582
+ suggest = "supplemental_groups_policy"
18978
19583
  elif key == "windowsOptions":
18979
19584
  suggest = "windows_options"
18980
19585
 
@@ -18999,6 +19604,7 @@ class PodSecurityContext(dict):
18999
19604
  se_linux_options: Optional['outputs.SELinuxOptions'] = None,
19000
19605
  seccomp_profile: Optional['outputs.SeccompProfile'] = None,
19001
19606
  supplemental_groups: Optional[Sequence[int]] = None,
19607
+ supplemental_groups_policy: Optional[str] = None,
19002
19608
  sysctls: Optional[Sequence['outputs.Sysctl']] = None,
19003
19609
  windows_options: Optional['outputs.WindowsSecurityContextOptions'] = None):
19004
19610
  """
@@ -19015,7 +19621,8 @@ class PodSecurityContext(dict):
19015
19621
  :param int run_as_user: The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.
19016
19622
  :param 'SELinuxOptionsArgs' se_linux_options: The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.
19017
19623
  :param 'SeccompProfileArgs' seccomp_profile: The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.
19018
- :param Sequence[int] supplemental_groups: A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.
19624
+ :param Sequence[int] supplemental_groups: A list of groups applied to the first process run in each container, in addition to the container's primary GID and fsGroup (if specified). If the SupplementalGroupsPolicy feature is enabled, the supplementalGroupsPolicy field determines whether these are in addition to or instead of any group memberships defined in the container image. If unspecified, no additional groups are added, though group memberships defined in the container image may still be used, depending on the supplementalGroupsPolicy field. Note that this field cannot be set when spec.os.name is windows.
19625
+ :param str supplemental_groups_policy: Defines how supplemental groups of the first container processes are calculated. Valid values are "Merge" and "Strict". If not specified, "Merge" is used. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled and the container runtime must implement support for this feature. Note that this field cannot be set when spec.os.name is windows.
19019
19626
  :param Sequence['SysctlArgs'] sysctls: Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.
19020
19627
  :param 'WindowsSecurityContextOptionsArgs' windows_options: The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux.
19021
19628
  """
@@ -19037,6 +19644,8 @@ class PodSecurityContext(dict):
19037
19644
  pulumi.set(__self__, "seccomp_profile", seccomp_profile)
19038
19645
  if supplemental_groups is not None:
19039
19646
  pulumi.set(__self__, "supplemental_groups", supplemental_groups)
19647
+ if supplemental_groups_policy is not None:
19648
+ pulumi.set(__self__, "supplemental_groups_policy", supplemental_groups_policy)
19040
19649
  if sysctls is not None:
19041
19650
  pulumi.set(__self__, "sysctls", sysctls)
19042
19651
  if windows_options is not None:
@@ -19114,10 +19723,18 @@ class PodSecurityContext(dict):
19114
19723
  @pulumi.getter(name="supplementalGroups")
19115
19724
  def supplemental_groups(self) -> Optional[Sequence[int]]:
19116
19725
  """
19117
- A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.
19726
+ A list of groups applied to the first process run in each container, in addition to the container's primary GID and fsGroup (if specified). If the SupplementalGroupsPolicy feature is enabled, the supplementalGroupsPolicy field determines whether these are in addition to or instead of any group memberships defined in the container image. If unspecified, no additional groups are added, though group memberships defined in the container image may still be used, depending on the supplementalGroupsPolicy field. Note that this field cannot be set when spec.os.name is windows.
19118
19727
  """
19119
19728
  return pulumi.get(self, "supplemental_groups")
19120
19729
 
19730
+ @property
19731
+ @pulumi.getter(name="supplementalGroupsPolicy")
19732
+ def supplemental_groups_policy(self) -> Optional[str]:
19733
+ """
19734
+ Defines how supplemental groups of the first container processes are calculated. Valid values are "Merge" and "Strict". If not specified, "Merge" is used. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled and the container runtime must implement support for this feature. Note that this field cannot be set when spec.os.name is windows.
19735
+ """
19736
+ return pulumi.get(self, "supplemental_groups_policy")
19737
+
19121
19738
  @property
19122
19739
  @pulumi.getter
19123
19740
  def sysctls(self) -> Optional[Sequence['outputs.Sysctl']]:
@@ -19161,6 +19778,8 @@ class PodSecurityContextPatch(dict):
19161
19778
  suggest = "seccomp_profile"
19162
19779
  elif key == "supplementalGroups":
19163
19780
  suggest = "supplemental_groups"
19781
+ elif key == "supplementalGroupsPolicy":
19782
+ suggest = "supplemental_groups_policy"
19164
19783
  elif key == "windowsOptions":
19165
19784
  suggest = "windows_options"
19166
19785
 
@@ -19185,6 +19804,7 @@ class PodSecurityContextPatch(dict):
19185
19804
  se_linux_options: Optional['outputs.SELinuxOptionsPatch'] = None,
19186
19805
  seccomp_profile: Optional['outputs.SeccompProfilePatch'] = None,
19187
19806
  supplemental_groups: Optional[Sequence[int]] = None,
19807
+ supplemental_groups_policy: Optional[str] = None,
19188
19808
  sysctls: Optional[Sequence['outputs.SysctlPatch']] = None,
19189
19809
  windows_options: Optional['outputs.WindowsSecurityContextOptionsPatch'] = None):
19190
19810
  """
@@ -19201,7 +19821,8 @@ class PodSecurityContextPatch(dict):
19201
19821
  :param int run_as_user: The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.
19202
19822
  :param 'SELinuxOptionsPatchArgs' se_linux_options: The SELinux context to be applied to all containers. If unspecified, the container runtime will allocate a random SELinux context for each container. May also be set in SecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence for that container. Note that this field cannot be set when spec.os.name is windows.
19203
19823
  :param 'SeccompProfilePatchArgs' seccomp_profile: The seccomp options to use by the containers in this pod. Note that this field cannot be set when spec.os.name is windows.
19204
- :param Sequence[int] supplemental_groups: A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.
19824
+ :param Sequence[int] supplemental_groups: A list of groups applied to the first process run in each container, in addition to the container's primary GID and fsGroup (if specified). If the SupplementalGroupsPolicy feature is enabled, the supplementalGroupsPolicy field determines whether these are in addition to or instead of any group memberships defined in the container image. If unspecified, no additional groups are added, though group memberships defined in the container image may still be used, depending on the supplementalGroupsPolicy field. Note that this field cannot be set when spec.os.name is windows.
19825
+ :param str supplemental_groups_policy: Defines how supplemental groups of the first container processes are calculated. Valid values are "Merge" and "Strict". If not specified, "Merge" is used. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled and the container runtime must implement support for this feature. Note that this field cannot be set when spec.os.name is windows.
19205
19826
  :param Sequence['SysctlPatchArgs'] sysctls: Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported sysctls (by the container runtime) might fail to launch. Note that this field cannot be set when spec.os.name is windows.
19206
19827
  :param 'WindowsSecurityContextOptionsPatchArgs' windows_options: The Windows specific settings applied to all containers. If unspecified, the options within a container's SecurityContext will be used. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is linux.
19207
19828
  """
@@ -19223,6 +19844,8 @@ class PodSecurityContextPatch(dict):
19223
19844
  pulumi.set(__self__, "seccomp_profile", seccomp_profile)
19224
19845
  if supplemental_groups is not None:
19225
19846
  pulumi.set(__self__, "supplemental_groups", supplemental_groups)
19847
+ if supplemental_groups_policy is not None:
19848
+ pulumi.set(__self__, "supplemental_groups_policy", supplemental_groups_policy)
19226
19849
  if sysctls is not None:
19227
19850
  pulumi.set(__self__, "sysctls", sysctls)
19228
19851
  if windows_options is not None:
@@ -19300,10 +19923,18 @@ class PodSecurityContextPatch(dict):
19300
19923
  @pulumi.getter(name="supplementalGroups")
19301
19924
  def supplemental_groups(self) -> Optional[Sequence[int]]:
19302
19925
  """
19303
- A list of groups applied to the first process run in each container, in addition to the container's primary GID, the fsGroup (if specified), and group memberships defined in the container image for the uid of the container process. If unspecified, no additional groups are added to any container. Note that group memberships defined in the container image for the uid of the container process are still effective, even if they are not included in this list. Note that this field cannot be set when spec.os.name is windows.
19926
+ A list of groups applied to the first process run in each container, in addition to the container's primary GID and fsGroup (if specified). If the SupplementalGroupsPolicy feature is enabled, the supplementalGroupsPolicy field determines whether these are in addition to or instead of any group memberships defined in the container image. If unspecified, no additional groups are added, though group memberships defined in the container image may still be used, depending on the supplementalGroupsPolicy field. Note that this field cannot be set when spec.os.name is windows.
19304
19927
  """
19305
19928
  return pulumi.get(self, "supplemental_groups")
19306
19929
 
19930
+ @property
19931
+ @pulumi.getter(name="supplementalGroupsPolicy")
19932
+ def supplemental_groups_policy(self) -> Optional[str]:
19933
+ """
19934
+ Defines how supplemental groups of the first container processes are calculated. Valid values are "Merge" and "Strict". If not specified, "Merge" is used. (Alpha) Using the field requires the SupplementalGroupsPolicy feature gate to be enabled and the container runtime must implement support for this feature. Note that this field cannot be set when spec.os.name is windows.
19935
+ """
19936
+ return pulumi.get(self, "supplemental_groups_policy")
19937
+
19307
19938
  @property
19308
19939
  @pulumi.getter
19309
19940
  def sysctls(self) -> Optional[Sequence['outputs.SysctlPatch']]:
@@ -19459,13 +20090,13 @@ class PodSpec(dict):
19459
20090
  :param str hostname: Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.
19460
20091
  :param Sequence['LocalObjectReferenceArgs'] image_pull_secrets: ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
19461
20092
  :param Sequence['ContainerArgs'] init_containers: List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
19462
- :param str node_name: NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
20093
+ :param str node_name: NodeName indicates in which node this pod is scheduled. If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. This field should not be used to express a desire for the pod to be scheduled on a specific node. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename
19463
20094
  :param Mapping[str, str] node_selector: NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
19464
20095
  :param 'PodOSArgs' os: Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.
19465
20096
 
19466
20097
  If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions
19467
20098
 
19468
- If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
20099
+ If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
19469
20100
  :param Mapping[str, str] overhead: Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md
19470
20101
  :param str preemption_policy: PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.
19471
20102
  :param int priority: The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.
@@ -19703,7 +20334,7 @@ class PodSpec(dict):
19703
20334
  @pulumi.getter(name="nodeName")
19704
20335
  def node_name(self) -> Optional[str]:
19705
20336
  """
19706
- NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
20337
+ NodeName indicates in which node this pod is scheduled. If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. This field should not be used to express a desire for the pod to be scheduled on a specific node. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename
19707
20338
  """
19708
20339
  return pulumi.get(self, "node_name")
19709
20340
 
@@ -19723,7 +20354,7 @@ class PodSpec(dict):
19723
20354
 
19724
20355
  If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions
19725
20356
 
19726
- If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
20357
+ If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
19727
20358
  """
19728
20359
  return pulumi.get(self, "os")
19729
20360
 
@@ -20032,13 +20663,13 @@ class PodSpecPatch(dict):
20032
20663
  :param str hostname: Specifies the hostname of the Pod If not specified, the pod's hostname will be set to a system-defined value.
20033
20664
  :param Sequence['LocalObjectReferencePatchArgs'] image_pull_secrets: ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. If specified, these secrets will be passed to individual puller implementations for them to use. More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
20034
20665
  :param Sequence['ContainerPatchArgs'] init_containers: List of initialization containers belonging to the pod. Init containers are executed in order prior to containers being started. If any init container fails, the pod is considered to have failed and is handled according to its restartPolicy. The name for an init container or normal container must be unique among all containers. Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. The resourceRequirements of an init container are taken into account during scheduling by finding the highest request/limit for each resource type, and then using the max of of that value or the sum of the normal containers. Limits are applied to init containers in a similar fashion. Init containers cannot currently be added or removed. Cannot be updated. More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
20035
- :param str node_name: NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
20666
+ :param str node_name: NodeName indicates in which node this pod is scheduled. If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. This field should not be used to express a desire for the pod to be scheduled on a specific node. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename
20036
20667
  :param Mapping[str, str] node_selector: NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
20037
20668
  :param 'PodOSPatchArgs' os: Specifies the OS of the containers in the pod. Some pod and container fields are restricted if this is set.
20038
20669
 
20039
20670
  If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions
20040
20671
 
20041
- If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
20672
+ If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
20042
20673
  :param Mapping[str, str] overhead: Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. This field will be autopopulated at admission time by the RuntimeClass admission controller. If the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. The RuntimeClass admission controller will reject Pod create requests which have the overhead already set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md
20043
20674
  :param str preemption_policy: PreemptionPolicy is the Policy for preempting pods with lower priority. One of Never, PreemptLowerPriority. Defaults to PreemptLowerPriority if unset.
20044
20675
  :param int priority: The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.
@@ -20277,7 +20908,7 @@ class PodSpecPatch(dict):
20277
20908
  @pulumi.getter(name="nodeName")
20278
20909
  def node_name(self) -> Optional[str]:
20279
20910
  """
20280
- NodeName is a request to schedule this pod onto a specific node. If it is non-empty, the scheduler simply schedules this pod onto that node, assuming that it fits resource requirements.
20911
+ NodeName indicates in which node this pod is scheduled. If empty, this pod is a candidate for scheduling by the scheduler defined in schedulerName. Once this field is set, the kubelet for this node becomes responsible for the lifecycle of this pod. This field should not be used to express a desire for the pod to be scheduled on a specific node. https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename
20281
20912
  """
20282
20913
  return pulumi.get(self, "node_name")
20283
20914
 
@@ -20297,7 +20928,7 @@ class PodSpecPatch(dict):
20297
20928
 
20298
20929
  If the OS field is set to linux, the following fields must be unset: -securityContext.windowsOptions
20299
20930
 
20300
- If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
20931
+ If the OS field is set to windows, following fields must be unset: - spec.hostPID - spec.hostIPC - spec.hostUsers - spec.securityContext.appArmorProfile - spec.securityContext.seLinuxOptions - spec.securityContext.seccompProfile - spec.securityContext.fsGroup - spec.securityContext.fsGroupChangePolicy - spec.securityContext.sysctls - spec.shareProcessNamespace - spec.securityContext.runAsUser - spec.securityContext.runAsGroup - spec.securityContext.supplementalGroups - spec.securityContext.supplementalGroupsPolicy - spec.containers[*].securityContext.appArmorProfile - spec.containers[*].securityContext.seLinuxOptions - spec.containers[*].securityContext.seccompProfile - spec.containers[*].securityContext.capabilities - spec.containers[*].securityContext.readOnlyRootFilesystem - spec.containers[*].securityContext.privileged - spec.containers[*].securityContext.allowPrivilegeEscalation - spec.containers[*].securityContext.procMount - spec.containers[*].securityContext.runAsUser - spec.containers[*].securityContext.runAsGroup
20301
20932
  """
20302
20933
  return pulumi.get(self, "os")
20303
20934
 
@@ -21764,7 +22395,7 @@ class ProjectedVolumeSource(dict):
21764
22395
  default_mode: Optional[int] = None):
21765
22396
  """
21766
22397
  Represents a projected volume source
21767
- :param Sequence['VolumeProjectionArgs'] sources: sources is the list of volume projections
22398
+ :param Sequence['VolumeProjectionArgs'] sources: sources is the list of volume projections. Each entry in this list handles one source.
21768
22399
  :param int default_mode: defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
21769
22400
  """
21770
22401
  pulumi.set(__self__, "sources", sources)
@@ -21775,7 +22406,7 @@ class ProjectedVolumeSource(dict):
21775
22406
  @pulumi.getter
21776
22407
  def sources(self) -> Sequence['outputs.VolumeProjection']:
21777
22408
  """
21778
- sources is the list of volume projections
22409
+ sources is the list of volume projections. Each entry in this list handles one source.
21779
22410
  """
21780
22411
  return pulumi.get(self, "sources")
21781
22412
 
@@ -21816,7 +22447,7 @@ class ProjectedVolumeSourcePatch(dict):
21816
22447
  """
21817
22448
  Represents a projected volume source
21818
22449
  :param int default_mode: defaultMode are the mode bits used to set permissions on created files by default. Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set.
21819
- :param Sequence['VolumeProjectionPatchArgs'] sources: sources is the list of volume projections
22450
+ :param Sequence['VolumeProjectionPatchArgs'] sources: sources is the list of volume projections. Each entry in this list handles one source.
21820
22451
  """
21821
22452
  if default_mode is not None:
21822
22453
  pulumi.set(__self__, "default_mode", default_mode)
@@ -21835,7 +22466,7 @@ class ProjectedVolumeSourcePatch(dict):
21835
22466
  @pulumi.getter
21836
22467
  def sources(self) -> Optional[Sequence['outputs.VolumeProjectionPatch']]:
21837
22468
  """
21838
- sources is the list of volume projections
22469
+ sources is the list of volume projections. Each entry in this list handles one source.
21839
22470
  """
21840
22471
  return pulumi.get(self, "sources")
21841
22472
 
@@ -23177,12 +23808,16 @@ class ResourceClaim(dict):
23177
23808
  ResourceClaim references one entry in PodSpec.ResourceClaims.
23178
23809
  """
23179
23810
  def __init__(__self__, *,
23180
- name: str):
23811
+ name: str,
23812
+ request: Optional[str] = None):
23181
23813
  """
23182
23814
  ResourceClaim references one entry in PodSpec.ResourceClaims.
23183
23815
  :param str name: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
23816
+ :param str request: Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.
23184
23817
  """
23185
23818
  pulumi.set(__self__, "name", name)
23819
+ if request is not None:
23820
+ pulumi.set(__self__, "request", request)
23186
23821
 
23187
23822
  @property
23188
23823
  @pulumi.getter
@@ -23192,6 +23827,14 @@ class ResourceClaim(dict):
23192
23827
  """
23193
23828
  return pulumi.get(self, "name")
23194
23829
 
23830
+ @property
23831
+ @pulumi.getter
23832
+ def request(self) -> Optional[str]:
23833
+ """
23834
+ Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.
23835
+ """
23836
+ return pulumi.get(self, "request")
23837
+
23195
23838
 
23196
23839
  @pulumi.output_type
23197
23840
  class ResourceClaimPatch(dict):
@@ -23199,13 +23842,17 @@ class ResourceClaimPatch(dict):
23199
23842
  ResourceClaim references one entry in PodSpec.ResourceClaims.
23200
23843
  """
23201
23844
  def __init__(__self__, *,
23202
- name: Optional[str] = None):
23845
+ name: Optional[str] = None,
23846
+ request: Optional[str] = None):
23203
23847
  """
23204
23848
  ResourceClaim references one entry in PodSpec.ResourceClaims.
23205
23849
  :param str name: Name must match the name of one entry in pod.spec.resourceClaims of the Pod where this field is used. It makes that resource available inside a container.
23850
+ :param str request: Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.
23206
23851
  """
23207
23852
  if name is not None:
23208
23853
  pulumi.set(__self__, "name", name)
23854
+ if request is not None:
23855
+ pulumi.set(__self__, "request", request)
23209
23856
 
23210
23857
  @property
23211
23858
  @pulumi.getter
@@ -23215,6 +23862,14 @@ class ResourceClaimPatch(dict):
23215
23862
  """
23216
23863
  return pulumi.get(self, "name")
23217
23864
 
23865
+ @property
23866
+ @pulumi.getter
23867
+ def request(self) -> Optional[str]:
23868
+ """
23869
+ Request is the name chosen for a request in the referenced claim. If empty, everything from the claim is made available, otherwise only the result of this request.
23870
+ """
23871
+ return pulumi.get(self, "request")
23872
+
23218
23873
 
23219
23874
  @pulumi.output_type
23220
23875
  class ResourceFieldSelector(dict):
@@ -23343,6 +23998,141 @@ class ResourceFieldSelectorPatch(dict):
23343
23998
  return pulumi.get(self, "resource")
23344
23999
 
23345
24000
 
24001
+ @pulumi.output_type
24002
+ class ResourceHealth(dict):
24003
+ """
24004
+ ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.
24005
+ """
24006
+ @staticmethod
24007
+ def __key_warning(key: str):
24008
+ suggest = None
24009
+ if key == "resourceID":
24010
+ suggest = "resource_id"
24011
+
24012
+ if suggest:
24013
+ pulumi.log.warn(f"Key '{key}' not found in ResourceHealth. Access the value via the '{suggest}' property getter instead.")
24014
+
24015
+ def __getitem__(self, key: str) -> Any:
24016
+ ResourceHealth.__key_warning(key)
24017
+ return super().__getitem__(key)
24018
+
24019
+ def get(self, key: str, default = None) -> Any:
24020
+ ResourceHealth.__key_warning(key)
24021
+ return super().get(key, default)
24022
+
24023
+ def __init__(__self__, *,
24024
+ resource_id: str,
24025
+ health: Optional[str] = None):
24026
+ """
24027
+ ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.
24028
+ :param str resource_id: ResourceID is the unique identifier of the resource. See the ResourceID type for more information.
24029
+ :param str health: Health of the resource. can be one of:
24030
+ - Healthy: operates as normal
24031
+ - Unhealthy: reported unhealthy. We consider this a temporary health issue
24032
+ since we do not have a mechanism today to distinguish
24033
+ temporary and permanent issues.
24034
+ - Unknown: The status cannot be determined.
24035
+ For example, Device Plugin got unregistered and hasn't been re-registered since.
24036
+
24037
+ In future we may want to introduce the PermanentlyUnhealthy Status.
24038
+ """
24039
+ pulumi.set(__self__, "resource_id", resource_id)
24040
+ if health is not None:
24041
+ pulumi.set(__self__, "health", health)
24042
+
24043
+ @property
24044
+ @pulumi.getter(name="resourceID")
24045
+ def resource_id(self) -> str:
24046
+ """
24047
+ ResourceID is the unique identifier of the resource. See the ResourceID type for more information.
24048
+ """
24049
+ return pulumi.get(self, "resource_id")
24050
+
24051
+ @property
24052
+ @pulumi.getter
24053
+ def health(self) -> Optional[str]:
24054
+ """
24055
+ Health of the resource. can be one of:
24056
+ - Healthy: operates as normal
24057
+ - Unhealthy: reported unhealthy. We consider this a temporary health issue
24058
+ since we do not have a mechanism today to distinguish
24059
+ temporary and permanent issues.
24060
+ - Unknown: The status cannot be determined.
24061
+ For example, Device Plugin got unregistered and hasn't been re-registered since.
24062
+
24063
+ In future we may want to introduce the PermanentlyUnhealthy Status.
24064
+ """
24065
+ return pulumi.get(self, "health")
24066
+
24067
+
24068
+ @pulumi.output_type
24069
+ class ResourceHealthPatch(dict):
24070
+ """
24071
+ ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.
24072
+ """
24073
+ @staticmethod
24074
+ def __key_warning(key: str):
24075
+ suggest = None
24076
+ if key == "resourceID":
24077
+ suggest = "resource_id"
24078
+
24079
+ if suggest:
24080
+ pulumi.log.warn(f"Key '{key}' not found in ResourceHealthPatch. Access the value via the '{suggest}' property getter instead.")
24081
+
24082
+ def __getitem__(self, key: str) -> Any:
24083
+ ResourceHealthPatch.__key_warning(key)
24084
+ return super().__getitem__(key)
24085
+
24086
+ def get(self, key: str, default = None) -> Any:
24087
+ ResourceHealthPatch.__key_warning(key)
24088
+ return super().get(key, default)
24089
+
24090
+ def __init__(__self__, *,
24091
+ health: Optional[str] = None,
24092
+ resource_id: Optional[str] = None):
24093
+ """
24094
+ ResourceHealth represents the health of a resource. It has the latest device health information. This is a part of KEP https://kep.k8s.io/4680 and historical health changes are planned to be added in future iterations of a KEP.
24095
+ :param str health: Health of the resource. can be one of:
24096
+ - Healthy: operates as normal
24097
+ - Unhealthy: reported unhealthy. We consider this a temporary health issue
24098
+ since we do not have a mechanism today to distinguish
24099
+ temporary and permanent issues.
24100
+ - Unknown: The status cannot be determined.
24101
+ For example, Device Plugin got unregistered and hasn't been re-registered since.
24102
+
24103
+ In future we may want to introduce the PermanentlyUnhealthy Status.
24104
+ :param str resource_id: ResourceID is the unique identifier of the resource. See the ResourceID type for more information.
24105
+ """
24106
+ if health is not None:
24107
+ pulumi.set(__self__, "health", health)
24108
+ if resource_id is not None:
24109
+ pulumi.set(__self__, "resource_id", resource_id)
24110
+
24111
+ @property
24112
+ @pulumi.getter
24113
+ def health(self) -> Optional[str]:
24114
+ """
24115
+ Health of the resource. can be one of:
24116
+ - Healthy: operates as normal
24117
+ - Unhealthy: reported unhealthy. We consider this a temporary health issue
24118
+ since we do not have a mechanism today to distinguish
24119
+ temporary and permanent issues.
24120
+ - Unknown: The status cannot be determined.
24121
+ For example, Device Plugin got unregistered and hasn't been re-registered since.
24122
+
24123
+ In future we may want to introduce the PermanentlyUnhealthy Status.
24124
+ """
24125
+ return pulumi.get(self, "health")
24126
+
24127
+ @property
24128
+ @pulumi.getter(name="resourceID")
24129
+ def resource_id(self) -> Optional[str]:
24130
+ """
24131
+ ResourceID is the unique identifier of the resource. See the ResourceID type for more information.
24132
+ """
24133
+ return pulumi.get(self, "resource_id")
24134
+
24135
+
23346
24136
  @pulumi.output_type
23347
24137
  class ResourceQuota(dict):
23348
24138
  """
@@ -23739,6 +24529,67 @@ class ResourceRequirementsPatch(dict):
23739
24529
  return pulumi.get(self, "requests")
23740
24530
 
23741
24531
 
24532
+ @pulumi.output_type
24533
+ class ResourceStatus(dict):
24534
+ def __init__(__self__, *,
24535
+ name: str,
24536
+ resources: Optional[Sequence['outputs.ResourceHealth']] = None):
24537
+ """
24538
+ :param str name: Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.
24539
+ :param Sequence['ResourceHealthArgs'] resources: List of unique Resources health. Each element in the list contains an unique resource ID and resource health. At a minimum, ResourceID must uniquely identify the Resource allocated to the Pod on the Node for the lifetime of a Pod. See ResourceID type for it's definition.
24540
+ """
24541
+ pulumi.set(__self__, "name", name)
24542
+ if resources is not None:
24543
+ pulumi.set(__self__, "resources", resources)
24544
+
24545
+ @property
24546
+ @pulumi.getter
24547
+ def name(self) -> str:
24548
+ """
24549
+ Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.
24550
+ """
24551
+ return pulumi.get(self, "name")
24552
+
24553
+ @property
24554
+ @pulumi.getter
24555
+ def resources(self) -> Optional[Sequence['outputs.ResourceHealth']]:
24556
+ """
24557
+ List of unique Resources health. Each element in the list contains an unique resource ID and resource health. At a minimum, ResourceID must uniquely identify the Resource allocated to the Pod on the Node for the lifetime of a Pod. See ResourceID type for it's definition.
24558
+ """
24559
+ return pulumi.get(self, "resources")
24560
+
24561
+
24562
+ @pulumi.output_type
24563
+ class ResourceStatusPatch(dict):
24564
+ def __init__(__self__, *,
24565
+ name: Optional[str] = None,
24566
+ resources: Optional[Sequence['outputs.ResourceHealthPatch']] = None):
24567
+ """
24568
+ :param str name: Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.
24569
+ :param Sequence['ResourceHealthPatchArgs'] resources: List of unique Resources health. Each element in the list contains an unique resource ID and resource health. At a minimum, ResourceID must uniquely identify the Resource allocated to the Pod on the Node for the lifetime of a Pod. See ResourceID type for it's definition.
24570
+ """
24571
+ if name is not None:
24572
+ pulumi.set(__self__, "name", name)
24573
+ if resources is not None:
24574
+ pulumi.set(__self__, "resources", resources)
24575
+
24576
+ @property
24577
+ @pulumi.getter
24578
+ def name(self) -> Optional[str]:
24579
+ """
24580
+ Name of the resource. Must be unique within the pod and match one of the resources from the pod spec.
24581
+ """
24582
+ return pulumi.get(self, "name")
24583
+
24584
+ @property
24585
+ @pulumi.getter
24586
+ def resources(self) -> Optional[Sequence['outputs.ResourceHealthPatch']]:
24587
+ """
24588
+ List of unique Resources health. Each element in the list contains an unique resource ID and resource health. At a minimum, ResourceID must uniquely identify the Resource allocated to the Pod on the Node for the lifetime of a Pod. See ResourceID type for it's definition.
24589
+ """
24590
+ return pulumi.get(self, "resources")
24591
+
24592
+
23742
24593
  @pulumi.output_type
23743
24594
  class SELinuxOptions(dict):
23744
24595
  """
@@ -24964,7 +25815,7 @@ class SecretEnvSource(dict):
24964
25815
  SecretEnvSource selects a Secret to populate the environment variables with.
24965
25816
 
24966
25817
  The contents of the target Secret's Data field will represent the key-value pairs as environment variables.
24967
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25818
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24968
25819
  :param bool optional: Specify whether the Secret must be defined
24969
25820
  """
24970
25821
  if name is not None:
@@ -24976,7 +25827,7 @@ class SecretEnvSource(dict):
24976
25827
  @pulumi.getter
24977
25828
  def name(self) -> Optional[str]:
24978
25829
  """
24979
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25830
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
24980
25831
  """
24981
25832
  return pulumi.get(self, "name")
24982
25833
 
@@ -25003,7 +25854,7 @@ class SecretEnvSourcePatch(dict):
25003
25854
  SecretEnvSource selects a Secret to populate the environment variables with.
25004
25855
 
25005
25856
  The contents of the target Secret's Data field will represent the key-value pairs as environment variables.
25006
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25857
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25007
25858
  :param bool optional: Specify whether the Secret must be defined
25008
25859
  """
25009
25860
  if name is not None:
@@ -25015,7 +25866,7 @@ class SecretEnvSourcePatch(dict):
25015
25866
  @pulumi.getter
25016
25867
  def name(self) -> Optional[str]:
25017
25868
  """
25018
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25869
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25019
25870
  """
25020
25871
  return pulumi.get(self, "name")
25021
25872
 
@@ -25040,7 +25891,7 @@ class SecretKeySelector(dict):
25040
25891
  """
25041
25892
  SecretKeySelector selects a key of a Secret.
25042
25893
  :param str key: The key of the secret to select from. Must be a valid secret key.
25043
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25894
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25044
25895
  :param bool optional: Specify whether the Secret or its key must be defined
25045
25896
  """
25046
25897
  pulumi.set(__self__, "key", key)
@@ -25061,7 +25912,7 @@ class SecretKeySelector(dict):
25061
25912
  @pulumi.getter
25062
25913
  def name(self) -> Optional[str]:
25063
25914
  """
25064
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25915
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25065
25916
  """
25066
25917
  return pulumi.get(self, "name")
25067
25918
 
@@ -25086,7 +25937,7 @@ class SecretKeySelectorPatch(dict):
25086
25937
  """
25087
25938
  SecretKeySelector selects a key of a Secret.
25088
25939
  :param str key: The key of the secret to select from. Must be a valid secret key.
25089
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25940
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25090
25941
  :param bool optional: Specify whether the Secret or its key must be defined
25091
25942
  """
25092
25943
  if key is not None:
@@ -25108,7 +25959,7 @@ class SecretKeySelectorPatch(dict):
25108
25959
  @pulumi.getter
25109
25960
  def name(self) -> Optional[str]:
25110
25961
  """
25111
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25962
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25112
25963
  """
25113
25964
  return pulumi.get(self, "name")
25114
25965
 
@@ -25137,7 +25988,7 @@ class SecretProjection(dict):
25137
25988
 
25138
25989
  The contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.
25139
25990
  :param Sequence['KeyToPathArgs'] items: items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
25140
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25991
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25141
25992
  :param bool optional: optional field specify whether the Secret or its key must be defined
25142
25993
  """
25143
25994
  if items is not None:
@@ -25159,7 +26010,7 @@ class SecretProjection(dict):
25159
26010
  @pulumi.getter
25160
26011
  def name(self) -> Optional[str]:
25161
26012
  """
25162
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
26013
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25163
26014
  """
25164
26015
  return pulumi.get(self, "name")
25165
26016
 
@@ -25188,7 +26039,7 @@ class SecretProjectionPatch(dict):
25188
26039
 
25189
26040
  The contents of the target Secret's Data field will be presented in a projected volume as files using the keys in the Data field as the file names. Note that this is identical to a secret volume source without the default mode.
25190
26041
  :param Sequence['KeyToPathPatchArgs'] items: items if unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'.
25191
- :param str name: Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
26042
+ :param str name: Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25192
26043
  :param bool optional: optional field specify whether the Secret or its key must be defined
25193
26044
  """
25194
26045
  if items is not None:
@@ -25210,7 +26061,7 @@ class SecretProjectionPatch(dict):
25210
26061
  @pulumi.getter
25211
26062
  def name(self) -> Optional[str]:
25212
26063
  """
25213
- Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
26064
+ Name of the referent. This field is effectively required, but due to backwards compatibility is allowed to be empty. Instances of this type with an empty value here are almost certainly wrong. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
25214
26065
  """
25215
26066
  return pulumi.get(self, "name")
25216
26067
 
@@ -25516,7 +26367,7 @@ class SecurityContext(dict):
25516
26367
  :param 'AppArmorProfileArgs' app_armor_profile: appArmorProfile is the AppArmor options to use by this container. If set, this profile overrides the pod's appArmorProfile. Note that this field cannot be set when spec.os.name is windows.
25517
26368
  :param 'CapabilitiesArgs' capabilities: The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.
25518
26369
  :param bool privileged: Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows.
25519
- :param str proc_mount: procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
26370
+ :param str proc_mount: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
25520
26371
  :param bool read_only_root_filesystem: Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows.
25521
26372
  :param int run_as_group: The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.
25522
26373
  :param bool run_as_non_root: Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
@@ -25586,7 +26437,7 @@ class SecurityContext(dict):
25586
26437
  @pulumi.getter(name="procMount")
25587
26438
  def proc_mount(self) -> Optional[str]:
25588
26439
  """
25589
- procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
26440
+ procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
25590
26441
  """
25591
26442
  return pulumi.get(self, "proc_mount")
25592
26443
 
@@ -25706,7 +26557,7 @@ class SecurityContextPatch(dict):
25706
26557
  :param 'AppArmorProfilePatchArgs' app_armor_profile: appArmorProfile is the AppArmor options to use by this container. If set, this profile overrides the pod's appArmorProfile. Note that this field cannot be set when spec.os.name is windows.
25707
26558
  :param 'CapabilitiesPatchArgs' capabilities: The capabilities to add/drop when running containers. Defaults to the default set of capabilities granted by the container runtime. Note that this field cannot be set when spec.os.name is windows.
25708
26559
  :param bool privileged: Run container in privileged mode. Processes in privileged containers are essentially equivalent to root on the host. Defaults to false. Note that this field cannot be set when spec.os.name is windows.
25709
- :param str proc_mount: procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
26560
+ :param str proc_mount: procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
25710
26561
  :param bool read_only_root_filesystem: Whether this container has a read-only root filesystem. Default is false. Note that this field cannot be set when spec.os.name is windows.
25711
26562
  :param int run_as_group: The GID to run the entrypoint of the container process. Uses runtime default if unset. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. Note that this field cannot be set when spec.os.name is windows.
25712
26563
  :param bool run_as_non_root: Indicates that the container must run as a non-root user. If true, the Kubelet will validate the image at runtime to ensure that it does not run as UID 0 (root) and fail to start the container if it does. If unset or false, no such validation will be performed. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
@@ -25776,7 +26627,7 @@ class SecurityContextPatch(dict):
25776
26627
  @pulumi.getter(name="procMount")
25777
26628
  def proc_mount(self) -> Optional[str]:
25778
26629
  """
25779
- procMount denotes the type of proc mount to use for the containers. The default is DefaultProcMount which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
26630
+ procMount denotes the type of proc mount to use for the containers. The default value is Default which uses the container runtime defaults for readonly paths and masked paths. This requires the ProcMountType feature flag to be enabled. Note that this field cannot be set when spec.os.name is windows.
25780
26631
  """
25781
26632
  return pulumi.get(self, "proc_mount")
25782
26633
 
@@ -25850,19 +26701,11 @@ class Service(dict):
25850
26701
  1. Service object exists.
25851
26702
  2. Related Endpoint objects are created. Each time we get an update, wait 10 seconds
25852
26703
  for any stragglers.
25853
- 3. The endpoints objects target some number of living objects (unless the Service is
25854
- an "empty headless" Service [1] or a Service with '.spec.type: ExternalName').
26704
+ 3. There are no "not ready" endpoints -- unless the Service is an "empty
26705
+ headless" Service [1], a Service with '.spec.type: ExternalName', or a Service
26706
+ without a selector.
25855
26707
  4. External IP address is allocated (if Service has '.spec.type: LoadBalancer').
25856
26708
 
25857
- Known limitations:
25858
- Services targeting ReplicaSets (and, by extension, Deployments,
25859
- StatefulSets, etc.) with '.spec.replicas' set to 0 are not handled, and will time
25860
- out. To work around this limitation, set 'pulumi.com/skipAwait: "true"' on
25861
- '.metadata.annotations' for the Service. Work to handle this case is in progress [2].
25862
-
25863
- [1] https://kubernetes.io/docs/concepts/services-networking/service/#headless-services
25864
- [2] https://github.com/pulumi/pulumi-kubernetes/pull/703
25865
-
25866
26709
  If the Service has not reached a Ready state after 10 minutes, it will
25867
26710
  time out and mark the resource update as Failed. You can override the default timeout value
25868
26711
  by setting the 'customTimeouts' option on the resource.
@@ -25901,19 +26744,11 @@ class Service(dict):
25901
26744
  1. Service object exists.
25902
26745
  2. Related Endpoint objects are created. Each time we get an update, wait 10 seconds
25903
26746
  for any stragglers.
25904
- 3. The endpoints objects target some number of living objects (unless the Service is
25905
- an "empty headless" Service [1] or a Service with '.spec.type: ExternalName').
26747
+ 3. There are no "not ready" endpoints -- unless the Service is an "empty
26748
+ headless" Service [1], a Service with '.spec.type: ExternalName', or a Service
26749
+ without a selector.
25906
26750
  4. External IP address is allocated (if Service has '.spec.type: LoadBalancer').
25907
26751
 
25908
- Known limitations:
25909
- Services targeting ReplicaSets (and, by extension, Deployments,
25910
- StatefulSets, etc.) with '.spec.replicas' set to 0 are not handled, and will time
25911
- out. To work around this limitation, set 'pulumi.com/skipAwait: "true"' on
25912
- '.metadata.annotations' for the Service. Work to handle this case is in progress [2].
25913
-
25914
- [1] https://kubernetes.io/docs/concepts/services-networking/service/#headless-services
25915
- [2] https://github.com/pulumi/pulumi-kubernetes/pull/703
25916
-
25917
26752
  If the Service has not reached a Ready state after 10 minutes, it will
25918
26753
  time out and mark the resource update as Failed. You can override the default timeout value
25919
26754
  by setting the 'customTimeouts' option on the resource.
@@ -26556,7 +27391,7 @@ class ServiceSpec(dict):
26556
27391
  :param str session_affinity: Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
26557
27392
  :param 'SessionAffinityConfigArgs' session_affinity_config: sessionAffinityConfig contains the configurations of session affinity.
26558
27393
  :param Sequence[str] topology_keys: topologyKeys is a preference-order list of topology keys which implementations of services should use to preferentially sort endpoints when accessing this Service, it can not be used at the same time as externalTrafficPolicy=Local. Topology keys must be valid label keys and at most 16 keys may be specified. Endpoints are chosen based on the first topology key with available backends. If this field is specified and all entries have no backends that match the topology of the client, the service has no backends for that client and connections should fail. The special value "*" may be used to mean "any topology". This catch-all value, if used, only makes sense as the last value in the list. If this is not specified or empty, no topology constraints will be applied.
26559
- :param str traffic_distribution: TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone).
27394
+ :param str traffic_distribution: TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone). This is an alpha field and requires enabling ServiceTrafficDistribution feature.
26560
27395
  :param Union[str, 'ServiceSpecType'] type: type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. "ExternalName" aliases this service to the specified externalName. Several other fields do not apply to ExternalName services. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
26561
27396
  """
26562
27397
  if allocate_load_balancer_node_ports is not None:
@@ -26772,7 +27607,7 @@ class ServiceSpec(dict):
26772
27607
  @pulumi.getter(name="trafficDistribution")
26773
27608
  def traffic_distribution(self) -> Optional[str]:
26774
27609
  """
26775
- TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone).
27610
+ TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone). This is an alpha field and requires enabling ServiceTrafficDistribution feature.
26776
27611
  """
26777
27612
  return pulumi.get(self, "traffic_distribution")
26778
27613
 
@@ -26892,7 +27727,7 @@ class ServiceSpecPatch(dict):
26892
27727
  :param str session_affinity: Supports "ClientIP" and "None". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
26893
27728
  :param 'SessionAffinityConfigPatchArgs' session_affinity_config: sessionAffinityConfig contains the configurations of session affinity.
26894
27729
  :param Sequence[str] topology_keys: topologyKeys is a preference-order list of topology keys which implementations of services should use to preferentially sort endpoints when accessing this Service, it can not be used at the same time as externalTrafficPolicy=Local. Topology keys must be valid label keys and at most 16 keys may be specified. Endpoints are chosen based on the first topology key with available backends. If this field is specified and all entries have no backends that match the topology of the client, the service has no backends for that client and connections should fail. The special value "*" may be used to mean "any topology". This catch-all value, if used, only makes sense as the last value in the list. If this is not specified or empty, no topology constraints will be applied.
26895
- :param str traffic_distribution: TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone).
27730
+ :param str traffic_distribution: TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone). This is an alpha field and requires enabling ServiceTrafficDistribution feature.
26896
27731
  :param Union[str, 'ServiceSpecType'] type: type determines how the Service is exposed. Defaults to ClusterIP. Valid options are ExternalName, ClusterIP, NodePort, and LoadBalancer. "ClusterIP" allocates a cluster-internal IP address for load-balancing to endpoints. Endpoints are determined by the selector or if that is not specified, by manual construction of an Endpoints object or EndpointSlice objects. If clusterIP is "None", no virtual IP is allocated and the endpoints are published as a set of endpoints rather than a virtual IP. "NodePort" builds on ClusterIP and allocates a port on every node which routes to the same endpoints as the clusterIP. "LoadBalancer" builds on NodePort and creates an external load-balancer (if supported in the current cloud) which routes to the same endpoints as the clusterIP. "ExternalName" aliases this service to the specified externalName. Several other fields do not apply to ExternalName services. More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
26897
27732
  """
26898
27733
  if allocate_load_balancer_node_ports is not None:
@@ -27108,7 +27943,7 @@ class ServiceSpecPatch(dict):
27108
27943
  @pulumi.getter(name="trafficDistribution")
27109
27944
  def traffic_distribution(self) -> Optional[str]:
27110
27945
  """
27111
- TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone).
27946
+ TrafficDistribution offers a way to express preferences for how traffic is distributed to Service endpoints. Implementations can use this field as a hint, but are not required to guarantee strict adherence. If the field is not set, the implementation will apply its default routing strategy. If set to "PreferClose", implementations should prioritize endpoints that are topologically close (e.g., same zone). This is an alpha field and requires enabling ServiceTrafficDistribution feature.
27112
27947
  """
27113
27948
  return pulumi.get(self, "traffic_distribution")
27114
27949
 
@@ -28999,6 +29834,7 @@ class Volume(dict):
28999
29834
  git_repo: Optional['outputs.GitRepoVolumeSource'] = None,
29000
29835
  glusterfs: Optional['outputs.GlusterfsVolumeSource'] = None,
29001
29836
  host_path: Optional['outputs.HostPathVolumeSource'] = None,
29837
+ image: Optional['outputs.ImageVolumeSource'] = None,
29002
29838
  iscsi: Optional['outputs.ISCSIVolumeSource'] = None,
29003
29839
  nfs: Optional['outputs.NFSVolumeSource'] = None,
29004
29840
  persistent_volume_claim: Optional['outputs.PersistentVolumeClaimVolumeSource'] = None,
@@ -29044,6 +29880,11 @@ class Volume(dict):
29044
29880
  :param 'GitRepoVolumeSourceArgs' git_repo: gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
29045
29881
  :param 'GlusterfsVolumeSourceArgs' glusterfs: glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md
29046
29882
  :param 'HostPathVolumeSourceArgs' host_path: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
29883
+ :param 'ImageVolumeSourceArgs' image: image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:
29884
+
29885
+ - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
29886
+
29887
+ The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
29047
29888
  :param 'ISCSIVolumeSourceArgs' iscsi: iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md
29048
29889
  :param 'NFSVolumeSourceArgs' nfs: nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
29049
29890
  :param 'PersistentVolumeClaimVolumeSourceArgs' persistent_volume_claim: persistentVolumeClaimVolumeSource represents a reference to a PersistentVolumeClaim in the same namespace. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
@@ -29092,6 +29933,8 @@ class Volume(dict):
29092
29933
  pulumi.set(__self__, "glusterfs", glusterfs)
29093
29934
  if host_path is not None:
29094
29935
  pulumi.set(__self__, "host_path", host_path)
29936
+ if image is not None:
29937
+ pulumi.set(__self__, "image", image)
29095
29938
  if iscsi is not None:
29096
29939
  pulumi.set(__self__, "iscsi", iscsi)
29097
29940
  if nfs is not None:
@@ -29274,6 +30117,18 @@ class Volume(dict):
29274
30117
  """
29275
30118
  return pulumi.get(self, "host_path")
29276
30119
 
30120
+ @property
30121
+ @pulumi.getter
30122
+ def image(self) -> Optional['outputs.ImageVolumeSource']:
30123
+ """
30124
+ image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:
30125
+
30126
+ - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
30127
+
30128
+ The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
30129
+ """
30130
+ return pulumi.get(self, "image")
30131
+
29277
30132
  @property
29278
30133
  @pulumi.getter
29279
30134
  def iscsi(self) -> Optional['outputs.ISCSIVolumeSource']:
@@ -30019,6 +30874,7 @@ class VolumePatch(dict):
30019
30874
  git_repo: Optional['outputs.GitRepoVolumeSourcePatch'] = None,
30020
30875
  glusterfs: Optional['outputs.GlusterfsVolumeSourcePatch'] = None,
30021
30876
  host_path: Optional['outputs.HostPathVolumeSourcePatch'] = None,
30877
+ image: Optional['outputs.ImageVolumeSourcePatch'] = None,
30022
30878
  iscsi: Optional['outputs.ISCSIVolumeSourcePatch'] = None,
30023
30879
  name: Optional[str] = None,
30024
30880
  nfs: Optional['outputs.NFSVolumeSourcePatch'] = None,
@@ -30064,6 +30920,11 @@ class VolumePatch(dict):
30064
30920
  :param 'GitRepoVolumeSourcePatchArgs' git_repo: gitRepo represents a git repository at a particular revision. DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir into the Pod's container.
30065
30921
  :param 'GlusterfsVolumeSourcePatchArgs' glusterfs: glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. More info: https://examples.k8s.io/volumes/glusterfs/README.md
30066
30922
  :param 'HostPathVolumeSourcePatchArgs' host_path: hostPath represents a pre-existing file or directory on the host machine that is directly exposed to the container. This is generally used for system agents or other privileged things that are allowed to see the host machine. Most containers will NOT need this. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
30923
+ :param 'ImageVolumeSourcePatchArgs' image: image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:
30924
+
30925
+ - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
30926
+
30927
+ The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
30067
30928
  :param 'ISCSIVolumeSourcePatchArgs' iscsi: iscsi represents an ISCSI Disk resource that is attached to a kubelet's host machine and then exposed to the pod. More info: https://examples.k8s.io/volumes/iscsi/README.md
30068
30929
  :param str name: name of the volume. Must be a DNS_LABEL and unique within the pod. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
30069
30930
  :param 'NFSVolumeSourcePatchArgs' nfs: nfs represents an NFS mount on the host that shares a pod's lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
@@ -30112,6 +30973,8 @@ class VolumePatch(dict):
30112
30973
  pulumi.set(__self__, "glusterfs", glusterfs)
30113
30974
  if host_path is not None:
30114
30975
  pulumi.set(__self__, "host_path", host_path)
30976
+ if image is not None:
30977
+ pulumi.set(__self__, "image", image)
30115
30978
  if iscsi is not None:
30116
30979
  pulumi.set(__self__, "iscsi", iscsi)
30117
30980
  if name is not None:
@@ -30288,6 +31151,18 @@ class VolumePatch(dict):
30288
31151
  """
30289
31152
  return pulumi.get(self, "host_path")
30290
31153
 
31154
+ @property
31155
+ @pulumi.getter
31156
+ def image(self) -> Optional['outputs.ImageVolumeSourcePatch']:
31157
+ """
31158
+ image represents an OCI object (a container image or artifact) pulled and mounted on the kubelet's host machine. The volume is resolved at pod startup depending on which PullPolicy value is provided:
31159
+
31160
+ - Always: the kubelet always attempts to pull the reference. Container creation will fail If the pull fails. - Never: the kubelet never pulls the reference and only uses a local image or artifact. Container creation will fail if the reference isn't present. - IfNotPresent: the kubelet pulls if the reference isn't already present on disk. Container creation will fail if the reference isn't present and the pull fails.
31161
+
31162
+ The volume gets re-resolved if the pod gets deleted and recreated, which means that new remote content will become available on pod recreation. A failure to resolve or pull the image during pod startup will block containers from starting and may add significant latency. Failures will be retried using normal volume backoff and will be reported on the pod reason and message. The types of objects that may be mounted by this volume are defined by the container runtime implementation on a host machine and at minimum must include all valid types supported by the container image field. The OCI object gets mounted in a single directory (spec.containers[*].volumeMounts.mountPath) by merging the manifest layers in the same way as for container images. The volume will be mounted read-only (ro) and non-executable files (noexec). Sub path mounts for containers are not supported (spec.containers[*].volumeMounts.subpath). The field spec.securityContext.fsGroupChangePolicy has no effect on this volume type.
31163
+ """
31164
+ return pulumi.get(self, "image")
31165
+
30291
31166
  @property
30292
31167
  @pulumi.getter
30293
31168
  def iscsi(self) -> Optional['outputs.ISCSIVolumeSourcePatch']:
@@ -30396,7 +31271,7 @@ class VolumePatch(dict):
30396
31271
  @pulumi.output_type
30397
31272
  class VolumeProjection(dict):
30398
31273
  """
30399
- Projection that may be projected along with other supported volume types
31274
+ Projection that may be projected along with other supported volume types. Exactly one of these fields must be set.
30400
31275
  """
30401
31276
  @staticmethod
30402
31277
  def __key_warning(key: str):
@@ -30428,7 +31303,7 @@ class VolumeProjection(dict):
30428
31303
  secret: Optional['outputs.SecretProjection'] = None,
30429
31304
  service_account_token: Optional['outputs.ServiceAccountTokenProjection'] = None):
30430
31305
  """
30431
- Projection that may be projected along with other supported volume types
31306
+ Projection that may be projected along with other supported volume types. Exactly one of these fields must be set.
30432
31307
  :param 'ClusterTrustBundleProjectionArgs' cluster_trust_bundle: ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file.
30433
31308
 
30434
31309
  Alpha, gated by the ClusterTrustBundleProjection feature gate.
@@ -30502,7 +31377,7 @@ class VolumeProjection(dict):
30502
31377
  @pulumi.output_type
30503
31378
  class VolumeProjectionPatch(dict):
30504
31379
  """
30505
- Projection that may be projected along with other supported volume types
31380
+ Projection that may be projected along with other supported volume types. Exactly one of these fields must be set.
30506
31381
  """
30507
31382
  @staticmethod
30508
31383
  def __key_warning(key: str):
@@ -30534,7 +31409,7 @@ class VolumeProjectionPatch(dict):
30534
31409
  secret: Optional['outputs.SecretProjectionPatch'] = None,
30535
31410
  service_account_token: Optional['outputs.ServiceAccountTokenProjectionPatch'] = None):
30536
31411
  """
30537
- Projection that may be projected along with other supported volume types
31412
+ Projection that may be projected along with other supported volume types. Exactly one of these fields must be set.
30538
31413
  :param 'ClusterTrustBundleProjectionPatchArgs' cluster_trust_bundle: ClusterTrustBundle allows a pod to access the `.spec.trustBundle` field of ClusterTrustBundle objects in an auto-updating file.
30539
31414
 
30540
31415
  Alpha, gated by the ClusterTrustBundleProjection feature gate.