pulumi-kubernetes 4.10.0a1710355461__py3-none-any.whl → 4.20.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 (598) hide show
  1. pulumi_kubernetes/__init__.py +123 -3
  2. pulumi_kubernetes/_inputs.py +63 -6
  3. pulumi_kubernetes/_utilities.py +41 -5
  4. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfiguration.py +11 -6
  5. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationList.py +11 -6
  6. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationPatch.py +11 -6
  7. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicy.py +226 -0
  8. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBinding.py +224 -0
  9. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingList.py +215 -0
  10. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingPatch.py +236 -0
  11. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyList.py +215 -0
  12. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyPatch.py +238 -0
  13. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfiguration.py +11 -6
  14. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationList.py +11 -6
  15. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationPatch.py +11 -6
  16. pulumi_kubernetes/admissionregistration/v1/__init__.py +6 -0
  17. pulumi_kubernetes/admissionregistration/v1/_inputs.py +4571 -939
  18. pulumi_kubernetes/admissionregistration/v1/outputs.py +2880 -470
  19. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicy.py +214 -0
  20. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBinding.py +222 -0
  21. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingList.py +215 -0
  22. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingPatch.py +234 -0
  23. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyList.py +215 -0
  24. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyPatch.py +226 -0
  25. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicy.py +12 -7
  26. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBinding.py +12 -15
  27. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingList.py +29 -23
  28. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingPatch.py +12 -15
  29. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyList.py +29 -23
  30. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyPatch.py +12 -7
  31. pulumi_kubernetes/admissionregistration/v1alpha1/__init__.py +6 -0
  32. pulumi_kubernetes/admissionregistration/v1alpha1/_inputs.py +2514 -141
  33. pulumi_kubernetes/admissionregistration/v1alpha1/outputs.py +1370 -246
  34. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfiguration.py +11 -6
  35. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationList.py +11 -6
  36. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationPatch.py +11 -6
  37. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicy.py +12 -7
  38. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBinding.py +12 -7
  39. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingList.py +29 -23
  40. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingPatch.py +12 -7
  41. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyList.py +29 -23
  42. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyPatch.py +12 -7
  43. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfiguration.py +11 -6
  44. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationList.py +11 -6
  45. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationPatch.py +11 -6
  46. pulumi_kubernetes/admissionregistration/v1beta1/_inputs.py +1522 -42
  47. pulumi_kubernetes/admissionregistration/v1beta1/outputs.py +9 -4
  48. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinition.py +11 -6
  49. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionList.py +11 -6
  50. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionPatch.py +11 -6
  51. pulumi_kubernetes/apiextensions/v1/_inputs.py +1175 -12
  52. pulumi_kubernetes/apiextensions/v1/outputs.py +122 -8
  53. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinition.py +10 -5
  54. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionList.py +10 -5
  55. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionPatch.py +10 -5
  56. pulumi_kubernetes/apiextensions/v1beta1/_inputs.py +903 -6
  57. pulumi_kubernetes/apiextensions/v1beta1/outputs.py +5 -0
  58. pulumi_kubernetes/apiregistration/v1/APIService.py +11 -6
  59. pulumi_kubernetes/apiregistration/v1/APIServiceList.py +11 -6
  60. pulumi_kubernetes/apiregistration/v1/APIServicePatch.py +11 -6
  61. pulumi_kubernetes/apiregistration/v1/_inputs.py +194 -0
  62. pulumi_kubernetes/apiregistration/v1/outputs.py +5 -0
  63. pulumi_kubernetes/apiregistration/v1beta1/APIService.py +10 -5
  64. pulumi_kubernetes/apiregistration/v1beta1/APIServiceList.py +9 -4
  65. pulumi_kubernetes/apiregistration/v1beta1/APIServicePatch.py +10 -5
  66. pulumi_kubernetes/apiregistration/v1beta1/_inputs.py +191 -0
  67. pulumi_kubernetes/apiregistration/v1beta1/outputs.py +5 -0
  68. pulumi_kubernetes/apps/v1/ControllerRevision.py +8 -3
  69. pulumi_kubernetes/apps/v1/ControllerRevisionList.py +11 -6
  70. pulumi_kubernetes/apps/v1/ControllerRevisionPatch.py +8 -3
  71. pulumi_kubernetes/apps/v1/DaemonSet.py +11 -6
  72. pulumi_kubernetes/apps/v1/DaemonSetList.py +11 -6
  73. pulumi_kubernetes/apps/v1/DaemonSetPatch.py +11 -6
  74. pulumi_kubernetes/apps/v1/Deployment.py +11 -6
  75. pulumi_kubernetes/apps/v1/DeploymentList.py +11 -6
  76. pulumi_kubernetes/apps/v1/DeploymentPatch.py +11 -6
  77. pulumi_kubernetes/apps/v1/ReplicaSet.py +11 -6
  78. pulumi_kubernetes/apps/v1/ReplicaSetList.py +11 -6
  79. pulumi_kubernetes/apps/v1/ReplicaSetPatch.py +11 -6
  80. pulumi_kubernetes/apps/v1/StatefulSet.py +11 -6
  81. pulumi_kubernetes/apps/v1/StatefulSetList.py +11 -6
  82. pulumi_kubernetes/apps/v1/StatefulSetPatch.py +11 -6
  83. pulumi_kubernetes/apps/v1/_inputs.py +1057 -8
  84. pulumi_kubernetes/apps/v1/outputs.py +13 -8
  85. pulumi_kubernetes/apps/v1beta1/ControllerRevision.py +8 -3
  86. pulumi_kubernetes/apps/v1beta1/ControllerRevisionList.py +11 -6
  87. pulumi_kubernetes/apps/v1beta1/ControllerRevisionPatch.py +8 -3
  88. pulumi_kubernetes/apps/v1beta1/Deployment.py +11 -6
  89. pulumi_kubernetes/apps/v1beta1/DeploymentList.py +11 -6
  90. pulumi_kubernetes/apps/v1beta1/DeploymentPatch.py +11 -6
  91. pulumi_kubernetes/apps/v1beta1/StatefulSet.py +10 -5
  92. pulumi_kubernetes/apps/v1beta1/StatefulSetList.py +9 -4
  93. pulumi_kubernetes/apps/v1beta1/StatefulSetPatch.py +10 -5
  94. pulumi_kubernetes/apps/v1beta1/_inputs.py +603 -0
  95. pulumi_kubernetes/apps/v1beta1/outputs.py +5 -0
  96. pulumi_kubernetes/apps/v1beta2/ControllerRevision.py +8 -3
  97. pulumi_kubernetes/apps/v1beta2/ControllerRevisionList.py +11 -6
  98. pulumi_kubernetes/apps/v1beta2/ControllerRevisionPatch.py +8 -3
  99. pulumi_kubernetes/apps/v1beta2/DaemonSet.py +11 -6
  100. pulumi_kubernetes/apps/v1beta2/DaemonSetList.py +11 -6
  101. pulumi_kubernetes/apps/v1beta2/DaemonSetPatch.py +11 -6
  102. pulumi_kubernetes/apps/v1beta2/Deployment.py +11 -6
  103. pulumi_kubernetes/apps/v1beta2/DeploymentList.py +11 -6
  104. pulumi_kubernetes/apps/v1beta2/DeploymentPatch.py +11 -6
  105. pulumi_kubernetes/apps/v1beta2/ReplicaSet.py +11 -6
  106. pulumi_kubernetes/apps/v1beta2/ReplicaSetList.py +11 -6
  107. pulumi_kubernetes/apps/v1beta2/ReplicaSetPatch.py +11 -6
  108. pulumi_kubernetes/apps/v1beta2/StatefulSet.py +10 -5
  109. pulumi_kubernetes/apps/v1beta2/StatefulSetList.py +9 -4
  110. pulumi_kubernetes/apps/v1beta2/StatefulSetPatch.py +10 -5
  111. pulumi_kubernetes/apps/v1beta2/_inputs.py +935 -0
  112. pulumi_kubernetes/apps/v1beta2/outputs.py +5 -0
  113. pulumi_kubernetes/auditregistration/v1alpha1/AuditSink.py +10 -5
  114. pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkList.py +10 -5
  115. pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkPatch.py +10 -5
  116. pulumi_kubernetes/auditregistration/v1alpha1/_inputs.py +281 -0
  117. pulumi_kubernetes/auditregistration/v1alpha1/outputs.py +5 -0
  118. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscaler.py +11 -6
  119. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerList.py +11 -6
  120. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerPatch.py +11 -6
  121. pulumi_kubernetes/autoscaling/v1/_inputs.py +157 -0
  122. pulumi_kubernetes/autoscaling/v1/outputs.py +5 -0
  123. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscaler.py +11 -6
  124. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerList.py +11 -6
  125. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerPatch.py +11 -6
  126. pulumi_kubernetes/autoscaling/v2/_inputs.py +815 -10
  127. pulumi_kubernetes/autoscaling/v2/outputs.py +17 -12
  128. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscaler.py +11 -6
  129. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerList.py +11 -6
  130. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerPatch.py +11 -6
  131. pulumi_kubernetes/autoscaling/v2beta1/_inputs.py +652 -0
  132. pulumi_kubernetes/autoscaling/v2beta1/outputs.py +5 -0
  133. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscaler.py +11 -6
  134. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerList.py +11 -6
  135. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerPatch.py +11 -6
  136. pulumi_kubernetes/autoscaling/v2beta2/_inputs.py +796 -0
  137. pulumi_kubernetes/autoscaling/v2beta2/outputs.py +5 -0
  138. pulumi_kubernetes/batch/v1/CronJob.py +11 -6
  139. pulumi_kubernetes/batch/v1/CronJobList.py +11 -6
  140. pulumi_kubernetes/batch/v1/CronJobPatch.py +11 -6
  141. pulumi_kubernetes/batch/v1/Job.py +11 -6
  142. pulumi_kubernetes/batch/v1/JobList.py +11 -6
  143. pulumi_kubernetes/batch/v1/JobPatch.py +11 -6
  144. pulumi_kubernetes/batch/v1/_inputs.py +1070 -85
  145. pulumi_kubernetes/batch/v1/outputs.py +298 -40
  146. pulumi_kubernetes/batch/v1beta1/CronJob.py +11 -6
  147. pulumi_kubernetes/batch/v1beta1/CronJobList.py +11 -6
  148. pulumi_kubernetes/batch/v1beta1/CronJobPatch.py +11 -6
  149. pulumi_kubernetes/batch/v1beta1/_inputs.py +161 -0
  150. pulumi_kubernetes/batch/v1beta1/outputs.py +5 -0
  151. pulumi_kubernetes/batch/v2alpha1/CronJob.py +11 -6
  152. pulumi_kubernetes/batch/v2alpha1/CronJobList.py +11 -6
  153. pulumi_kubernetes/batch/v2alpha1/CronJobPatch.py +11 -6
  154. pulumi_kubernetes/batch/v2alpha1/_inputs.py +161 -0
  155. pulumi_kubernetes/batch/v2alpha1/outputs.py +5 -0
  156. pulumi_kubernetes/certificates/v1/CertificateSigningRequest.py +10 -5
  157. pulumi_kubernetes/certificates/v1/CertificateSigningRequestList.py +10 -5
  158. pulumi_kubernetes/certificates/v1/CertificateSigningRequestPatch.py +10 -5
  159. pulumi_kubernetes/certificates/v1/_inputs.py +290 -0
  160. pulumi_kubernetes/certificates/v1/outputs.py +5 -0
  161. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundle.py +11 -6
  162. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundleList.py +11 -6
  163. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundlePatch.py +11 -6
  164. pulumi_kubernetes/certificates/v1alpha1/_inputs.py +94 -0
  165. pulumi_kubernetes/certificates/v1alpha1/outputs.py +5 -0
  166. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequest.py +10 -5
  167. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestList.py +9 -4
  168. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestPatch.py +10 -5
  169. pulumi_kubernetes/certificates/v1beta1/_inputs.py +165 -0
  170. pulumi_kubernetes/certificates/v1beta1/outputs.py +5 -0
  171. pulumi_kubernetes/coordination/__init__.py +6 -0
  172. pulumi_kubernetes/coordination/v1/Lease.py +11 -6
  173. pulumi_kubernetes/coordination/v1/LeaseList.py +11 -6
  174. pulumi_kubernetes/coordination/v1/LeasePatch.py +11 -6
  175. pulumi_kubernetes/coordination/v1/_inputs.py +180 -10
  176. pulumi_kubernetes/coordination/v1/outputs.py +67 -10
  177. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidate.py +216 -0
  178. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidateList.py +215 -0
  179. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidatePatch.py +228 -0
  180. pulumi_kubernetes/coordination/v1alpha1/__init__.py +12 -0
  181. pulumi_kubernetes/coordination/v1alpha1/_inputs.py +418 -0
  182. pulumi_kubernetes/coordination/v1alpha1/outputs.py +334 -0
  183. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidate.py +216 -0
  184. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidateList.py +215 -0
  185. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidatePatch.py +228 -0
  186. pulumi_kubernetes/coordination/v1alpha2/__init__.py +12 -0
  187. pulumi_kubernetes/coordination/v1alpha2/_inputs.py +393 -0
  188. pulumi_kubernetes/coordination/v1alpha2/outputs.py +313 -0
  189. pulumi_kubernetes/coordination/v1beta1/Lease.py +11 -6
  190. pulumi_kubernetes/coordination/v1beta1/LeaseList.py +11 -6
  191. pulumi_kubernetes/coordination/v1beta1/LeasePatch.py +11 -6
  192. pulumi_kubernetes/coordination/v1beta1/_inputs.py +90 -0
  193. pulumi_kubernetes/coordination/v1beta1/outputs.py +5 -0
  194. pulumi_kubernetes/core/v1/Binding.py +13 -8
  195. pulumi_kubernetes/core/v1/BindingPatch.py +13 -8
  196. pulumi_kubernetes/core/v1/ConfigMap.py +8 -3
  197. pulumi_kubernetes/core/v1/ConfigMapList.py +11 -6
  198. pulumi_kubernetes/core/v1/ConfigMapPatch.py +8 -3
  199. pulumi_kubernetes/core/v1/Endpoints.py +11 -6
  200. pulumi_kubernetes/core/v1/EndpointsList.py +11 -6
  201. pulumi_kubernetes/core/v1/EndpointsPatch.py +11 -6
  202. pulumi_kubernetes/core/v1/Event.py +20 -15
  203. pulumi_kubernetes/core/v1/EventList.py +11 -6
  204. pulumi_kubernetes/core/v1/EventPatch.py +20 -15
  205. pulumi_kubernetes/core/v1/LimitRange.py +11 -6
  206. pulumi_kubernetes/core/v1/LimitRangeList.py +11 -6
  207. pulumi_kubernetes/core/v1/LimitRangePatch.py +11 -6
  208. pulumi_kubernetes/core/v1/Namespace.py +11 -6
  209. pulumi_kubernetes/core/v1/NamespaceList.py +11 -6
  210. pulumi_kubernetes/core/v1/NamespacePatch.py +11 -6
  211. pulumi_kubernetes/core/v1/Node.py +11 -6
  212. pulumi_kubernetes/core/v1/NodeList.py +11 -6
  213. pulumi_kubernetes/core/v1/NodePatch.py +11 -6
  214. pulumi_kubernetes/core/v1/PersistentVolume.py +11 -6
  215. pulumi_kubernetes/core/v1/PersistentVolumeClaim.py +11 -6
  216. pulumi_kubernetes/core/v1/PersistentVolumeClaimList.py +11 -6
  217. pulumi_kubernetes/core/v1/PersistentVolumeClaimPatch.py +11 -6
  218. pulumi_kubernetes/core/v1/PersistentVolumeList.py +11 -6
  219. pulumi_kubernetes/core/v1/PersistentVolumePatch.py +11 -6
  220. pulumi_kubernetes/core/v1/Pod.py +11 -6
  221. pulumi_kubernetes/core/v1/PodList.py +11 -6
  222. pulumi_kubernetes/core/v1/PodPatch.py +11 -6
  223. pulumi_kubernetes/core/v1/PodTemplate.py +11 -6
  224. pulumi_kubernetes/core/v1/PodTemplateList.py +11 -6
  225. pulumi_kubernetes/core/v1/PodTemplatePatch.py +11 -6
  226. pulumi_kubernetes/core/v1/ReplicationController.py +11 -6
  227. pulumi_kubernetes/core/v1/ReplicationControllerList.py +11 -6
  228. pulumi_kubernetes/core/v1/ReplicationControllerPatch.py +11 -6
  229. pulumi_kubernetes/core/v1/ResourceQuota.py +11 -6
  230. pulumi_kubernetes/core/v1/ResourceQuotaList.py +11 -6
  231. pulumi_kubernetes/core/v1/ResourceQuotaPatch.py +11 -6
  232. pulumi_kubernetes/core/v1/Secret.py +8 -3
  233. pulumi_kubernetes/core/v1/SecretList.py +11 -6
  234. pulumi_kubernetes/core/v1/SecretPatch.py +8 -3
  235. pulumi_kubernetes/core/v1/Service.py +17 -28
  236. pulumi_kubernetes/core/v1/ServiceAccount.py +17 -12
  237. pulumi_kubernetes/core/v1/ServiceAccountList.py +11 -6
  238. pulumi_kubernetes/core/v1/ServiceAccountPatch.py +17 -12
  239. pulumi_kubernetes/core/v1/ServiceList.py +11 -6
  240. pulumi_kubernetes/core/v1/ServicePatch.py +17 -28
  241. pulumi_kubernetes/core/v1/_inputs.py +11760 -756
  242. pulumi_kubernetes/core/v1/outputs.py +2131 -448
  243. pulumi_kubernetes/discovery/v1/EndpointSlice.py +14 -9
  244. pulumi_kubernetes/discovery/v1/EndpointSliceList.py +11 -6
  245. pulumi_kubernetes/discovery/v1/EndpointSlicePatch.py +14 -9
  246. pulumi_kubernetes/discovery/v1/_inputs.py +284 -0
  247. pulumi_kubernetes/discovery/v1/outputs.py +5 -0
  248. pulumi_kubernetes/discovery/v1beta1/EndpointSlice.py +14 -9
  249. pulumi_kubernetes/discovery/v1beta1/EndpointSliceList.py +11 -6
  250. pulumi_kubernetes/discovery/v1beta1/EndpointSlicePatch.py +14 -9
  251. pulumi_kubernetes/discovery/v1beta1/_inputs.py +210 -0
  252. pulumi_kubernetes/discovery/v1beta1/outputs.py +5 -0
  253. pulumi_kubernetes/events/v1/Event.py +20 -15
  254. pulumi_kubernetes/events/v1/EventList.py +11 -6
  255. pulumi_kubernetes/events/v1/EventPatch.py +20 -15
  256. pulumi_kubernetes/events/v1/_inputs.py +118 -0
  257. pulumi_kubernetes/events/v1/outputs.py +5 -0
  258. pulumi_kubernetes/events/v1beta1/Event.py +19 -14
  259. pulumi_kubernetes/events/v1beta1/EventList.py +11 -6
  260. pulumi_kubernetes/events/v1beta1/EventPatch.py +19 -14
  261. pulumi_kubernetes/events/v1beta1/_inputs.py +123 -0
  262. pulumi_kubernetes/events/v1beta1/outputs.py +5 -0
  263. pulumi_kubernetes/extensions/v1beta1/DaemonSet.py +11 -6
  264. pulumi_kubernetes/extensions/v1beta1/DaemonSetList.py +11 -6
  265. pulumi_kubernetes/extensions/v1beta1/DaemonSetPatch.py +11 -6
  266. pulumi_kubernetes/extensions/v1beta1/Deployment.py +11 -6
  267. pulumi_kubernetes/extensions/v1beta1/DeploymentList.py +11 -6
  268. pulumi_kubernetes/extensions/v1beta1/DeploymentPatch.py +11 -6
  269. pulumi_kubernetes/extensions/v1beta1/Ingress.py +11 -6
  270. pulumi_kubernetes/extensions/v1beta1/IngressList.py +11 -6
  271. pulumi_kubernetes/extensions/v1beta1/IngressPatch.py +11 -6
  272. pulumi_kubernetes/extensions/v1beta1/NetworkPolicy.py +11 -6
  273. pulumi_kubernetes/extensions/v1beta1/NetworkPolicyList.py +11 -6
  274. pulumi_kubernetes/extensions/v1beta1/NetworkPolicyPatch.py +11 -6
  275. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicy.py +11 -6
  276. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyList.py +11 -6
  277. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyPatch.py +11 -6
  278. pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py +11 -6
  279. pulumi_kubernetes/extensions/v1beta1/ReplicaSetList.py +11 -6
  280. pulumi_kubernetes/extensions/v1beta1/ReplicaSetPatch.py +11 -6
  281. pulumi_kubernetes/extensions/v1beta1/_inputs.py +1884 -26
  282. pulumi_kubernetes/extensions/v1beta1/outputs.py +5 -0
  283. pulumi_kubernetes/flowcontrol/v1/FlowSchema.py +11 -6
  284. pulumi_kubernetes/flowcontrol/v1/FlowSchemaList.py +11 -6
  285. pulumi_kubernetes/flowcontrol/v1/FlowSchemaPatch.py +11 -6
  286. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfiguration.py +11 -6
  287. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationList.py +11 -6
  288. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationPatch.py +11 -6
  289. pulumi_kubernetes/flowcontrol/v1/_inputs.py +779 -0
  290. pulumi_kubernetes/flowcontrol/v1/outputs.py +5 -0
  291. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchema.py +11 -6
  292. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaList.py +11 -6
  293. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaPatch.py +11 -6
  294. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfiguration.py +11 -6
  295. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationList.py +11 -6
  296. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationPatch.py +11 -6
  297. pulumi_kubernetes/flowcontrol/v1alpha1/_inputs.py +671 -0
  298. pulumi_kubernetes/flowcontrol/v1alpha1/outputs.py +5 -0
  299. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchema.py +11 -6
  300. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaList.py +11 -6
  301. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaPatch.py +11 -6
  302. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfiguration.py +11 -6
  303. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationList.py +11 -6
  304. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationPatch.py +11 -6
  305. pulumi_kubernetes/flowcontrol/v1beta1/_inputs.py +671 -0
  306. pulumi_kubernetes/flowcontrol/v1beta1/outputs.py +5 -0
  307. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchema.py +11 -6
  308. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaList.py +11 -6
  309. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaPatch.py +11 -6
  310. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfiguration.py +11 -6
  311. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationList.py +11 -6
  312. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationPatch.py +11 -6
  313. pulumi_kubernetes/flowcontrol/v1beta2/_inputs.py +771 -0
  314. pulumi_kubernetes/flowcontrol/v1beta2/outputs.py +5 -0
  315. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchema.py +11 -6
  316. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaList.py +11 -6
  317. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaPatch.py +11 -6
  318. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfiguration.py +11 -6
  319. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationList.py +11 -6
  320. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationPatch.py +11 -6
  321. pulumi_kubernetes/flowcontrol/v1beta3/_inputs.py +779 -8
  322. pulumi_kubernetes/flowcontrol/v1beta3/outputs.py +13 -8
  323. pulumi_kubernetes/helm/__init__.py +3 -0
  324. pulumi_kubernetes/helm/v3/Release.py +8 -3
  325. pulumi_kubernetes/helm/v3/_inputs.py +42 -2
  326. pulumi_kubernetes/helm/v3/outputs.py +7 -2
  327. pulumi_kubernetes/helm/v4/Chart.py +721 -0
  328. pulumi_kubernetes/helm/v4/__init__.py +9 -0
  329. pulumi_kubernetes/helm/v4/_inputs.py +216 -0
  330. pulumi_kubernetes/kustomize/__init__.py +8 -0
  331. pulumi_kubernetes/kustomize/v2/Directory.py +219 -0
  332. pulumi_kubernetes/kustomize/v2/__init__.py +8 -0
  333. pulumi_kubernetes/meta/v1/Status.py +11 -6
  334. pulumi_kubernetes/meta/v1/StatusPatch.py +11 -6
  335. pulumi_kubernetes/meta/v1/_inputs.py +596 -0
  336. pulumi_kubernetes/meta/v1/outputs.py +5 -0
  337. pulumi_kubernetes/networking/v1/Ingress.py +11 -6
  338. pulumi_kubernetes/networking/v1/IngressClass.py +11 -6
  339. pulumi_kubernetes/networking/v1/IngressClassList.py +11 -6
  340. pulumi_kubernetes/networking/v1/IngressClassPatch.py +11 -6
  341. pulumi_kubernetes/networking/v1/IngressList.py +11 -6
  342. pulumi_kubernetes/networking/v1/IngressPatch.py +11 -6
  343. pulumi_kubernetes/networking/v1/NetworkPolicy.py +11 -6
  344. pulumi_kubernetes/networking/v1/NetworkPolicyList.py +11 -6
  345. pulumi_kubernetes/networking/v1/NetworkPolicyPatch.py +11 -6
  346. pulumi_kubernetes/networking/v1/_inputs.py +840 -0
  347. pulumi_kubernetes/networking/v1/outputs.py +5 -0
  348. pulumi_kubernetes/networking/v1alpha1/ClusterCIDR.py +11 -6
  349. pulumi_kubernetes/networking/v1alpha1/ClusterCIDRList.py +11 -6
  350. pulumi_kubernetes/networking/v1alpha1/ClusterCIDRPatch.py +11 -6
  351. pulumi_kubernetes/networking/v1alpha1/IPAddress.py +13 -6
  352. pulumi_kubernetes/networking/v1alpha1/IPAddressList.py +11 -6
  353. pulumi_kubernetes/networking/v1alpha1/IPAddressPatch.py +13 -6
  354. pulumi_kubernetes/networking/v1alpha1/ServiceCIDR.py +13 -6
  355. pulumi_kubernetes/networking/v1alpha1/ServiceCIDRList.py +11 -6
  356. pulumi_kubernetes/networking/v1alpha1/ServiceCIDRPatch.py +13 -6
  357. pulumi_kubernetes/networking/v1alpha1/_inputs.py +293 -37
  358. pulumi_kubernetes/networking/v1alpha1/outputs.py +26 -24
  359. pulumi_kubernetes/networking/v1beta1/IPAddress.py +216 -0
  360. pulumi_kubernetes/networking/v1beta1/IPAddressList.py +215 -0
  361. pulumi_kubernetes/networking/v1beta1/IPAddressPatch.py +228 -0
  362. pulumi_kubernetes/networking/v1beta1/Ingress.py +11 -6
  363. pulumi_kubernetes/networking/v1beta1/IngressClass.py +11 -6
  364. pulumi_kubernetes/networking/v1beta1/IngressClassList.py +11 -6
  365. pulumi_kubernetes/networking/v1beta1/IngressClassPatch.py +11 -6
  366. pulumi_kubernetes/networking/v1beta1/IngressList.py +11 -6
  367. pulumi_kubernetes/networking/v1beta1/IngressPatch.py +11 -6
  368. pulumi_kubernetes/networking/v1beta1/ServiceCIDR.py +226 -0
  369. pulumi_kubernetes/networking/v1beta1/ServiceCIDRList.py +215 -0
  370. pulumi_kubernetes/networking/v1beta1/ServiceCIDRPatch.py +238 -0
  371. pulumi_kubernetes/networking/v1beta1/__init__.py +6 -0
  372. pulumi_kubernetes/networking/v1beta1/_inputs.py +984 -11
  373. pulumi_kubernetes/networking/v1beta1/outputs.py +466 -0
  374. pulumi_kubernetes/node/v1/RuntimeClass.py +14 -9
  375. pulumi_kubernetes/node/v1/RuntimeClassList.py +11 -6
  376. pulumi_kubernetes/node/v1/RuntimeClassPatch.py +14 -9
  377. pulumi_kubernetes/node/v1/_inputs.py +101 -0
  378. pulumi_kubernetes/node/v1/outputs.py +5 -0
  379. pulumi_kubernetes/node/v1alpha1/RuntimeClass.py +11 -6
  380. pulumi_kubernetes/node/v1alpha1/RuntimeClassList.py +11 -6
  381. pulumi_kubernetes/node/v1alpha1/RuntimeClassPatch.py +11 -6
  382. pulumi_kubernetes/node/v1alpha1/_inputs.py +134 -0
  383. pulumi_kubernetes/node/v1alpha1/outputs.py +5 -0
  384. pulumi_kubernetes/node/v1beta1/RuntimeClass.py +14 -9
  385. pulumi_kubernetes/node/v1beta1/RuntimeClassList.py +11 -6
  386. pulumi_kubernetes/node/v1beta1/RuntimeClassPatch.py +14 -9
  387. pulumi_kubernetes/node/v1beta1/_inputs.py +100 -0
  388. pulumi_kubernetes/node/v1beta1/outputs.py +5 -0
  389. pulumi_kubernetes/policy/v1/PodDisruptionBudget.py +11 -6
  390. pulumi_kubernetes/policy/v1/PodDisruptionBudgetList.py +11 -6
  391. pulumi_kubernetes/policy/v1/PodDisruptionBudgetPatch.py +11 -6
  392. pulumi_kubernetes/policy/v1/_inputs.py +151 -0
  393. pulumi_kubernetes/policy/v1/outputs.py +5 -0
  394. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudget.py +10 -5
  395. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetList.py +9 -4
  396. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetPatch.py +10 -5
  397. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicy.py +11 -6
  398. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyList.py +11 -6
  399. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyPatch.py +11 -6
  400. pulumi_kubernetes/policy/v1beta1/_inputs.py +713 -0
  401. pulumi_kubernetes/policy/v1beta1/outputs.py +5 -0
  402. pulumi_kubernetes/provider.py +82 -6
  403. pulumi_kubernetes/pulumi-plugin.json +2 -1
  404. pulumi_kubernetes/rbac/v1/ClusterRole.py +14 -9
  405. pulumi_kubernetes/rbac/v1/ClusterRoleBinding.py +14 -9
  406. pulumi_kubernetes/rbac/v1/ClusterRoleBindingList.py +11 -6
  407. pulumi_kubernetes/rbac/v1/ClusterRoleBindingPatch.py +14 -9
  408. pulumi_kubernetes/rbac/v1/ClusterRoleList.py +11 -6
  409. pulumi_kubernetes/rbac/v1/ClusterRolePatch.py +14 -9
  410. pulumi_kubernetes/rbac/v1/Role.py +11 -6
  411. pulumi_kubernetes/rbac/v1/RoleBinding.py +14 -9
  412. pulumi_kubernetes/rbac/v1/RoleBindingList.py +11 -6
  413. pulumi_kubernetes/rbac/v1/RoleBindingPatch.py +14 -9
  414. pulumi_kubernetes/rbac/v1/RoleList.py +11 -6
  415. pulumi_kubernetes/rbac/v1/RolePatch.py +11 -6
  416. pulumi_kubernetes/rbac/v1/_inputs.py +295 -0
  417. pulumi_kubernetes/rbac/v1/outputs.py +5 -0
  418. pulumi_kubernetes/rbac/v1alpha1/ClusterRole.py +14 -9
  419. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBinding.py +14 -9
  420. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingList.py +11 -6
  421. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingPatch.py +14 -9
  422. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleList.py +11 -6
  423. pulumi_kubernetes/rbac/v1alpha1/ClusterRolePatch.py +14 -9
  424. pulumi_kubernetes/rbac/v1alpha1/Role.py +11 -6
  425. pulumi_kubernetes/rbac/v1alpha1/RoleBinding.py +14 -9
  426. pulumi_kubernetes/rbac/v1alpha1/RoleBindingList.py +11 -6
  427. pulumi_kubernetes/rbac/v1alpha1/RoleBindingPatch.py +14 -9
  428. pulumi_kubernetes/rbac/v1alpha1/RoleList.py +11 -6
  429. pulumi_kubernetes/rbac/v1alpha1/RolePatch.py +11 -6
  430. pulumi_kubernetes/rbac/v1alpha1/_inputs.py +295 -0
  431. pulumi_kubernetes/rbac/v1alpha1/outputs.py +5 -0
  432. pulumi_kubernetes/rbac/v1beta1/ClusterRole.py +14 -9
  433. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBinding.py +14 -9
  434. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingList.py +11 -6
  435. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingPatch.py +14 -9
  436. pulumi_kubernetes/rbac/v1beta1/ClusterRoleList.py +11 -6
  437. pulumi_kubernetes/rbac/v1beta1/ClusterRolePatch.py +14 -9
  438. pulumi_kubernetes/rbac/v1beta1/Role.py +11 -6
  439. pulumi_kubernetes/rbac/v1beta1/RoleBinding.py +14 -9
  440. pulumi_kubernetes/rbac/v1beta1/RoleBindingList.py +11 -6
  441. pulumi_kubernetes/rbac/v1beta1/RoleBindingPatch.py +14 -9
  442. pulumi_kubernetes/rbac/v1beta1/RoleList.py +11 -6
  443. pulumi_kubernetes/rbac/v1beta1/RolePatch.py +11 -6
  444. pulumi_kubernetes/rbac/v1beta1/_inputs.py +295 -0
  445. pulumi_kubernetes/rbac/v1beta1/outputs.py +5 -0
  446. pulumi_kubernetes/resource/__init__.py +6 -0
  447. pulumi_kubernetes/resource/v1alpha1/PodScheduling.py +11 -6
  448. pulumi_kubernetes/resource/v1alpha1/PodSchedulingList.py +11 -6
  449. pulumi_kubernetes/resource/v1alpha1/PodSchedulingPatch.py +11 -6
  450. pulumi_kubernetes/resource/v1alpha1/ResourceClaim.py +12 -7
  451. pulumi_kubernetes/resource/v1alpha1/ResourceClaimList.py +11 -6
  452. pulumi_kubernetes/resource/v1alpha1/ResourceClaimPatch.py +12 -7
  453. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplate.py +12 -7
  454. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplateList.py +11 -6
  455. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplatePatch.py +12 -7
  456. pulumi_kubernetes/resource/v1alpha1/ResourceClass.py +14 -9
  457. pulumi_kubernetes/resource/v1alpha1/ResourceClassList.py +11 -6
  458. pulumi_kubernetes/resource/v1alpha1/ResourceClassPatch.py +14 -9
  459. pulumi_kubernetes/resource/v1alpha1/_inputs.py +458 -0
  460. pulumi_kubernetes/resource/v1alpha1/outputs.py +5 -0
  461. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContext.py +13 -6
  462. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextList.py +11 -6
  463. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextPatch.py +13 -6
  464. pulumi_kubernetes/resource/v1alpha2/ResourceClaim.py +12 -7
  465. pulumi_kubernetes/resource/v1alpha2/ResourceClaimList.py +11 -6
  466. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParameters.py +280 -0
  467. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersList.py +215 -0
  468. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersPatch.py +292 -0
  469. pulumi_kubernetes/resource/v1alpha2/ResourceClaimPatch.py +12 -7
  470. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplate.py +12 -7
  471. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplateList.py +11 -6
  472. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplatePatch.py +12 -7
  473. pulumi_kubernetes/resource/v1alpha2/ResourceClass.py +43 -9
  474. pulumi_kubernetes/resource/v1alpha2/ResourceClassList.py +11 -6
  475. pulumi_kubernetes/resource/v1alpha2/ResourceClassParameters.py +272 -0
  476. pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersList.py +215 -0
  477. pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersPatch.py +284 -0
  478. pulumi_kubernetes/resource/v1alpha2/ResourceClassPatch.py +43 -9
  479. pulumi_kubernetes/resource/v1alpha2/ResourceSlice.py +283 -0
  480. pulumi_kubernetes/resource/v1alpha2/ResourceSliceList.py +215 -0
  481. pulumi_kubernetes/resource/v1alpha2/ResourceSlicePatch.py +294 -0
  482. pulumi_kubernetes/resource/v1alpha2/__init__.py +9 -0
  483. pulumi_kubernetes/resource/v1alpha2/_inputs.py +3177 -634
  484. pulumi_kubernetes/resource/v1alpha2/outputs.py +2628 -880
  485. pulumi_kubernetes/resource/v1alpha3/DeviceClass.py +238 -0
  486. pulumi_kubernetes/resource/v1alpha3/DeviceClassList.py +216 -0
  487. pulumi_kubernetes/resource/v1alpha3/DeviceClassPatch.py +249 -0
  488. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContext.py +231 -0
  489. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextList.py +215 -0
  490. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextPatch.py +242 -0
  491. pulumi_kubernetes/resource/v1alpha3/ResourceClaim.py +232 -0
  492. pulumi_kubernetes/resource/v1alpha3/ResourceClaimList.py +216 -0
  493. pulumi_kubernetes/resource/v1alpha3/ResourceClaimPatch.py +243 -0
  494. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplate.py +229 -0
  495. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplateList.py +215 -0
  496. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplatePatch.py +240 -0
  497. pulumi_kubernetes/resource/v1alpha3/ResourceSlice.py +246 -0
  498. pulumi_kubernetes/resource/v1alpha3/ResourceSliceList.py +245 -0
  499. pulumi_kubernetes/resource/v1alpha3/ResourceSlicePatch.py +257 -0
  500. pulumi_kubernetes/resource/v1alpha3/__init__.py +24 -0
  501. pulumi_kubernetes/resource/v1alpha3/_inputs.py +4372 -0
  502. pulumi_kubernetes/resource/v1alpha3/outputs.py +3914 -0
  503. pulumi_kubernetes/resource/v1beta1/DeviceClass.py +237 -0
  504. pulumi_kubernetes/resource/v1beta1/DeviceClassList.py +215 -0
  505. pulumi_kubernetes/resource/v1beta1/DeviceClassPatch.py +248 -0
  506. pulumi_kubernetes/resource/v1beta1/ResourceClaim.py +232 -0
  507. pulumi_kubernetes/resource/v1beta1/ResourceClaimList.py +216 -0
  508. pulumi_kubernetes/resource/v1beta1/ResourceClaimPatch.py +243 -0
  509. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplate.py +229 -0
  510. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplateList.py +215 -0
  511. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplatePatch.py +240 -0
  512. pulumi_kubernetes/resource/v1beta1/ResourceSlice.py +246 -0
  513. pulumi_kubernetes/resource/v1beta1/ResourceSliceList.py +216 -0
  514. pulumi_kubernetes/resource/v1beta1/ResourceSlicePatch.py +257 -0
  515. pulumi_kubernetes/resource/v1beta1/__init__.py +21 -0
  516. pulumi_kubernetes/resource/v1beta1/_inputs.py +3867 -0
  517. pulumi_kubernetes/resource/v1beta1/outputs.py +3334 -0
  518. pulumi_kubernetes/scheduling/v1/PriorityClass.py +8 -3
  519. pulumi_kubernetes/scheduling/v1/PriorityClassList.py +11 -6
  520. pulumi_kubernetes/scheduling/v1/PriorityClassPatch.py +8 -3
  521. pulumi_kubernetes/scheduling/v1/_inputs.py +44 -0
  522. pulumi_kubernetes/scheduling/v1/outputs.py +5 -0
  523. pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py +8 -3
  524. pulumi_kubernetes/scheduling/v1alpha1/PriorityClassList.py +11 -6
  525. pulumi_kubernetes/scheduling/v1alpha1/PriorityClassPatch.py +8 -3
  526. pulumi_kubernetes/scheduling/v1alpha1/_inputs.py +44 -0
  527. pulumi_kubernetes/scheduling/v1alpha1/outputs.py +5 -0
  528. pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py +8 -3
  529. pulumi_kubernetes/scheduling/v1beta1/PriorityClassList.py +11 -6
  530. pulumi_kubernetes/scheduling/v1beta1/PriorityClassPatch.py +8 -3
  531. pulumi_kubernetes/scheduling/v1beta1/_inputs.py +44 -0
  532. pulumi_kubernetes/scheduling/v1beta1/outputs.py +5 -0
  533. pulumi_kubernetes/settings/v1alpha1/PodPreset.py +9 -4
  534. pulumi_kubernetes/settings/v1alpha1/PodPresetList.py +11 -6
  535. pulumi_kubernetes/settings/v1alpha1/PodPresetPatch.py +9 -4
  536. pulumi_kubernetes/settings/v1alpha1/_inputs.py +84 -0
  537. pulumi_kubernetes/settings/v1alpha1/outputs.py +5 -0
  538. pulumi_kubernetes/storage/v1/CSIDriver.py +11 -6
  539. pulumi_kubernetes/storage/v1/CSIDriverList.py +11 -6
  540. pulumi_kubernetes/storage/v1/CSIDriverPatch.py +11 -6
  541. pulumi_kubernetes/storage/v1/CSINode.py +11 -6
  542. pulumi_kubernetes/storage/v1/CSINodeList.py +11 -6
  543. pulumi_kubernetes/storage/v1/CSINodePatch.py +11 -6
  544. pulumi_kubernetes/storage/v1/CSIStorageCapacity.py +11 -6
  545. pulumi_kubernetes/storage/v1/CSIStorageCapacityList.py +11 -6
  546. pulumi_kubernetes/storage/v1/CSIStorageCapacityPatch.py +11 -6
  547. pulumi_kubernetes/storage/v1/StorageClass.py +11 -6
  548. pulumi_kubernetes/storage/v1/StorageClassList.py +11 -6
  549. pulumi_kubernetes/storage/v1/StorageClassPatch.py +11 -6
  550. pulumi_kubernetes/storage/v1/VolumeAttachment.py +11 -6
  551. pulumi_kubernetes/storage/v1/VolumeAttachmentList.py +11 -6
  552. pulumi_kubernetes/storage/v1/VolumeAttachmentPatch.py +11 -6
  553. pulumi_kubernetes/storage/v1/_inputs.py +624 -10
  554. pulumi_kubernetes/storage/v1/outputs.py +17 -12
  555. pulumi_kubernetes/storage/v1alpha1/VolumeAttachment.py +11 -6
  556. pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentList.py +11 -6
  557. pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentPatch.py +11 -6
  558. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClass.py +10 -3
  559. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassList.py +11 -6
  560. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassPatch.py +10 -3
  561. pulumi_kubernetes/storage/v1alpha1/_inputs.py +187 -0
  562. pulumi_kubernetes/storage/v1alpha1/outputs.py +5 -0
  563. pulumi_kubernetes/storage/v1beta1/CSIDriver.py +11 -6
  564. pulumi_kubernetes/storage/v1beta1/CSIDriverList.py +11 -6
  565. pulumi_kubernetes/storage/v1beta1/CSIDriverPatch.py +11 -6
  566. pulumi_kubernetes/storage/v1beta1/CSINode.py +11 -6
  567. pulumi_kubernetes/storage/v1beta1/CSINodeList.py +11 -6
  568. pulumi_kubernetes/storage/v1beta1/CSINodePatch.py +11 -6
  569. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacity.py +11 -6
  570. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityList.py +11 -6
  571. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityPatch.py +11 -6
  572. pulumi_kubernetes/storage/v1beta1/StorageClass.py +11 -6
  573. pulumi_kubernetes/storage/v1beta1/StorageClassList.py +11 -6
  574. pulumi_kubernetes/storage/v1beta1/StorageClassPatch.py +11 -6
  575. pulumi_kubernetes/storage/v1beta1/VolumeAttachment.py +11 -6
  576. pulumi_kubernetes/storage/v1beta1/VolumeAttachmentList.py +11 -6
  577. pulumi_kubernetes/storage/v1beta1/VolumeAttachmentPatch.py +11 -6
  578. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClass.py +252 -0
  579. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassList.py +215 -0
  580. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassPatch.py +263 -0
  581. pulumi_kubernetes/storage/v1beta1/__init__.py +3 -0
  582. pulumi_kubernetes/storage/v1beta1/_inputs.py +689 -0
  583. pulumi_kubernetes/storage/v1beta1/outputs.py +99 -0
  584. pulumi_kubernetes/storagemigration/__init__.py +14 -0
  585. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigration.py +224 -0
  586. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationList.py +215 -0
  587. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationPatch.py +236 -0
  588. pulumi_kubernetes/storagemigration/v1alpha1/__init__.py +12 -0
  589. pulumi_kubernetes/storagemigration/v1alpha1/_inputs.py +585 -0
  590. pulumi_kubernetes/storagemigration/v1alpha1/outputs.py +593 -0
  591. pulumi_kubernetes/yaml/v2/ConfigFile.py +81 -4
  592. pulumi_kubernetes/yaml/v2/ConfigGroup.py +123 -42
  593. pulumi_kubernetes/yaml/yaml.py +264 -0
  594. {pulumi_kubernetes-4.10.0a1710355461.dist-info → pulumi_kubernetes-4.20.0.dist-info}/METADATA +8 -7
  595. pulumi_kubernetes-4.20.0.dist-info/RECORD +679 -0
  596. {pulumi_kubernetes-4.10.0a1710355461.dist-info → pulumi_kubernetes-4.20.0.dist-info}/WHEEL +1 -1
  597. pulumi_kubernetes-4.10.0a1710355461.dist-info/RECORD +0 -592
  598. {pulumi_kubernetes-4.10.0a1710355461.dist-info → pulumi_kubernetes-4.20.0.dist-info}/top_level.txt +0 -0
@@ -4,46 +4,120 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from ... import _utilities
11
16
  from ... import meta as _meta
12
17
 
13
18
  __all__ = [
14
19
  'CustomResourceColumnDefinitionPatchArgs',
20
+ 'CustomResourceColumnDefinitionPatchArgsDict',
15
21
  'CustomResourceColumnDefinitionArgs',
22
+ 'CustomResourceColumnDefinitionArgsDict',
16
23
  'CustomResourceConversionPatchArgs',
24
+ 'CustomResourceConversionPatchArgsDict',
17
25
  'CustomResourceConversionArgs',
26
+ 'CustomResourceConversionArgsDict',
18
27
  'CustomResourceDefinitionConditionArgs',
28
+ 'CustomResourceDefinitionConditionArgsDict',
19
29
  'CustomResourceDefinitionNamesPatchArgs',
30
+ 'CustomResourceDefinitionNamesPatchArgsDict',
20
31
  'CustomResourceDefinitionNamesArgs',
32
+ 'CustomResourceDefinitionNamesArgsDict',
21
33
  'CustomResourceDefinitionSpecPatchArgs',
34
+ 'CustomResourceDefinitionSpecPatchArgsDict',
22
35
  'CustomResourceDefinitionSpecArgs',
36
+ 'CustomResourceDefinitionSpecArgsDict',
23
37
  'CustomResourceDefinitionStatusArgs',
38
+ 'CustomResourceDefinitionStatusArgsDict',
24
39
  'CustomResourceDefinitionVersionPatchArgs',
40
+ 'CustomResourceDefinitionVersionPatchArgsDict',
25
41
  'CustomResourceDefinitionVersionArgs',
42
+ 'CustomResourceDefinitionVersionArgsDict',
26
43
  'CustomResourceDefinitionArgs',
44
+ 'CustomResourceDefinitionArgsDict',
27
45
  'CustomResourceSubresourceScalePatchArgs',
46
+ 'CustomResourceSubresourceScalePatchArgsDict',
28
47
  'CustomResourceSubresourceScaleArgs',
48
+ 'CustomResourceSubresourceScaleArgsDict',
29
49
  'CustomResourceSubresourcesPatchArgs',
50
+ 'CustomResourceSubresourcesPatchArgsDict',
30
51
  'CustomResourceSubresourcesArgs',
52
+ 'CustomResourceSubresourcesArgsDict',
31
53
  'CustomResourceValidationPatchArgs',
54
+ 'CustomResourceValidationPatchArgsDict',
32
55
  'CustomResourceValidationArgs',
56
+ 'CustomResourceValidationArgsDict',
33
57
  'ExternalDocumentationPatchArgs',
58
+ 'ExternalDocumentationPatchArgsDict',
34
59
  'ExternalDocumentationArgs',
60
+ 'ExternalDocumentationArgsDict',
35
61
  'JSONSchemaPropsPatchArgs',
62
+ 'JSONSchemaPropsPatchArgsDict',
36
63
  'JSONSchemaPropsArgs',
64
+ 'JSONSchemaPropsArgsDict',
65
+ 'SelectableFieldPatchArgs',
66
+ 'SelectableFieldPatchArgsDict',
67
+ 'SelectableFieldArgs',
68
+ 'SelectableFieldArgsDict',
37
69
  'ServiceReferencePatchArgs',
70
+ 'ServiceReferencePatchArgsDict',
38
71
  'ServiceReferenceArgs',
72
+ 'ServiceReferenceArgsDict',
39
73
  'ValidationRulePatchArgs',
74
+ 'ValidationRulePatchArgsDict',
40
75
  'ValidationRuleArgs',
76
+ 'ValidationRuleArgsDict',
41
77
  'WebhookClientConfigPatchArgs',
78
+ 'WebhookClientConfigPatchArgsDict',
42
79
  'WebhookClientConfigArgs',
80
+ 'WebhookClientConfigArgsDict',
43
81
  'WebhookConversionPatchArgs',
82
+ 'WebhookConversionPatchArgsDict',
44
83
  'WebhookConversionArgs',
84
+ 'WebhookConversionArgsDict',
45
85
  ]
46
86
 
87
+ MYPY = False
88
+
89
+ if not MYPY:
90
+ class CustomResourceColumnDefinitionPatchArgsDict(TypedDict):
91
+ """
92
+ CustomResourceColumnDefinition specifies a column for server side printing.
93
+ """
94
+ description: NotRequired[pulumi.Input[str]]
95
+ """
96
+ description is a human readable description of this column.
97
+ """
98
+ format: NotRequired[pulumi.Input[str]]
99
+ """
100
+ format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
101
+ """
102
+ json_path: NotRequired[pulumi.Input[str]]
103
+ """
104
+ jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against each custom resource to produce the value for this column.
105
+ """
106
+ name: NotRequired[pulumi.Input[str]]
107
+ """
108
+ name is a human readable name for the column.
109
+ """
110
+ priority: NotRequired[pulumi.Input[int]]
111
+ """
112
+ priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a priority greater than 0.
113
+ """
114
+ type: NotRequired[pulumi.Input[str]]
115
+ """
116
+ type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
117
+ """
118
+ elif False:
119
+ CustomResourceColumnDefinitionPatchArgsDict: TypeAlias = Mapping[str, Any]
120
+
47
121
  @pulumi.input_type
48
122
  class CustomResourceColumnDefinitionPatchArgs:
49
123
  def __init__(__self__, *,
@@ -148,6 +222,38 @@ class CustomResourceColumnDefinitionPatchArgs:
148
222
  pulumi.set(self, "type", value)
149
223
 
150
224
 
225
+ if not MYPY:
226
+ class CustomResourceColumnDefinitionArgsDict(TypedDict):
227
+ """
228
+ CustomResourceColumnDefinition specifies a column for server side printing.
229
+ """
230
+ json_path: pulumi.Input[str]
231
+ """
232
+ jsonPath is a simple JSON path (i.e. with array notation) which is evaluated against each custom resource to produce the value for this column.
233
+ """
234
+ name: pulumi.Input[str]
235
+ """
236
+ name is a human readable name for the column.
237
+ """
238
+ type: pulumi.Input[str]
239
+ """
240
+ type is an OpenAPI type definition for this column. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
241
+ """
242
+ description: NotRequired[pulumi.Input[str]]
243
+ """
244
+ description is a human readable description of this column.
245
+ """
246
+ format: NotRequired[pulumi.Input[str]]
247
+ """
248
+ format is an optional OpenAPI type definition for this column. The 'name' format is applied to the primary identifier column to assist in clients identifying column is the resource name. See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for details.
249
+ """
250
+ priority: NotRequired[pulumi.Input[int]]
251
+ """
252
+ priority is an integer defining the relative importance of this column compared to others. Lower numbers are considered higher priority. Columns that may be omitted in limited space scenarios should be given a priority greater than 0.
253
+ """
254
+ elif False:
255
+ CustomResourceColumnDefinitionArgsDict: TypeAlias = Mapping[str, Any]
256
+
151
257
  @pulumi.input_type
152
258
  class CustomResourceColumnDefinitionArgs:
153
259
  def __init__(__self__, *,
@@ -249,6 +355,23 @@ class CustomResourceColumnDefinitionArgs:
249
355
  pulumi.set(self, "priority", value)
250
356
 
251
357
 
358
+ if not MYPY:
359
+ class CustomResourceConversionPatchArgsDict(TypedDict):
360
+ """
361
+ CustomResourceConversion describes how to convert different versions of a CR.
362
+ """
363
+ strategy: NotRequired[pulumi.Input[str]]
364
+ """
365
+ strategy specifies how custom resources are converted between versions. Allowed values are: - `"None"`: The converter only change the apiVersion and would not touch any other field in the custom resource. - `"Webhook"`: API Server will call to an external webhook to do the conversion. Additional information
366
+ is needed for this option. This requires spec.preserveUnknownFields to be false, and spec.conversion.webhook to be set.
367
+ """
368
+ webhook: NotRequired[pulumi.Input['WebhookConversionPatchArgsDict']]
369
+ """
370
+ webhook describes how to call the conversion webhook. Required when `strategy` is set to `"Webhook"`.
371
+ """
372
+ elif False:
373
+ CustomResourceConversionPatchArgsDict: TypeAlias = Mapping[str, Any]
374
+
252
375
  @pulumi.input_type
253
376
  class CustomResourceConversionPatchArgs:
254
377
  def __init__(__self__, *,
@@ -291,6 +414,23 @@ class CustomResourceConversionPatchArgs:
291
414
  pulumi.set(self, "webhook", value)
292
415
 
293
416
 
417
+ if not MYPY:
418
+ class CustomResourceConversionArgsDict(TypedDict):
419
+ """
420
+ CustomResourceConversion describes how to convert different versions of a CR.
421
+ """
422
+ strategy: pulumi.Input[str]
423
+ """
424
+ strategy specifies how custom resources are converted between versions. Allowed values are: - `"None"`: The converter only change the apiVersion and would not touch any other field in the custom resource. - `"Webhook"`: API Server will call to an external webhook to do the conversion. Additional information
425
+ is needed for this option. This requires spec.preserveUnknownFields to be false, and spec.conversion.webhook to be set.
426
+ """
427
+ webhook: NotRequired[pulumi.Input['WebhookConversionArgsDict']]
428
+ """
429
+ webhook describes how to call the conversion webhook. Required when `strategy` is set to `"Webhook"`.
430
+ """
431
+ elif False:
432
+ CustomResourceConversionArgsDict: TypeAlias = Mapping[str, Any]
433
+
294
434
  @pulumi.input_type
295
435
  class CustomResourceConversionArgs:
296
436
  def __init__(__self__, *,
@@ -332,6 +472,34 @@ class CustomResourceConversionArgs:
332
472
  pulumi.set(self, "webhook", value)
333
473
 
334
474
 
475
+ if not MYPY:
476
+ class CustomResourceDefinitionConditionArgsDict(TypedDict):
477
+ """
478
+ CustomResourceDefinitionCondition contains details for the current condition of this pod.
479
+ """
480
+ status: pulumi.Input[str]
481
+ """
482
+ status is the status of the condition. Can be True, False, Unknown.
483
+ """
484
+ type: pulumi.Input[str]
485
+ """
486
+ type is the type of the condition. Types include Established, NamesAccepted and Terminating.
487
+ """
488
+ last_transition_time: NotRequired[pulumi.Input[str]]
489
+ """
490
+ lastTransitionTime last time the condition transitioned from one status to another.
491
+ """
492
+ message: NotRequired[pulumi.Input[str]]
493
+ """
494
+ message is a human-readable message indicating details about last transition.
495
+ """
496
+ reason: NotRequired[pulumi.Input[str]]
497
+ """
498
+ reason is a unique, one-word, CamelCase reason for the condition's last transition.
499
+ """
500
+ elif False:
501
+ CustomResourceDefinitionConditionArgsDict: TypeAlias = Mapping[str, Any]
502
+
335
503
  @pulumi.input_type
336
504
  class CustomResourceDefinitionConditionArgs:
337
505
  def __init__(__self__, *,
@@ -418,6 +586,38 @@ class CustomResourceDefinitionConditionArgs:
418
586
  pulumi.set(self, "reason", value)
419
587
 
420
588
 
589
+ if not MYPY:
590
+ class CustomResourceDefinitionNamesPatchArgsDict(TypedDict):
591
+ """
592
+ CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
593
+ """
594
+ categories: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
595
+ """
596
+ categories is a list of grouped resources this custom resource belongs to (e.g. 'all'). This is published in API discovery documents, and used by clients to support invocations like `kubectl get all`.
597
+ """
598
+ kind: NotRequired[pulumi.Input[str]]
599
+ """
600
+ kind is the serialized kind of the resource. It is normally CamelCase and singular. Custom resource instances will use this value as the `kind` attribute in API calls.
601
+ """
602
+ list_kind: NotRequired[pulumi.Input[str]]
603
+ """
604
+ listKind is the serialized kind of the list for this resource. Defaults to "`kind`List".
605
+ """
606
+ plural: NotRequired[pulumi.Input[str]]
607
+ """
608
+ plural is the plural name of the resource to serve. The custom resources are served under `/apis/<group>/<version>/.../<plural>`. Must match the name of the CustomResourceDefinition (in the form `<names.plural>.<group>`). Must be all lowercase.
609
+ """
610
+ short_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
611
+ """
612
+ shortNames are short names for the resource, exposed in API discovery documents, and used by clients to support invocations like `kubectl get <shortname>`. It must be all lowercase.
613
+ """
614
+ singular: NotRequired[pulumi.Input[str]]
615
+ """
616
+ singular is the singular name of the resource. It must be all lowercase. Defaults to lowercased `kind`.
617
+ """
618
+ elif False:
619
+ CustomResourceDefinitionNamesPatchArgsDict: TypeAlias = Mapping[str, Any]
620
+
421
621
  @pulumi.input_type
422
622
  class CustomResourceDefinitionNamesPatchArgs:
423
623
  def __init__(__self__, *,
@@ -522,6 +722,38 @@ class CustomResourceDefinitionNamesPatchArgs:
522
722
  pulumi.set(self, "singular", value)
523
723
 
524
724
 
725
+ if not MYPY:
726
+ class CustomResourceDefinitionNamesArgsDict(TypedDict):
727
+ """
728
+ CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition
729
+ """
730
+ kind: pulumi.Input[str]
731
+ """
732
+ kind is the serialized kind of the resource. It is normally CamelCase and singular. Custom resource instances will use this value as the `kind` attribute in API calls.
733
+ """
734
+ plural: pulumi.Input[str]
735
+ """
736
+ plural is the plural name of the resource to serve. The custom resources are served under `/apis/<group>/<version>/.../<plural>`. Must match the name of the CustomResourceDefinition (in the form `<names.plural>.<group>`). Must be all lowercase.
737
+ """
738
+ categories: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
739
+ """
740
+ categories is a list of grouped resources this custom resource belongs to (e.g. 'all'). This is published in API discovery documents, and used by clients to support invocations like `kubectl get all`.
741
+ """
742
+ list_kind: NotRequired[pulumi.Input[str]]
743
+ """
744
+ listKind is the serialized kind of the list for this resource. Defaults to "`kind`List".
745
+ """
746
+ short_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
747
+ """
748
+ shortNames are short names for the resource, exposed in API discovery documents, and used by clients to support invocations like `kubectl get <shortname>`. It must be all lowercase.
749
+ """
750
+ singular: NotRequired[pulumi.Input[str]]
751
+ """
752
+ singular is the singular name of the resource. It must be all lowercase. Defaults to lowercased `kind`.
753
+ """
754
+ elif False:
755
+ CustomResourceDefinitionNamesArgsDict: TypeAlias = Mapping[str, Any]
756
+
525
757
  @pulumi.input_type
526
758
  class CustomResourceDefinitionNamesArgs:
527
759
  def __init__(__self__, *,
@@ -624,6 +856,38 @@ class CustomResourceDefinitionNamesArgs:
624
856
  pulumi.set(self, "singular", value)
625
857
 
626
858
 
859
+ if not MYPY:
860
+ class CustomResourceDefinitionSpecPatchArgsDict(TypedDict):
861
+ """
862
+ CustomResourceDefinitionSpec describes how a user wants their resource to appear
863
+ """
864
+ conversion: NotRequired[pulumi.Input['CustomResourceConversionPatchArgsDict']]
865
+ """
866
+ conversion defines conversion settings for the CRD.
867
+ """
868
+ group: NotRequired[pulumi.Input[str]]
869
+ """
870
+ group is the API group of the defined custom resource. The custom resources are served under `/apis/<group>/...`. Must match the name of the CustomResourceDefinition (in the form `<names.plural>.<group>`).
871
+ """
872
+ names: NotRequired[pulumi.Input['CustomResourceDefinitionNamesPatchArgsDict']]
873
+ """
874
+ names specify the resource and kind names for the custom resource.
875
+ """
876
+ preserve_unknown_fields: NotRequired[pulumi.Input[bool]]
877
+ """
878
+ preserveUnknownFields indicates that object fields which are not specified in the OpenAPI schema should be preserved when persisting to storage. apiVersion, kind, metadata and known fields inside metadata are always preserved. This field is deprecated in favor of setting `x-preserve-unknown-fields` to true in `spec.versions[*].schema.openAPIV3Schema`. See https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#field-pruning for details.
879
+ """
880
+ scope: NotRequired[pulumi.Input[str]]
881
+ """
882
+ scope indicates whether the defined custom resource is cluster- or namespace-scoped. Allowed values are `Cluster` and `Namespaced`.
883
+ """
884
+ versions: NotRequired[pulumi.Input[Sequence[pulumi.Input['CustomResourceDefinitionVersionPatchArgsDict']]]]
885
+ """
886
+ versions is the list of all API versions of the defined custom resource. Version names are used to compute the order in which served versions are listed in API discovery. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
887
+ """
888
+ elif False:
889
+ CustomResourceDefinitionSpecPatchArgsDict: TypeAlias = Mapping[str, Any]
890
+
627
891
  @pulumi.input_type
628
892
  class CustomResourceDefinitionSpecPatchArgs:
629
893
  def __init__(__self__, *,
@@ -728,6 +992,38 @@ class CustomResourceDefinitionSpecPatchArgs:
728
992
  pulumi.set(self, "versions", value)
729
993
 
730
994
 
995
+ if not MYPY:
996
+ class CustomResourceDefinitionSpecArgsDict(TypedDict):
997
+ """
998
+ CustomResourceDefinitionSpec describes how a user wants their resource to appear
999
+ """
1000
+ group: pulumi.Input[str]
1001
+ """
1002
+ group is the API group of the defined custom resource. The custom resources are served under `/apis/<group>/...`. Must match the name of the CustomResourceDefinition (in the form `<names.plural>.<group>`).
1003
+ """
1004
+ names: pulumi.Input['CustomResourceDefinitionNamesArgsDict']
1005
+ """
1006
+ names specify the resource and kind names for the custom resource.
1007
+ """
1008
+ scope: pulumi.Input[str]
1009
+ """
1010
+ scope indicates whether the defined custom resource is cluster- or namespace-scoped. Allowed values are `Cluster` and `Namespaced`.
1011
+ """
1012
+ versions: pulumi.Input[Sequence[pulumi.Input['CustomResourceDefinitionVersionArgsDict']]]
1013
+ """
1014
+ versions is the list of all API versions of the defined custom resource. Version names are used to compute the order in which served versions are listed in API discovery. If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major version, then minor version. An example sorted list of versions: v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
1015
+ """
1016
+ conversion: NotRequired[pulumi.Input['CustomResourceConversionArgsDict']]
1017
+ """
1018
+ conversion defines conversion settings for the CRD.
1019
+ """
1020
+ preserve_unknown_fields: NotRequired[pulumi.Input[bool]]
1021
+ """
1022
+ preserveUnknownFields indicates that object fields which are not specified in the OpenAPI schema should be preserved when persisting to storage. apiVersion, kind, metadata and known fields inside metadata are always preserved. This field is deprecated in favor of setting `x-preserve-unknown-fields` to true in `spec.versions[*].schema.openAPIV3Schema`. See https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#field-pruning for details.
1023
+ """
1024
+ elif False:
1025
+ CustomResourceDefinitionSpecArgsDict: TypeAlias = Mapping[str, Any]
1026
+
731
1027
  @pulumi.input_type
732
1028
  class CustomResourceDefinitionSpecArgs:
733
1029
  def __init__(__self__, *,
@@ -828,6 +1124,26 @@ class CustomResourceDefinitionSpecArgs:
828
1124
  pulumi.set(self, "preserve_unknown_fields", value)
829
1125
 
830
1126
 
1127
+ if not MYPY:
1128
+ class CustomResourceDefinitionStatusArgsDict(TypedDict):
1129
+ """
1130
+ CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition
1131
+ """
1132
+ accepted_names: pulumi.Input['CustomResourceDefinitionNamesArgsDict']
1133
+ """
1134
+ acceptedNames are the names that are actually being used to serve discovery. They may be different than the names in spec.
1135
+ """
1136
+ stored_versions: pulumi.Input[Sequence[pulumi.Input[str]]]
1137
+ """
1138
+ storedVersions lists all versions of CustomResources that were ever persisted. Tracking these versions allows a migration path for stored versions in etcd. The field is mutable so a migration controller can finish a migration to another version (ensuring no old objects are left in storage), and then remove the rest of the versions from this list. Versions may not be removed from `spec.versions` while they exist in this list.
1139
+ """
1140
+ conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['CustomResourceDefinitionConditionArgsDict']]]]
1141
+ """
1142
+ conditions indicate state for particular aspects of a CustomResourceDefinition
1143
+ """
1144
+ elif False:
1145
+ CustomResourceDefinitionStatusArgsDict: TypeAlias = Mapping[str, Any]
1146
+
831
1147
  @pulumi.input_type
832
1148
  class CustomResourceDefinitionStatusArgs:
833
1149
  def __init__(__self__, *,
@@ -882,6 +1198,50 @@ class CustomResourceDefinitionStatusArgs:
882
1198
  pulumi.set(self, "conditions", value)
883
1199
 
884
1200
 
1201
+ if not MYPY:
1202
+ class CustomResourceDefinitionVersionPatchArgsDict(TypedDict):
1203
+ """
1204
+ CustomResourceDefinitionVersion describes a version for CRD.
1205
+ """
1206
+ additional_printer_columns: NotRequired[pulumi.Input[Sequence[pulumi.Input['CustomResourceColumnDefinitionPatchArgsDict']]]]
1207
+ """
1208
+ additionalPrinterColumns specifies additional columns returned in Table output. See https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables for details. If no columns are specified, a single column displaying the age of the custom resource is used.
1209
+ """
1210
+ deprecated: NotRequired[pulumi.Input[bool]]
1211
+ """
1212
+ deprecated indicates this version of the custom resource API is deprecated. When set to true, API requests to this version receive a warning header in the server response. Defaults to false.
1213
+ """
1214
+ deprecation_warning: NotRequired[pulumi.Input[str]]
1215
+ """
1216
+ deprecationWarning overrides the default warning returned to API clients. May only be set when `deprecated` is true. The default warning indicates this version is deprecated and recommends use of the newest served version of equal or greater stability, if one exists.
1217
+ """
1218
+ name: NotRequired[pulumi.Input[str]]
1219
+ """
1220
+ name is the version name, e.g. “v1”, “v2beta1”, etc. The custom resources are served under this version at `/apis/<group>/<version>/...` if `served` is true.
1221
+ """
1222
+ schema: NotRequired[pulumi.Input['CustomResourceValidationPatchArgsDict']]
1223
+ """
1224
+ schema describes the schema used for validation, pruning, and defaulting of this version of the custom resource.
1225
+ """
1226
+ selectable_fields: NotRequired[pulumi.Input[Sequence[pulumi.Input['SelectableFieldPatchArgsDict']]]]
1227
+ """
1228
+ selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
1229
+ """
1230
+ served: NotRequired[pulumi.Input[bool]]
1231
+ """
1232
+ served is a flag enabling/disabling this version from being served via REST APIs
1233
+ """
1234
+ storage: NotRequired[pulumi.Input[bool]]
1235
+ """
1236
+ storage indicates this version should be used when persisting custom resources to storage. There must be exactly one version with storage=true.
1237
+ """
1238
+ subresources: NotRequired[pulumi.Input['CustomResourceSubresourcesPatchArgsDict']]
1239
+ """
1240
+ subresources specify what subresources this version of the defined custom resource have.
1241
+ """
1242
+ elif False:
1243
+ CustomResourceDefinitionVersionPatchArgsDict: TypeAlias = Mapping[str, Any]
1244
+
885
1245
  @pulumi.input_type
886
1246
  class CustomResourceDefinitionVersionPatchArgs:
887
1247
  def __init__(__self__, *,
@@ -890,6 +1250,7 @@ class CustomResourceDefinitionVersionPatchArgs:
890
1250
  deprecation_warning: Optional[pulumi.Input[str]] = None,
891
1251
  name: Optional[pulumi.Input[str]] = None,
892
1252
  schema: Optional[pulumi.Input['CustomResourceValidationPatchArgs']] = None,
1253
+ selectable_fields: Optional[pulumi.Input[Sequence[pulumi.Input['SelectableFieldPatchArgs']]]] = None,
893
1254
  served: Optional[pulumi.Input[bool]] = None,
894
1255
  storage: Optional[pulumi.Input[bool]] = None,
895
1256
  subresources: Optional[pulumi.Input['CustomResourceSubresourcesPatchArgs']] = None):
@@ -900,6 +1261,7 @@ class CustomResourceDefinitionVersionPatchArgs:
900
1261
  :param pulumi.Input[str] deprecation_warning: deprecationWarning overrides the default warning returned to API clients. May only be set when `deprecated` is true. The default warning indicates this version is deprecated and recommends use of the newest served version of equal or greater stability, if one exists.
901
1262
  :param pulumi.Input[str] name: name is the version name, e.g. “v1”, “v2beta1”, etc. The custom resources are served under this version at `/apis/<group>/<version>/...` if `served` is true.
902
1263
  :param pulumi.Input['CustomResourceValidationPatchArgs'] schema: schema describes the schema used for validation, pruning, and defaulting of this version of the custom resource.
1264
+ :param pulumi.Input[Sequence[pulumi.Input['SelectableFieldPatchArgs']]] selectable_fields: selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
903
1265
  :param pulumi.Input[bool] served: served is a flag enabling/disabling this version from being served via REST APIs
904
1266
  :param pulumi.Input[bool] storage: storage indicates this version should be used when persisting custom resources to storage. There must be exactly one version with storage=true.
905
1267
  :param pulumi.Input['CustomResourceSubresourcesPatchArgs'] subresources: subresources specify what subresources this version of the defined custom resource have.
@@ -914,6 +1276,8 @@ class CustomResourceDefinitionVersionPatchArgs:
914
1276
  pulumi.set(__self__, "name", name)
915
1277
  if schema is not None:
916
1278
  pulumi.set(__self__, "schema", schema)
1279
+ if selectable_fields is not None:
1280
+ pulumi.set(__self__, "selectable_fields", selectable_fields)
917
1281
  if served is not None:
918
1282
  pulumi.set(__self__, "served", served)
919
1283
  if storage is not None:
@@ -981,6 +1345,18 @@ class CustomResourceDefinitionVersionPatchArgs:
981
1345
  def schema(self, value: Optional[pulumi.Input['CustomResourceValidationPatchArgs']]):
982
1346
  pulumi.set(self, "schema", value)
983
1347
 
1348
+ @property
1349
+ @pulumi.getter(name="selectableFields")
1350
+ def selectable_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SelectableFieldPatchArgs']]]]:
1351
+ """
1352
+ selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
1353
+ """
1354
+ return pulumi.get(self, "selectable_fields")
1355
+
1356
+ @selectable_fields.setter
1357
+ def selectable_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SelectableFieldPatchArgs']]]]):
1358
+ pulumi.set(self, "selectable_fields", value)
1359
+
984
1360
  @property
985
1361
  @pulumi.getter
986
1362
  def served(self) -> Optional[pulumi.Input[bool]]:
@@ -1018,6 +1394,50 @@ class CustomResourceDefinitionVersionPatchArgs:
1018
1394
  pulumi.set(self, "subresources", value)
1019
1395
 
1020
1396
 
1397
+ if not MYPY:
1398
+ class CustomResourceDefinitionVersionArgsDict(TypedDict):
1399
+ """
1400
+ CustomResourceDefinitionVersion describes a version for CRD.
1401
+ """
1402
+ name: pulumi.Input[str]
1403
+ """
1404
+ name is the version name, e.g. “v1”, “v2beta1”, etc. The custom resources are served under this version at `/apis/<group>/<version>/...` if `served` is true.
1405
+ """
1406
+ served: pulumi.Input[bool]
1407
+ """
1408
+ served is a flag enabling/disabling this version from being served via REST APIs
1409
+ """
1410
+ storage: pulumi.Input[bool]
1411
+ """
1412
+ storage indicates this version should be used when persisting custom resources to storage. There must be exactly one version with storage=true.
1413
+ """
1414
+ additional_printer_columns: NotRequired[pulumi.Input[Sequence[pulumi.Input['CustomResourceColumnDefinitionArgsDict']]]]
1415
+ """
1416
+ additionalPrinterColumns specifies additional columns returned in Table output. See https://kubernetes.io/docs/reference/using-api/api-concepts/#receiving-resources-as-tables for details. If no columns are specified, a single column displaying the age of the custom resource is used.
1417
+ """
1418
+ deprecated: NotRequired[pulumi.Input[bool]]
1419
+ """
1420
+ deprecated indicates this version of the custom resource API is deprecated. When set to true, API requests to this version receive a warning header in the server response. Defaults to false.
1421
+ """
1422
+ deprecation_warning: NotRequired[pulumi.Input[str]]
1423
+ """
1424
+ deprecationWarning overrides the default warning returned to API clients. May only be set when `deprecated` is true. The default warning indicates this version is deprecated and recommends use of the newest served version of equal or greater stability, if one exists.
1425
+ """
1426
+ schema: NotRequired[pulumi.Input['CustomResourceValidationArgsDict']]
1427
+ """
1428
+ schema describes the schema used for validation, pruning, and defaulting of this version of the custom resource.
1429
+ """
1430
+ selectable_fields: NotRequired[pulumi.Input[Sequence[pulumi.Input['SelectableFieldArgsDict']]]]
1431
+ """
1432
+ selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
1433
+ """
1434
+ subresources: NotRequired[pulumi.Input['CustomResourceSubresourcesArgsDict']]
1435
+ """
1436
+ subresources specify what subresources this version of the defined custom resource have.
1437
+ """
1438
+ elif False:
1439
+ CustomResourceDefinitionVersionArgsDict: TypeAlias = Mapping[str, Any]
1440
+
1021
1441
  @pulumi.input_type
1022
1442
  class CustomResourceDefinitionVersionArgs:
1023
1443
  def __init__(__self__, *,
@@ -1028,6 +1448,7 @@ class CustomResourceDefinitionVersionArgs:
1028
1448
  deprecated: Optional[pulumi.Input[bool]] = None,
1029
1449
  deprecation_warning: Optional[pulumi.Input[str]] = None,
1030
1450
  schema: Optional[pulumi.Input['CustomResourceValidationArgs']] = None,
1451
+ selectable_fields: Optional[pulumi.Input[Sequence[pulumi.Input['SelectableFieldArgs']]]] = None,
1031
1452
  subresources: Optional[pulumi.Input['CustomResourceSubresourcesArgs']] = None):
1032
1453
  """
1033
1454
  CustomResourceDefinitionVersion describes a version for CRD.
@@ -1038,6 +1459,7 @@ class CustomResourceDefinitionVersionArgs:
1038
1459
  :param pulumi.Input[bool] deprecated: deprecated indicates this version of the custom resource API is deprecated. When set to true, API requests to this version receive a warning header in the server response. Defaults to false.
1039
1460
  :param pulumi.Input[str] deprecation_warning: deprecationWarning overrides the default warning returned to API clients. May only be set when `deprecated` is true. The default warning indicates this version is deprecated and recommends use of the newest served version of equal or greater stability, if one exists.
1040
1461
  :param pulumi.Input['CustomResourceValidationArgs'] schema: schema describes the schema used for validation, pruning, and defaulting of this version of the custom resource.
1462
+ :param pulumi.Input[Sequence[pulumi.Input['SelectableFieldArgs']]] selectable_fields: selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
1041
1463
  :param pulumi.Input['CustomResourceSubresourcesArgs'] subresources: subresources specify what subresources this version of the defined custom resource have.
1042
1464
  """
1043
1465
  pulumi.set(__self__, "name", name)
@@ -1051,6 +1473,8 @@ class CustomResourceDefinitionVersionArgs:
1051
1473
  pulumi.set(__self__, "deprecation_warning", deprecation_warning)
1052
1474
  if schema is not None:
1053
1475
  pulumi.set(__self__, "schema", schema)
1476
+ if selectable_fields is not None:
1477
+ pulumi.set(__self__, "selectable_fields", selectable_fields)
1054
1478
  if subresources is not None:
1055
1479
  pulumi.set(__self__, "subresources", subresources)
1056
1480
 
@@ -1139,18 +1563,58 @@ class CustomResourceDefinitionVersionArgs:
1139
1563
  pulumi.set(self, "schema", value)
1140
1564
 
1141
1565
  @property
1142
- @pulumi.getter
1143
- def subresources(self) -> Optional[pulumi.Input['CustomResourceSubresourcesArgs']]:
1566
+ @pulumi.getter(name="selectableFields")
1567
+ def selectable_fields(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SelectableFieldArgs']]]]:
1144
1568
  """
1145
- subresources specify what subresources this version of the defined custom resource have.
1569
+ selectableFields specifies paths to fields that may be used as field selectors. A maximum of 8 selectable fields are allowed. See https://kubernetes.io/docs/concepts/overview/working-with-objects/field-selectors
1146
1570
  """
1147
- return pulumi.get(self, "subresources")
1571
+ return pulumi.get(self, "selectable_fields")
1572
+
1573
+ @selectable_fields.setter
1574
+ def selectable_fields(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SelectableFieldArgs']]]]):
1575
+ pulumi.set(self, "selectable_fields", value)
1576
+
1577
+ @property
1578
+ @pulumi.getter
1579
+ def subresources(self) -> Optional[pulumi.Input['CustomResourceSubresourcesArgs']]:
1580
+ """
1581
+ subresources specify what subresources this version of the defined custom resource have.
1582
+ """
1583
+ return pulumi.get(self, "subresources")
1148
1584
 
1149
1585
  @subresources.setter
1150
1586
  def subresources(self, value: Optional[pulumi.Input['CustomResourceSubresourcesArgs']]):
1151
1587
  pulumi.set(self, "subresources", value)
1152
1588
 
1153
1589
 
1590
+ if not MYPY:
1591
+ class CustomResourceDefinitionArgsDict(TypedDict):
1592
+ """
1593
+ CustomResourceDefinition represents a resource that should be exposed on the API server. Its name MUST be in the format <.spec.name>.<.spec.group>.
1594
+ """
1595
+ spec: pulumi.Input['CustomResourceDefinitionSpecArgsDict']
1596
+ """
1597
+ spec describes how the user wants the resources to appear
1598
+ """
1599
+ api_version: NotRequired[pulumi.Input[str]]
1600
+ """
1601
+ APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
1602
+ """
1603
+ kind: NotRequired[pulumi.Input[str]]
1604
+ """
1605
+ Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
1606
+ """
1607
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
1608
+ """
1609
+ Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
1610
+ """
1611
+ status: NotRequired[pulumi.Input['CustomResourceDefinitionStatusArgsDict']]
1612
+ """
1613
+ status indicates the actual state of the CustomResourceDefinition
1614
+ """
1615
+ elif False:
1616
+ CustomResourceDefinitionArgsDict: TypeAlias = Mapping[str, Any]
1617
+
1154
1618
  @pulumi.input_type
1155
1619
  class CustomResourceDefinitionArgs:
1156
1620
  def __init__(__self__, *,
@@ -1238,6 +1702,26 @@ class CustomResourceDefinitionArgs:
1238
1702
  pulumi.set(self, "status", value)
1239
1703
 
1240
1704
 
1705
+ if not MYPY:
1706
+ class CustomResourceSubresourceScalePatchArgsDict(TypedDict):
1707
+ """
1708
+ CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources.
1709
+ """
1710
+ label_selector_path: NotRequired[pulumi.Input[str]]
1711
+ """
1712
+ labelSelectorPath defines the JSON path inside of a custom resource that corresponds to Scale `status.selector`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status` or `.spec`. Must be set to work with HorizontalPodAutoscaler. The field pointed by this JSON path must be a string field (not a complex selector struct) which contains a serialized label selector in string form. More info: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource If there is no value under the given path in the custom resource, the `status.selector` value in the `/scale` subresource will default to the empty string.
1713
+ """
1714
+ spec_replicas_path: NotRequired[pulumi.Input[str]]
1715
+ """
1716
+ specReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `spec.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.spec`. If there is no value under the given path in the custom resource, the `/scale` subresource will return an error on GET.
1717
+ """
1718
+ status_replicas_path: NotRequired[pulumi.Input[str]]
1719
+ """
1720
+ statusReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `status.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status`. If there is no value under the given path in the custom resource, the `status.replicas` value in the `/scale` subresource will default to 0.
1721
+ """
1722
+ elif False:
1723
+ CustomResourceSubresourceScalePatchArgsDict: TypeAlias = Mapping[str, Any]
1724
+
1241
1725
  @pulumi.input_type
1242
1726
  class CustomResourceSubresourceScalePatchArgs:
1243
1727
  def __init__(__self__, *,
@@ -1294,6 +1778,26 @@ class CustomResourceSubresourceScalePatchArgs:
1294
1778
  pulumi.set(self, "status_replicas_path", value)
1295
1779
 
1296
1780
 
1781
+ if not MYPY:
1782
+ class CustomResourceSubresourceScaleArgsDict(TypedDict):
1783
+ """
1784
+ CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources.
1785
+ """
1786
+ spec_replicas_path: pulumi.Input[str]
1787
+ """
1788
+ specReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `spec.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.spec`. If there is no value under the given path in the custom resource, the `/scale` subresource will return an error on GET.
1789
+ """
1790
+ status_replicas_path: pulumi.Input[str]
1791
+ """
1792
+ statusReplicasPath defines the JSON path inside of a custom resource that corresponds to Scale `status.replicas`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status`. If there is no value under the given path in the custom resource, the `status.replicas` value in the `/scale` subresource will default to 0.
1793
+ """
1794
+ label_selector_path: NotRequired[pulumi.Input[str]]
1795
+ """
1796
+ labelSelectorPath defines the JSON path inside of a custom resource that corresponds to Scale `status.selector`. Only JSON paths without the array notation are allowed. Must be a JSON Path under `.status` or `.spec`. Must be set to work with HorizontalPodAutoscaler. The field pointed by this JSON path must be a string field (not a complex selector struct) which contains a serialized label selector in string form. More info: https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions#scale-subresource If there is no value under the given path in the custom resource, the `status.selector` value in the `/scale` subresource will default to the empty string.
1797
+ """
1798
+ elif False:
1799
+ CustomResourceSubresourceScaleArgsDict: TypeAlias = Mapping[str, Any]
1800
+
1297
1801
  @pulumi.input_type
1298
1802
  class CustomResourceSubresourceScaleArgs:
1299
1803
  def __init__(__self__, *,
@@ -1348,6 +1852,22 @@ class CustomResourceSubresourceScaleArgs:
1348
1852
  pulumi.set(self, "label_selector_path", value)
1349
1853
 
1350
1854
 
1855
+ if not MYPY:
1856
+ class CustomResourceSubresourcesPatchArgsDict(TypedDict):
1857
+ """
1858
+ CustomResourceSubresources defines the status and scale subresources for CustomResources.
1859
+ """
1860
+ scale: NotRequired[pulumi.Input['CustomResourceSubresourceScalePatchArgsDict']]
1861
+ """
1862
+ scale indicates the custom resource should serve a `/scale` subresource that returns an `autoscaling/v1` Scale object.
1863
+ """
1864
+ status: NotRequired[Any]
1865
+ """
1866
+ status indicates the custom resource should serve a `/status` subresource. When enabled: 1. requests to the custom resource primary endpoint ignore changes to the `status` stanza of the object. 2. requests to the custom resource `/status` subresource ignore changes to anything other than the `status` stanza of the object.
1867
+ """
1868
+ elif False:
1869
+ CustomResourceSubresourcesPatchArgsDict: TypeAlias = Mapping[str, Any]
1870
+
1351
1871
  @pulumi.input_type
1352
1872
  class CustomResourceSubresourcesPatchArgs:
1353
1873
  def __init__(__self__, *,
@@ -1388,6 +1908,22 @@ class CustomResourceSubresourcesPatchArgs:
1388
1908
  pulumi.set(self, "status", value)
1389
1909
 
1390
1910
 
1911
+ if not MYPY:
1912
+ class CustomResourceSubresourcesArgsDict(TypedDict):
1913
+ """
1914
+ CustomResourceSubresources defines the status and scale subresources for CustomResources.
1915
+ """
1916
+ scale: NotRequired[pulumi.Input['CustomResourceSubresourceScaleArgsDict']]
1917
+ """
1918
+ scale indicates the custom resource should serve a `/scale` subresource that returns an `autoscaling/v1` Scale object.
1919
+ """
1920
+ status: NotRequired[Any]
1921
+ """
1922
+ status indicates the custom resource should serve a `/status` subresource. When enabled: 1. requests to the custom resource primary endpoint ignore changes to the `status` stanza of the object. 2. requests to the custom resource `/status` subresource ignore changes to anything other than the `status` stanza of the object.
1923
+ """
1924
+ elif False:
1925
+ CustomResourceSubresourcesArgsDict: TypeAlias = Mapping[str, Any]
1926
+
1391
1927
  @pulumi.input_type
1392
1928
  class CustomResourceSubresourcesArgs:
1393
1929
  def __init__(__self__, *,
@@ -1428,6 +1964,18 @@ class CustomResourceSubresourcesArgs:
1428
1964
  pulumi.set(self, "status", value)
1429
1965
 
1430
1966
 
1967
+ if not MYPY:
1968
+ class CustomResourceValidationPatchArgsDict(TypedDict):
1969
+ """
1970
+ CustomResourceValidation is a list of validation methods for CustomResources.
1971
+ """
1972
+ open_apiv3_schema: NotRequired[pulumi.Input['JSONSchemaPropsPatchArgsDict']]
1973
+ """
1974
+ openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning.
1975
+ """
1976
+ elif False:
1977
+ CustomResourceValidationPatchArgsDict: TypeAlias = Mapping[str, Any]
1978
+
1431
1979
  @pulumi.input_type
1432
1980
  class CustomResourceValidationPatchArgs:
1433
1981
  def __init__(__self__, *,
@@ -1452,6 +2000,18 @@ class CustomResourceValidationPatchArgs:
1452
2000
  pulumi.set(self, "open_apiv3_schema", value)
1453
2001
 
1454
2002
 
2003
+ if not MYPY:
2004
+ class CustomResourceValidationArgsDict(TypedDict):
2005
+ """
2006
+ CustomResourceValidation is a list of validation methods for CustomResources.
2007
+ """
2008
+ open_apiv3_schema: NotRequired[pulumi.Input['JSONSchemaPropsArgsDict']]
2009
+ """
2010
+ openAPIV3Schema is the OpenAPI v3 schema to use for validation and pruning.
2011
+ """
2012
+ elif False:
2013
+ CustomResourceValidationArgsDict: TypeAlias = Mapping[str, Any]
2014
+
1455
2015
  @pulumi.input_type
1456
2016
  class CustomResourceValidationArgs:
1457
2017
  def __init__(__self__, *,
@@ -1476,6 +2036,16 @@ class CustomResourceValidationArgs:
1476
2036
  pulumi.set(self, "open_apiv3_schema", value)
1477
2037
 
1478
2038
 
2039
+ if not MYPY:
2040
+ class ExternalDocumentationPatchArgsDict(TypedDict):
2041
+ """
2042
+ ExternalDocumentation allows referencing an external resource for extended documentation.
2043
+ """
2044
+ description: NotRequired[pulumi.Input[str]]
2045
+ url: NotRequired[pulumi.Input[str]]
2046
+ elif False:
2047
+ ExternalDocumentationPatchArgsDict: TypeAlias = Mapping[str, Any]
2048
+
1479
2049
  @pulumi.input_type
1480
2050
  class ExternalDocumentationPatchArgs:
1481
2051
  def __init__(__self__, *,
@@ -1508,6 +2078,16 @@ class ExternalDocumentationPatchArgs:
1508
2078
  pulumi.set(self, "url", value)
1509
2079
 
1510
2080
 
2081
+ if not MYPY:
2082
+ class ExternalDocumentationArgsDict(TypedDict):
2083
+ """
2084
+ ExternalDocumentation allows referencing an external resource for extended documentation.
2085
+ """
2086
+ description: NotRequired[pulumi.Input[str]]
2087
+ url: NotRequired[pulumi.Input[str]]
2088
+ elif False:
2089
+ ExternalDocumentationArgsDict: TypeAlias = Mapping[str, Any]
2090
+
1511
2091
  @pulumi.input_type
1512
2092
  class ExternalDocumentationArgs:
1513
2093
  def __init__(__self__, *,
@@ -1540,6 +2120,120 @@ class ExternalDocumentationArgs:
1540
2120
  pulumi.set(self, "url", value)
1541
2121
 
1542
2122
 
2123
+ if not MYPY:
2124
+ class JSONSchemaPropsPatchArgsDict(TypedDict):
2125
+ """
2126
+ JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).
2127
+ """
2128
+ _ref: NotRequired[pulumi.Input[str]]
2129
+ _schema: NotRequired[pulumi.Input[str]]
2130
+ additional_items: NotRequired[pulumi.Input[Union['JSONSchemaPropsArgsDict', bool]]]
2131
+ additional_properties: NotRequired[pulumi.Input[Union['JSONSchemaPropsArgsDict', bool]]]
2132
+ all_of: NotRequired[pulumi.Input[Sequence[pulumi.Input['JSONSchemaPropsPatchArgsDict']]]]
2133
+ any_of: NotRequired[pulumi.Input[Sequence[pulumi.Input['JSONSchemaPropsPatchArgsDict']]]]
2134
+ default: NotRequired[Any]
2135
+ """
2136
+ default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false.
2137
+ """
2138
+ definitions: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['JSONSchemaPropsArgsDict']]]]
2139
+ dependencies: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[Union['JSONSchemaPropsArgsDict', Sequence[pulumi.Input[str]]]]]]]
2140
+ description: NotRequired[pulumi.Input[str]]
2141
+ enum: NotRequired[pulumi.Input[Sequence[Any]]]
2142
+ example: NotRequired[Any]
2143
+ exclusive_maximum: NotRequired[pulumi.Input[bool]]
2144
+ exclusive_minimum: NotRequired[pulumi.Input[bool]]
2145
+ external_docs: NotRequired[pulumi.Input['ExternalDocumentationPatchArgsDict']]
2146
+ format: NotRequired[pulumi.Input[str]]
2147
+ """
2148
+ format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:
2149
+
2150
+ - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
2151
+ """
2152
+ id: NotRequired[pulumi.Input[str]]
2153
+ items: NotRequired[pulumi.Input[Union['JSONSchemaPropsArgsDict', Sequence[Any]]]]
2154
+ max_items: NotRequired[pulumi.Input[int]]
2155
+ max_length: NotRequired[pulumi.Input[int]]
2156
+ max_properties: NotRequired[pulumi.Input[int]]
2157
+ maximum: NotRequired[pulumi.Input[float]]
2158
+ min_items: NotRequired[pulumi.Input[int]]
2159
+ min_length: NotRequired[pulumi.Input[int]]
2160
+ min_properties: NotRequired[pulumi.Input[int]]
2161
+ minimum: NotRequired[pulumi.Input[float]]
2162
+ multiple_of: NotRequired[pulumi.Input[float]]
2163
+ not_: NotRequired[pulumi.Input['JSONSchemaPropsPatchArgsDict']]
2164
+ nullable: NotRequired[pulumi.Input[bool]]
2165
+ one_of: NotRequired[pulumi.Input[Sequence[pulumi.Input['JSONSchemaPropsPatchArgsDict']]]]
2166
+ pattern: NotRequired[pulumi.Input[str]]
2167
+ pattern_properties: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['JSONSchemaPropsArgsDict']]]]
2168
+ properties: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['JSONSchemaPropsArgsDict']]]]
2169
+ required: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2170
+ title: NotRequired[pulumi.Input[str]]
2171
+ type: NotRequired[pulumi.Input[str]]
2172
+ unique_items: NotRequired[pulumi.Input[bool]]
2173
+ x_kubernetes_embedded_resource: NotRequired[pulumi.Input[bool]]
2174
+ """
2175
+ x-kubernetes-embedded-resource defines that the value is an embedded Kubernetes runtime.Object, with TypeMeta and ObjectMeta. The type must be object. It is allowed to further restrict the embedded object. kind, apiVersion and metadata are validated automatically. x-kubernetes-preserve-unknown-fields is allowed to be true, but does not have to be if the object is fully specified (up to kind, apiVersion, metadata).
2176
+ """
2177
+ x_kubernetes_int_or_string: NotRequired[pulumi.Input[bool]]
2178
+ """
2179
+ x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:
2180
+
2181
+ 1) anyOf:
2182
+ - type: integer
2183
+ - type: string
2184
+ 2) allOf:
2185
+ - anyOf:
2186
+ - type: integer
2187
+ - type: string
2188
+ - ... zero or more
2189
+ """
2190
+ x_kubernetes_list_map_keys: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2191
+ """
2192
+ x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.
2193
+
2194
+ This tag MUST only be used on lists that have the "x-kubernetes-list-type" extension set to "map". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).
2195
+
2196
+ The properties specified must either be required or have a default value, to ensure those properties are present for all list items.
2197
+ """
2198
+ x_kubernetes_list_type: NotRequired[pulumi.Input[str]]
2199
+ """
2200
+ x-kubernetes-list-type annotates an array to further describe its topology. This extension must only be used on lists and may have 3 possible values:
2201
+
2202
+ 1) `atomic`: the list is treated as a single entity, like a scalar.
2203
+ Atomic lists will be entirely replaced when updated. This extension
2204
+ may be used on any type of list (struct, scalar, ...).
2205
+ 2) `set`:
2206
+ Sets are lists that must not have multiple items with the same value. Each
2207
+ value must be a scalar, an object with x-kubernetes-map-type `atomic` or an
2208
+ array with x-kubernetes-list-type `atomic`.
2209
+ 3) `map`:
2210
+ These lists are like maps in that their elements have a non-index key
2211
+ used to identify them. Order is preserved upon merge. The map tag
2212
+ must only be used on a list with elements of type object.
2213
+ Defaults to atomic for arrays.
2214
+ """
2215
+ x_kubernetes_map_type: NotRequired[pulumi.Input[str]]
2216
+ """
2217
+ x-kubernetes-map-type annotates an object to further describe its topology. This extension must only be used when type is object and may have 2 possible values:
2218
+
2219
+ 1) `granular`:
2220
+ These maps are actual maps (key-value pairs) and each fields are independent
2221
+ from each other (they can each be manipulated by separate actors). This is
2222
+ the default behaviour for all maps.
2223
+ 2) `atomic`: the list is treated as a single entity, like a scalar.
2224
+ Atomic maps will be entirely replaced when updated.
2225
+ """
2226
+ x_kubernetes_preserve_unknown_fields: NotRequired[pulumi.Input[bool]]
2227
+ """
2228
+ x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields which are not specified in the validation schema. This affects fields recursively, but switches back to normal pruning behaviour if nested properties or additionalProperties are specified in the schema. This can either be true or undefined. False is forbidden.
2229
+ """
2230
+ x_kubernetes_validations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ValidationRulePatchArgsDict']]]]
2231
+ """
2232
+ x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
2233
+ """
2234
+ elif False:
2235
+ JSONSchemaPropsPatchArgsDict: TypeAlias = Mapping[str, Any]
2236
+
1543
2237
  @pulumi.input_type
1544
2238
  class JSONSchemaPropsPatchArgs:
1545
2239
  def __init__(__self__, *,
@@ -1592,7 +2286,7 @@ class JSONSchemaPropsPatchArgs:
1592
2286
  :param Any default: default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false.
1593
2287
  :param pulumi.Input[str] format: format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:
1594
2288
 
1595
- - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
2289
+ - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
1596
2290
  :param pulumi.Input[bool] x_kubernetes_embedded_resource: x-kubernetes-embedded-resource defines that the value is an embedded Kubernetes runtime.Object, with TypeMeta and ObjectMeta. The type must be object. It is allowed to further restrict the embedded object. kind, apiVersion and metadata are validated automatically. x-kubernetes-preserve-unknown-fields is allowed to be true, but does not have to be if the object is fully specified (up to kind, apiVersion, metadata).
1597
2291
  :param pulumi.Input[bool] x_kubernetes_int_or_string: x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:
1598
2292
 
@@ -1632,7 +2326,7 @@ class JSONSchemaPropsPatchArgs:
1632
2326
  2) `atomic`: the list is treated as a single entity, like a scalar.
1633
2327
  Atomic maps will be entirely replaced when updated.
1634
2328
  :param pulumi.Input[bool] x_kubernetes_preserve_unknown_fields: x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields which are not specified in the validation schema. This affects fields recursively, but switches back to normal pruning behaviour if nested properties or additionalProperties are specified in the schema. This can either be true or undefined. False is forbidden.
1635
- :param pulumi.Input[Sequence[pulumi.Input['ValidationRulePatchArgs']]] x_kubernetes_validations: x-kubernetes-validations describes a list of validation rules written in the CEL expression language. This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.
2329
+ :param pulumi.Input[Sequence[pulumi.Input['ValidationRulePatchArgs']]] x_kubernetes_validations: x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
1636
2330
  """
1637
2331
  if _ref is not None:
1638
2332
  pulumi.set(__self__, "_ref", _ref)
@@ -1867,7 +2561,7 @@ class JSONSchemaPropsPatchArgs:
1867
2561
  """
1868
2562
  format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:
1869
2563
 
1870
- - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
2564
+ - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
1871
2565
  """
1872
2566
  return pulumi.get(self, "format")
1873
2567
 
@@ -2173,7 +2867,7 @@ class JSONSchemaPropsPatchArgs:
2173
2867
  @pulumi.getter
2174
2868
  def x_kubernetes_validations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ValidationRulePatchArgs']]]]:
2175
2869
  """
2176
- x-kubernetes-validations describes a list of validation rules written in the CEL expression language. This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.
2870
+ x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
2177
2871
  """
2178
2872
  return pulumi.get(self, "x_kubernetes_validations")
2179
2873
 
@@ -2182,6 +2876,120 @@ class JSONSchemaPropsPatchArgs:
2182
2876
  pulumi.set(self, "x_kubernetes_validations", value)
2183
2877
 
2184
2878
 
2879
+ if not MYPY:
2880
+ class JSONSchemaPropsArgsDict(TypedDict):
2881
+ """
2882
+ JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/).
2883
+ """
2884
+ _ref: NotRequired[pulumi.Input[str]]
2885
+ _schema: NotRequired[pulumi.Input[str]]
2886
+ additional_items: NotRequired[pulumi.Input[Union['JSONSchemaPropsArgsDict', bool]]]
2887
+ additional_properties: NotRequired[pulumi.Input[Union['JSONSchemaPropsArgsDict', bool]]]
2888
+ all_of: NotRequired[pulumi.Input[Sequence[pulumi.Input['JSONSchemaPropsArgsDict']]]]
2889
+ any_of: NotRequired[pulumi.Input[Sequence[pulumi.Input['JSONSchemaPropsArgsDict']]]]
2890
+ default: NotRequired[Any]
2891
+ """
2892
+ default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false.
2893
+ """
2894
+ definitions: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['JSONSchemaPropsArgsDict']]]]
2895
+ dependencies: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[Union['JSONSchemaPropsArgsDict', Sequence[pulumi.Input[str]]]]]]]
2896
+ description: NotRequired[pulumi.Input[str]]
2897
+ enum: NotRequired[pulumi.Input[Sequence[Any]]]
2898
+ example: NotRequired[Any]
2899
+ exclusive_maximum: NotRequired[pulumi.Input[bool]]
2900
+ exclusive_minimum: NotRequired[pulumi.Input[bool]]
2901
+ external_docs: NotRequired[pulumi.Input['ExternalDocumentationArgsDict']]
2902
+ format: NotRequired[pulumi.Input[str]]
2903
+ """
2904
+ format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:
2905
+
2906
+ - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
2907
+ """
2908
+ id: NotRequired[pulumi.Input[str]]
2909
+ items: NotRequired[pulumi.Input[Union['JSONSchemaPropsArgsDict', Sequence[Any]]]]
2910
+ max_items: NotRequired[pulumi.Input[int]]
2911
+ max_length: NotRequired[pulumi.Input[int]]
2912
+ max_properties: NotRequired[pulumi.Input[int]]
2913
+ maximum: NotRequired[pulumi.Input[float]]
2914
+ min_items: NotRequired[pulumi.Input[int]]
2915
+ min_length: NotRequired[pulumi.Input[int]]
2916
+ min_properties: NotRequired[pulumi.Input[int]]
2917
+ minimum: NotRequired[pulumi.Input[float]]
2918
+ multiple_of: NotRequired[pulumi.Input[float]]
2919
+ not_: NotRequired[pulumi.Input['JSONSchemaPropsArgsDict']]
2920
+ nullable: NotRequired[pulumi.Input[bool]]
2921
+ one_of: NotRequired[pulumi.Input[Sequence[pulumi.Input['JSONSchemaPropsArgsDict']]]]
2922
+ pattern: NotRequired[pulumi.Input[str]]
2923
+ pattern_properties: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['JSONSchemaPropsArgsDict']]]]
2924
+ properties: NotRequired[pulumi.Input[Mapping[str, pulumi.Input['JSONSchemaPropsArgsDict']]]]
2925
+ required: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2926
+ title: NotRequired[pulumi.Input[str]]
2927
+ type: NotRequired[pulumi.Input[str]]
2928
+ unique_items: NotRequired[pulumi.Input[bool]]
2929
+ x_kubernetes_embedded_resource: NotRequired[pulumi.Input[bool]]
2930
+ """
2931
+ x-kubernetes-embedded-resource defines that the value is an embedded Kubernetes runtime.Object, with TypeMeta and ObjectMeta. The type must be object. It is allowed to further restrict the embedded object. kind, apiVersion and metadata are validated automatically. x-kubernetes-preserve-unknown-fields is allowed to be true, but does not have to be if the object is fully specified (up to kind, apiVersion, metadata).
2932
+ """
2933
+ x_kubernetes_int_or_string: NotRequired[pulumi.Input[bool]]
2934
+ """
2935
+ x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:
2936
+
2937
+ 1) anyOf:
2938
+ - type: integer
2939
+ - type: string
2940
+ 2) allOf:
2941
+ - anyOf:
2942
+ - type: integer
2943
+ - type: string
2944
+ - ... zero or more
2945
+ """
2946
+ x_kubernetes_list_map_keys: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2947
+ """
2948
+ x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.
2949
+
2950
+ This tag MUST only be used on lists that have the "x-kubernetes-list-type" extension set to "map". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).
2951
+
2952
+ The properties specified must either be required or have a default value, to ensure those properties are present for all list items.
2953
+ """
2954
+ x_kubernetes_list_type: NotRequired[pulumi.Input[str]]
2955
+ """
2956
+ x-kubernetes-list-type annotates an array to further describe its topology. This extension must only be used on lists and may have 3 possible values:
2957
+
2958
+ 1) `atomic`: the list is treated as a single entity, like a scalar.
2959
+ Atomic lists will be entirely replaced when updated. This extension
2960
+ may be used on any type of list (struct, scalar, ...).
2961
+ 2) `set`:
2962
+ Sets are lists that must not have multiple items with the same value. Each
2963
+ value must be a scalar, an object with x-kubernetes-map-type `atomic` or an
2964
+ array with x-kubernetes-list-type `atomic`.
2965
+ 3) `map`:
2966
+ These lists are like maps in that their elements have a non-index key
2967
+ used to identify them. Order is preserved upon merge. The map tag
2968
+ must only be used on a list with elements of type object.
2969
+ Defaults to atomic for arrays.
2970
+ """
2971
+ x_kubernetes_map_type: NotRequired[pulumi.Input[str]]
2972
+ """
2973
+ x-kubernetes-map-type annotates an object to further describe its topology. This extension must only be used when type is object and may have 2 possible values:
2974
+
2975
+ 1) `granular`:
2976
+ These maps are actual maps (key-value pairs) and each fields are independent
2977
+ from each other (they can each be manipulated by separate actors). This is
2978
+ the default behaviour for all maps.
2979
+ 2) `atomic`: the list is treated as a single entity, like a scalar.
2980
+ Atomic maps will be entirely replaced when updated.
2981
+ """
2982
+ x_kubernetes_preserve_unknown_fields: NotRequired[pulumi.Input[bool]]
2983
+ """
2984
+ x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields which are not specified in the validation schema. This affects fields recursively, but switches back to normal pruning behaviour if nested properties or additionalProperties are specified in the schema. This can either be true or undefined. False is forbidden.
2985
+ """
2986
+ x_kubernetes_validations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ValidationRuleArgsDict']]]]
2987
+ """
2988
+ x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
2989
+ """
2990
+ elif False:
2991
+ JSONSchemaPropsArgsDict: TypeAlias = Mapping[str, Any]
2992
+
2185
2993
  @pulumi.input_type
2186
2994
  class JSONSchemaPropsArgs:
2187
2995
  def __init__(__self__, *,
@@ -2234,7 +3042,7 @@ class JSONSchemaPropsArgs:
2234
3042
  :param Any default: default is a default value for undefined object fields. Defaulting is a beta feature under the CustomResourceDefaulting feature gate. Defaulting requires spec.preserveUnknownFields to be false.
2235
3043
  :param pulumi.Input[str] format: format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:
2236
3044
 
2237
- - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
3045
+ - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
2238
3046
  :param pulumi.Input[bool] x_kubernetes_embedded_resource: x-kubernetes-embedded-resource defines that the value is an embedded Kubernetes runtime.Object, with TypeMeta and ObjectMeta. The type must be object. It is allowed to further restrict the embedded object. kind, apiVersion and metadata are validated automatically. x-kubernetes-preserve-unknown-fields is allowed to be true, but does not have to be if the object is fully specified (up to kind, apiVersion, metadata).
2239
3047
  :param pulumi.Input[bool] x_kubernetes_int_or_string: x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:
2240
3048
 
@@ -2274,7 +3082,7 @@ class JSONSchemaPropsArgs:
2274
3082
  2) `atomic`: the list is treated as a single entity, like a scalar.
2275
3083
  Atomic maps will be entirely replaced when updated.
2276
3084
  :param pulumi.Input[bool] x_kubernetes_preserve_unknown_fields: x-kubernetes-preserve-unknown-fields stops the API server decoding step from pruning fields which are not specified in the validation schema. This affects fields recursively, but switches back to normal pruning behaviour if nested properties or additionalProperties are specified in the schema. This can either be true or undefined. False is forbidden.
2277
- :param pulumi.Input[Sequence[pulumi.Input['ValidationRuleArgs']]] x_kubernetes_validations: x-kubernetes-validations describes a list of validation rules written in the CEL expression language. This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.
3085
+ :param pulumi.Input[Sequence[pulumi.Input['ValidationRuleArgs']]] x_kubernetes_validations: x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
2278
3086
  """
2279
3087
  if _ref is not None:
2280
3088
  pulumi.set(__self__, "_ref", _ref)
@@ -2509,7 +3317,7 @@ class JSONSchemaPropsArgs:
2509
3317
  """
2510
3318
  format is an OpenAPI v3 format string. Unknown formats are ignored. The following formats are validated:
2511
3319
 
2512
- - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\d{3})\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
3320
+ - bsonobjectid: a bson object ID, i.e. a 24 characters hex string - uri: an URI as parsed by Golang net/url.ParseRequestURI - email: an email address as parsed by Golang net/mail.ParseAddress - hostname: a valid representation for an Internet host name, as defined by RFC 1034, section 3.1 [RFC1034]. - ipv4: an IPv4 IP as parsed by Golang net.ParseIP - ipv6: an IPv6 IP as parsed by Golang net.ParseIP - cidr: a CIDR as parsed by Golang net.ParseCIDR - mac: a MAC address as parsed by Golang net.ParseMAC - uuid: an UUID that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid3: an UUID3 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: an UUID4 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - uuid5: an UUID5 that allows uppercase defined by the regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$ - isbn: an ISBN10 or ISBN13 number string like "0321751043" or "978-0321751041" - isbn10: an ISBN10 number string like "0321751043" - isbn13: an ISBN13 number string like "978-0321751041" - creditcard: a credit card number defined by the regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\\\\d{3})\\\\d{11})$ with any non digit characters mixed in - ssn: a U.S. social security number following the regex ^\\\\d{3}[- ]?\\\\d{2}[- ]?\\\\d{4}$ - hexcolor: an hexadecimal color code like "#FFFFFF: following the regex ^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: an RGB color code like rgb like "rgb(255,255,2559" - byte: base64 encoded binary data - password: any kind of string - date: a date string like "2006-01-02" as defined by full-date in RFC3339 - duration: a duration string like "22 ns" as parsed by Golang time.ParseDuration or compatible with Scala duration format - datetime: a date time string like "2014-12-15T19:30:20.000Z" as defined by date-time in RFC3339.
2513
3321
  """
2514
3322
  return pulumi.get(self, "format")
2515
3323
 
@@ -2815,7 +3623,7 @@ class JSONSchemaPropsArgs:
2815
3623
  @pulumi.getter
2816
3624
  def x_kubernetes_validations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ValidationRuleArgs']]]]:
2817
3625
  """
2818
- x-kubernetes-validations describes a list of validation rules written in the CEL expression language. This field is an alpha-level. Using this field requires the feature gate `CustomResourceValidationExpressions` to be enabled.
3626
+ x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
2819
3627
  """
2820
3628
  return pulumi.get(self, "x_kubernetes_validations")
2821
3629
 
@@ -2824,6 +3632,101 @@ class JSONSchemaPropsArgs:
2824
3632
  pulumi.set(self, "x_kubernetes_validations", value)
2825
3633
 
2826
3634
 
3635
+ if not MYPY:
3636
+ class SelectableFieldPatchArgsDict(TypedDict):
3637
+ """
3638
+ SelectableField specifies the JSON path of a field that may be used with field selectors.
3639
+ """
3640
+ json_path: NotRequired[pulumi.Input[str]]
3641
+ """
3642
+ jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.
3643
+ """
3644
+ elif False:
3645
+ SelectableFieldPatchArgsDict: TypeAlias = Mapping[str, Any]
3646
+
3647
+ @pulumi.input_type
3648
+ class SelectableFieldPatchArgs:
3649
+ def __init__(__self__, *,
3650
+ json_path: Optional[pulumi.Input[str]] = None):
3651
+ """
3652
+ SelectableField specifies the JSON path of a field that may be used with field selectors.
3653
+ :param pulumi.Input[str] json_path: jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.
3654
+ """
3655
+ if json_path is not None:
3656
+ pulumi.set(__self__, "json_path", json_path)
3657
+
3658
+ @property
3659
+ @pulumi.getter(name="jsonPath")
3660
+ def json_path(self) -> Optional[pulumi.Input[str]]:
3661
+ """
3662
+ jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.
3663
+ """
3664
+ return pulumi.get(self, "json_path")
3665
+
3666
+ @json_path.setter
3667
+ def json_path(self, value: Optional[pulumi.Input[str]]):
3668
+ pulumi.set(self, "json_path", value)
3669
+
3670
+
3671
+ if not MYPY:
3672
+ class SelectableFieldArgsDict(TypedDict):
3673
+ """
3674
+ SelectableField specifies the JSON path of a field that may be used with field selectors.
3675
+ """
3676
+ json_path: pulumi.Input[str]
3677
+ """
3678
+ jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.
3679
+ """
3680
+ elif False:
3681
+ SelectableFieldArgsDict: TypeAlias = Mapping[str, Any]
3682
+
3683
+ @pulumi.input_type
3684
+ class SelectableFieldArgs:
3685
+ def __init__(__self__, *,
3686
+ json_path: pulumi.Input[str]):
3687
+ """
3688
+ SelectableField specifies the JSON path of a field that may be used with field selectors.
3689
+ :param pulumi.Input[str] json_path: jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.
3690
+ """
3691
+ pulumi.set(__self__, "json_path", json_path)
3692
+
3693
+ @property
3694
+ @pulumi.getter(name="jsonPath")
3695
+ def json_path(self) -> pulumi.Input[str]:
3696
+ """
3697
+ jsonPath is a simple JSON path which is evaluated against each custom resource to produce a field selector value. Only JSON paths without the array notation are allowed. Must point to a field of type string, boolean or integer. Types with enum values and strings with formats are allowed. If jsonPath refers to absent field in a resource, the jsonPath evaluates to an empty string. Must not point to metdata fields. Required.
3698
+ """
3699
+ return pulumi.get(self, "json_path")
3700
+
3701
+ @json_path.setter
3702
+ def json_path(self, value: pulumi.Input[str]):
3703
+ pulumi.set(self, "json_path", value)
3704
+
3705
+
3706
+ if not MYPY:
3707
+ class ServiceReferencePatchArgsDict(TypedDict):
3708
+ """
3709
+ ServiceReference holds a reference to Service.legacy.k8s.io
3710
+ """
3711
+ name: NotRequired[pulumi.Input[str]]
3712
+ """
3713
+ name is the name of the service. Required
3714
+ """
3715
+ namespace: NotRequired[pulumi.Input[str]]
3716
+ """
3717
+ namespace is the namespace of the service. Required
3718
+ """
3719
+ path: NotRequired[pulumi.Input[str]]
3720
+ """
3721
+ path is an optional URL path at which the webhook will be contacted.
3722
+ """
3723
+ port: NotRequired[pulumi.Input[int]]
3724
+ """
3725
+ port is an optional service port at which the webhook will be contacted. `port` should be a valid port number (1-65535, inclusive). Defaults to 443 for backward compatibility.
3726
+ """
3727
+ elif False:
3728
+ ServiceReferencePatchArgsDict: TypeAlias = Mapping[str, Any]
3729
+
2827
3730
  @pulumi.input_type
2828
3731
  class ServiceReferencePatchArgs:
2829
3732
  def __init__(__self__, *,
@@ -2896,6 +3799,30 @@ class ServiceReferencePatchArgs:
2896
3799
  pulumi.set(self, "port", value)
2897
3800
 
2898
3801
 
3802
+ if not MYPY:
3803
+ class ServiceReferenceArgsDict(TypedDict):
3804
+ """
3805
+ ServiceReference holds a reference to Service.legacy.k8s.io
3806
+ """
3807
+ name: pulumi.Input[str]
3808
+ """
3809
+ name is the name of the service. Required
3810
+ """
3811
+ namespace: pulumi.Input[str]
3812
+ """
3813
+ namespace is the namespace of the service. Required
3814
+ """
3815
+ path: NotRequired[pulumi.Input[str]]
3816
+ """
3817
+ path is an optional URL path at which the webhook will be contacted.
3818
+ """
3819
+ port: NotRequired[pulumi.Input[int]]
3820
+ """
3821
+ port is an optional service port at which the webhook will be contacted. `port` should be a valid port number (1-65535, inclusive). Defaults to 443 for backward compatibility.
3822
+ """
3823
+ elif False:
3824
+ ServiceReferenceArgsDict: TypeAlias = Mapping[str, Any]
3825
+
2899
3826
  @pulumi.input_type
2900
3827
  class ServiceReferenceArgs:
2901
3828
  def __init__(__self__, *,
@@ -2966,6 +3893,76 @@ class ServiceReferenceArgs:
2966
3893
  pulumi.set(self, "port", value)
2967
3894
 
2968
3895
 
3896
+ if not MYPY:
3897
+ class ValidationRulePatchArgsDict(TypedDict):
3898
+ """
3899
+ ValidationRule describes a validation rule written in the CEL expression language.
3900
+ """
3901
+ field_path: NotRequired[pulumi.Input[str]]
3902
+ """
3903
+ fieldPath represents the field path returned when the validation fails. It must be a relative JSON path (i.e. with array notation) scoped to the location of this x-kubernetes-validations extension in the schema and refer to an existing field. e.g. when validation checks if a specific attribute `foo` under a map `testMap`, the fieldPath could be set to `.testMap.foo` If the validation checks two lists must have unique attributes, the fieldPath could be set to either of the list: e.g. `.testList` It does not support list numeric index. It supports child operation to refer to an existing field currently. Refer to [JSONPath support in Kubernetes](https://kubernetes.io/docs/reference/kubectl/jsonpath/) for more info. Numeric index of array is not supported. For field name which contains special characters, use `['specialName']` to refer the field name. e.g. for attribute `foo.34$` appears in a list `testList`, the fieldPath could be set to `.testList['foo.34$']`
3904
+ """
3905
+ message: NotRequired[pulumi.Input[str]]
3906
+ """
3907
+ Message represents the message displayed when validation fails. The message is required if the Rule contains line breaks. The message must not contain line breaks. If unset, the message is "failed rule: {Rule}". e.g. "must be a URL with the host matching spec.host"
3908
+ """
3909
+ message_expression: NotRequired[pulumi.Input[str]]
3910
+ """
3911
+ MessageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a rule, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. messageExpression has access to all the same variables as the rule; the only difference is the return type. Example: "x must be less than max ("+string(self.max)+")"
3912
+ """
3913
+ optional_old_self: NotRequired[pulumi.Input[bool]]
3914
+ """
3915
+ optionalOldSelf is used to opt a transition rule into evaluation even when the object is first created, or if the old object is missing the value.
3916
+
3917
+ When enabled `oldSelf` will be a CEL optional whose value will be `None` if there is no old value, or when the object is initially created.
3918
+
3919
+ You may check for presence of oldSelf using `oldSelf.hasValue()` and unwrap it after checking using `oldSelf.value()`. Check the CEL documentation for Optional types for more information: https://pkg.go.dev/github.com/google/cel-go/cel#OptionalTypes
3920
+
3921
+ May not be set unless `oldSelf` is used in `rule`.
3922
+ """
3923
+ reason: NotRequired[pulumi.Input[str]]
3924
+ """
3925
+ reason provides a machine-readable validation failure reason that is returned to the caller when a request fails this validation rule. The HTTP status code returned to the caller will match the reason of the reason of the first failed validation rule. The currently supported reasons are: "FieldValueInvalid", "FieldValueForbidden", "FieldValueRequired", "FieldValueDuplicate". If not set, default to use "FieldValueInvalid". All future added reasons must be accepted by clients when reading this value and unknown reasons should be treated as FieldValueInvalid.
3926
+ """
3927
+ rule: NotRequired[pulumi.Input[str]]
3928
+ """
3929
+ Rule represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec The Rule is scoped to the location of the x-kubernetes-validations extension in the schema. The `self` variable in the CEL expression is bound to the scoped value. Example: - Rule scoped to the root of a resource with a status subresource: {"rule": "self.status.actual <= self.spec.maxDesired"}
3930
+
3931
+ If the Rule is scoped to an object with properties, the accessible properties of the object are field selectable via `self.field` and field presence can be checked via `has(self.field)`. Null valued fields are treated as absent fields in CEL expressions. If the Rule is scoped to an object with additionalProperties (i.e. a map) the value of the map are accessible via `self[mapKey]`, map containment can be checked via `mapKey in self` and all entries of the map are accessible via CEL macros and functions such as `self.all(...)`. If the Rule is scoped to an array, the elements of the array are accessible via `self[i]` and also by macros and functions. If the Rule is scoped to a scalar, `self` is bound to the scalar value. Examples: - Rule scoped to a map of objects: {"rule": "self.components['Widget'].priority < 10"} - Rule scoped to a list of integers: {"rule": "self.values.all(value, value >= 0 && value < 100)"} - Rule scoped to a string value: {"rule": "self.startsWith('kube')"}
3932
+
3933
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object and from any x-kubernetes-embedded-resource annotated objects. No other metadata properties are accessible.
3934
+
3935
+ Unknown data preserved in custom resources via x-kubernetes-preserve-unknown-fields is not accessible in CEL expressions. This includes: - Unknown field values that are preserved by object schemas with x-kubernetes-preserve-unknown-fields. - Object properties where the property schema is of an "unknown type". An "unknown type" is recursively defined as:
3936
+ - A schema with no type and x-kubernetes-preserve-unknown-fields set to true
3937
+ - An array where the items schema is of an "unknown type"
3938
+ - An object where the additionalProperties schema is of an "unknown type"
3939
+
3940
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:
3941
+ "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if",
3942
+ "import", "let", "loop", "package", "namespace", "return".
3943
+ Examples:
3944
+ - Rule accessing a property named "namespace": {"rule": "self.__namespace__ > 0"}
3945
+ - Rule accessing a property named "x-prop": {"rule": "self.x__dash__prop > 0"}
3946
+ - Rule accessing a property named "redact__d": {"rule": "self.redact__underscores__d > 0"}
3947
+
3948
+ Equality on arrays with x-kubernetes-list-type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:
3949
+ - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and
3950
+ non-intersecting elements in `Y` are appended, retaining their partial order.
3951
+ - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values
3952
+ are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with
3953
+ non-intersecting keys are appended, retaining their partial order.
3954
+
3955
+ If `rule` makes use of the `oldSelf` variable it is implicitly a `transition rule`.
3956
+
3957
+ By default, the `oldSelf` variable is the same type as `self`. When `optionalOldSelf` is true, the `oldSelf` variable is a CEL optional
3958
+ variable whose value() is the same type as `self`.
3959
+ See the documentation for the `optionalOldSelf` field for details.
3960
+
3961
+ Transition rules by default are applied only on UPDATE requests and are skipped if an old value could not be found. You can opt a transition rule into unconditional evaluation by setting `optionalOldSelf` to true.
3962
+ """
3963
+ elif False:
3964
+ ValidationRulePatchArgsDict: TypeAlias = Mapping[str, Any]
3965
+
2969
3966
  @pulumi.input_type
2970
3967
  class ValidationRulePatchArgs:
2971
3968
  def __init__(__self__, *,
@@ -3146,6 +4143,76 @@ class ValidationRulePatchArgs:
3146
4143
  pulumi.set(self, "rule", value)
3147
4144
 
3148
4145
 
4146
+ if not MYPY:
4147
+ class ValidationRuleArgsDict(TypedDict):
4148
+ """
4149
+ ValidationRule describes a validation rule written in the CEL expression language.
4150
+ """
4151
+ rule: pulumi.Input[str]
4152
+ """
4153
+ Rule represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec The Rule is scoped to the location of the x-kubernetes-validations extension in the schema. The `self` variable in the CEL expression is bound to the scoped value. Example: - Rule scoped to the root of a resource with a status subresource: {"rule": "self.status.actual <= self.spec.maxDesired"}
4154
+
4155
+ If the Rule is scoped to an object with properties, the accessible properties of the object are field selectable via `self.field` and field presence can be checked via `has(self.field)`. Null valued fields are treated as absent fields in CEL expressions. If the Rule is scoped to an object with additionalProperties (i.e. a map) the value of the map are accessible via `self[mapKey]`, map containment can be checked via `mapKey in self` and all entries of the map are accessible via CEL macros and functions such as `self.all(...)`. If the Rule is scoped to an array, the elements of the array are accessible via `self[i]` and also by macros and functions. If the Rule is scoped to a scalar, `self` is bound to the scalar value. Examples: - Rule scoped to a map of objects: {"rule": "self.components['Widget'].priority < 10"} - Rule scoped to a list of integers: {"rule": "self.values.all(value, value >= 0 && value < 100)"} - Rule scoped to a string value: {"rule": "self.startsWith('kube')"}
4156
+
4157
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object and from any x-kubernetes-embedded-resource annotated objects. No other metadata properties are accessible.
4158
+
4159
+ Unknown data preserved in custom resources via x-kubernetes-preserve-unknown-fields is not accessible in CEL expressions. This includes: - Unknown field values that are preserved by object schemas with x-kubernetes-preserve-unknown-fields. - Object properties where the property schema is of an "unknown type". An "unknown type" is recursively defined as:
4160
+ - A schema with no type and x-kubernetes-preserve-unknown-fields set to true
4161
+ - An array where the items schema is of an "unknown type"
4162
+ - An object where the additionalProperties schema is of an "unknown type"
4163
+
4164
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Accessible property names are escaped according to the following rules when accessed in the expression: - '__' escapes to '__underscores__' - '.' escapes to '__dot__' - '-' escapes to '__dash__' - '/' escapes to '__slash__' - Property names that exactly match a CEL RESERVED keyword escape to '__{keyword}__'. The keywords are:
4165
+ "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if",
4166
+ "import", "let", "loop", "package", "namespace", "return".
4167
+ Examples:
4168
+ - Rule accessing a property named "namespace": {"rule": "self.__namespace__ > 0"}
4169
+ - Rule accessing a property named "x-prop": {"rule": "self.x__dash__prop > 0"}
4170
+ - Rule accessing a property named "redact__d": {"rule": "self.redact__underscores__d > 0"}
4171
+
4172
+ Equality on arrays with x-kubernetes-list-type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type:
4173
+ - 'set': `X + Y` performs a union where the array positions of all elements in `X` are preserved and
4174
+ non-intersecting elements in `Y` are appended, retaining their partial order.
4175
+ - 'map': `X + Y` performs a merge where the array positions of all keys in `X` are preserved but the values
4176
+ are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with
4177
+ non-intersecting keys are appended, retaining their partial order.
4178
+
4179
+ If `rule` makes use of the `oldSelf` variable it is implicitly a `transition rule`.
4180
+
4181
+ By default, the `oldSelf` variable is the same type as `self`. When `optionalOldSelf` is true, the `oldSelf` variable is a CEL optional
4182
+ variable whose value() is the same type as `self`.
4183
+ See the documentation for the `optionalOldSelf` field for details.
4184
+
4185
+ Transition rules by default are applied only on UPDATE requests and are skipped if an old value could not be found. You can opt a transition rule into unconditional evaluation by setting `optionalOldSelf` to true.
4186
+ """
4187
+ field_path: NotRequired[pulumi.Input[str]]
4188
+ """
4189
+ fieldPath represents the field path returned when the validation fails. It must be a relative JSON path (i.e. with array notation) scoped to the location of this x-kubernetes-validations extension in the schema and refer to an existing field. e.g. when validation checks if a specific attribute `foo` under a map `testMap`, the fieldPath could be set to `.testMap.foo` If the validation checks two lists must have unique attributes, the fieldPath could be set to either of the list: e.g. `.testList` It does not support list numeric index. It supports child operation to refer to an existing field currently. Refer to [JSONPath support in Kubernetes](https://kubernetes.io/docs/reference/kubectl/jsonpath/) for more info. Numeric index of array is not supported. For field name which contains special characters, use `['specialName']` to refer the field name. e.g. for attribute `foo.34$` appears in a list `testList`, the fieldPath could be set to `.testList['foo.34$']`
4190
+ """
4191
+ message: NotRequired[pulumi.Input[str]]
4192
+ """
4193
+ Message represents the message displayed when validation fails. The message is required if the Rule contains line breaks. The message must not contain line breaks. If unset, the message is "failed rule: {Rule}". e.g. "must be a URL with the host matching spec.host"
4194
+ """
4195
+ message_expression: NotRequired[pulumi.Input[str]]
4196
+ """
4197
+ MessageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a rule, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the runtime error is logged, and the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset, and the fact that messageExpression produced an empty string/string with only spaces/string with line breaks will be logged. messageExpression has access to all the same variables as the rule; the only difference is the return type. Example: "x must be less than max ("+string(self.max)+")"
4198
+ """
4199
+ optional_old_self: NotRequired[pulumi.Input[bool]]
4200
+ """
4201
+ optionalOldSelf is used to opt a transition rule into evaluation even when the object is first created, or if the old object is missing the value.
4202
+
4203
+ When enabled `oldSelf` will be a CEL optional whose value will be `None` if there is no old value, or when the object is initially created.
4204
+
4205
+ You may check for presence of oldSelf using `oldSelf.hasValue()` and unwrap it after checking using `oldSelf.value()`. Check the CEL documentation for Optional types for more information: https://pkg.go.dev/github.com/google/cel-go/cel#OptionalTypes
4206
+
4207
+ May not be set unless `oldSelf` is used in `rule`.
4208
+ """
4209
+ reason: NotRequired[pulumi.Input[str]]
4210
+ """
4211
+ reason provides a machine-readable validation failure reason that is returned to the caller when a request fails this validation rule. The HTTP status code returned to the caller will match the reason of the reason of the first failed validation rule. The currently supported reasons are: "FieldValueInvalid", "FieldValueForbidden", "FieldValueRequired", "FieldValueDuplicate". If not set, default to use "FieldValueInvalid". All future added reasons must be accepted by clients when reading this value and unknown reasons should be treated as FieldValueInvalid.
4212
+ """
4213
+ elif False:
4214
+ ValidationRuleArgsDict: TypeAlias = Mapping[str, Any]
4215
+
3149
4216
  @pulumi.input_type
3150
4217
  class ValidationRuleArgs:
3151
4218
  def __init__(__self__, *,
@@ -3325,6 +4392,38 @@ class ValidationRuleArgs:
3325
4392
  pulumi.set(self, "reason", value)
3326
4393
 
3327
4394
 
4395
+ if not MYPY:
4396
+ class WebhookClientConfigPatchArgsDict(TypedDict):
4397
+ """
4398
+ WebhookClientConfig contains the information to make a TLS connection with the webhook.
4399
+ """
4400
+ ca_bundle: NotRequired[pulumi.Input[str]]
4401
+ """
4402
+ caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.
4403
+ """
4404
+ service: NotRequired[pulumi.Input['ServiceReferencePatchArgsDict']]
4405
+ """
4406
+ service is a reference to the service for this webhook. Either service or url must be specified.
4407
+
4408
+ If the webhook is running within the cluster, then you should use `service`.
4409
+ """
4410
+ url: NotRequired[pulumi.Input[str]]
4411
+ """
4412
+ url gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.
4413
+
4414
+ The `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.
4415
+
4416
+ Please note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.
4417
+
4418
+ The scheme must be "https"; the URL must begin with "https://".
4419
+
4420
+ A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.
4421
+
4422
+ Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments ("#...") and query parameters ("?...") are not allowed, either.
4423
+ """
4424
+ elif False:
4425
+ WebhookClientConfigPatchArgsDict: TypeAlias = Mapping[str, Any]
4426
+
3328
4427
  @pulumi.input_type
3329
4428
  class WebhookClientConfigPatchArgs:
3330
4429
  def __init__(__self__, *,
@@ -3405,6 +4504,38 @@ class WebhookClientConfigPatchArgs:
3405
4504
  pulumi.set(self, "url", value)
3406
4505
 
3407
4506
 
4507
+ if not MYPY:
4508
+ class WebhookClientConfigArgsDict(TypedDict):
4509
+ """
4510
+ WebhookClientConfig contains the information to make a TLS connection with the webhook.
4511
+ """
4512
+ ca_bundle: NotRequired[pulumi.Input[str]]
4513
+ """
4514
+ caBundle is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. If unspecified, system trust roots on the apiserver are used.
4515
+ """
4516
+ service: NotRequired[pulumi.Input['ServiceReferenceArgsDict']]
4517
+ """
4518
+ service is a reference to the service for this webhook. Either service or url must be specified.
4519
+
4520
+ If the webhook is running within the cluster, then you should use `service`.
4521
+ """
4522
+ url: NotRequired[pulumi.Input[str]]
4523
+ """
4524
+ url gives the location of the webhook, in standard URL form (`scheme://host:port/path`). Exactly one of `url` or `service` must be specified.
4525
+
4526
+ The `host` should not refer to a service running in the cluster; use the `service` field instead. The host might be resolved via external DNS in some apiservers (e.g., `kube-apiserver` cannot resolve in-cluster DNS as that would be a layering violation). `host` may also be an IP address.
4527
+
4528
+ Please note that using `localhost` or `127.0.0.1` as a `host` is risky unless you take great care to run this webhook on all hosts which run an apiserver which might need to make calls to this webhook. Such installs are likely to be non-portable, i.e., not easy to turn up in a new cluster.
4529
+
4530
+ The scheme must be "https"; the URL must begin with "https://".
4531
+
4532
+ A path is optional, and if present may be any string permissible in a URL. You may use the path to pass an arbitrary string to the webhook, for example, a cluster identifier.
4533
+
4534
+ Attempting to use a user or basic auth e.g. "user:password@" is not allowed. Fragments ("#...") and query parameters ("?...") are not allowed, either.
4535
+ """
4536
+ elif False:
4537
+ WebhookClientConfigArgsDict: TypeAlias = Mapping[str, Any]
4538
+
3408
4539
  @pulumi.input_type
3409
4540
  class WebhookClientConfigArgs:
3410
4541
  def __init__(__self__, *,
@@ -3485,6 +4616,22 @@ class WebhookClientConfigArgs:
3485
4616
  pulumi.set(self, "url", value)
3486
4617
 
3487
4618
 
4619
+ if not MYPY:
4620
+ class WebhookConversionPatchArgsDict(TypedDict):
4621
+ """
4622
+ WebhookConversion describes how to call a conversion webhook
4623
+ """
4624
+ client_config: NotRequired[pulumi.Input['WebhookClientConfigPatchArgsDict']]
4625
+ """
4626
+ clientConfig is the instructions for how to call the webhook if strategy is `Webhook`.
4627
+ """
4628
+ conversion_review_versions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4629
+ """
4630
+ conversionReviewVersions is an ordered list of preferred `ConversionReview` versions the Webhook expects. The API server will use the first version in the list which it supports. If none of the versions specified in this list are supported by API server, conversion will fail for the custom resource. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail.
4631
+ """
4632
+ elif False:
4633
+ WebhookConversionPatchArgsDict: TypeAlias = Mapping[str, Any]
4634
+
3488
4635
  @pulumi.input_type
3489
4636
  class WebhookConversionPatchArgs:
3490
4637
  def __init__(__self__, *,
@@ -3525,6 +4672,22 @@ class WebhookConversionPatchArgs:
3525
4672
  pulumi.set(self, "conversion_review_versions", value)
3526
4673
 
3527
4674
 
4675
+ if not MYPY:
4676
+ class WebhookConversionArgsDict(TypedDict):
4677
+ """
4678
+ WebhookConversion describes how to call a conversion webhook
4679
+ """
4680
+ conversion_review_versions: pulumi.Input[Sequence[pulumi.Input[str]]]
4681
+ """
4682
+ conversionReviewVersions is an ordered list of preferred `ConversionReview` versions the Webhook expects. The API server will use the first version in the list which it supports. If none of the versions specified in this list are supported by API server, conversion will fail for the custom resource. If a persisted Webhook configuration specifies allowed versions and does not include any versions known to the API Server, calls to the webhook will fail.
4683
+ """
4684
+ client_config: NotRequired[pulumi.Input['WebhookClientConfigArgsDict']]
4685
+ """
4686
+ clientConfig is the instructions for how to call the webhook if strategy is `Webhook`.
4687
+ """
4688
+ elif False:
4689
+ WebhookConversionArgsDict: TypeAlias = Mapping[str, Any]
4690
+
3528
4691
  @pulumi.input_type
3529
4692
  class WebhookConversionArgs:
3530
4693
  def __init__(__self__, *,