pulumi-kubernetes 4.17.0a1723576835__py3-none-any.whl → 4.26.0a1769215986__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.
Files changed (703) hide show
  1. pulumi_kubernetes/__init__.py +73 -2
  2. pulumi_kubernetes/_inputs.py +49 -49
  3. pulumi_kubernetes/_utilities.py +9 -5
  4. pulumi_kubernetes/admissionregistration/__init__.py +1 -0
  5. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfiguration.py +26 -25
  6. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationList.py +26 -25
  7. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationPatch.py +26 -25
  8. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicy.py +27 -26
  9. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBinding.py +26 -25
  10. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingList.py +26 -25
  11. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingPatch.py +26 -25
  12. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyList.py +26 -25
  13. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyPatch.py +27 -26
  14. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfiguration.py +26 -25
  15. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationList.py +26 -25
  16. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationPatch.py +26 -25
  17. pulumi_kubernetes/admissionregistration/v1/__init__.py +1 -0
  18. pulumi_kubernetes/admissionregistration/v1/_inputs.py +721 -721
  19. pulumi_kubernetes/admissionregistration/v1/outputs.py +516 -516
  20. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicy.py +215 -0
  21. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBinding.py +223 -0
  22. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingList.py +216 -0
  23. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingPatch.py +235 -0
  24. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyList.py +216 -0
  25. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyPatch.py +227 -0
  26. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicy.py +27 -26
  27. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBinding.py +26 -33
  28. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingList.py +26 -25
  29. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingPatch.py +26 -33
  30. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyList.py +26 -25
  31. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyPatch.py +27 -26
  32. pulumi_kubernetes/admissionregistration/v1alpha1/__init__.py +7 -0
  33. pulumi_kubernetes/admissionregistration/v1alpha1/_inputs.py +2219 -716
  34. pulumi_kubernetes/admissionregistration/v1alpha1/outputs.py +1649 -530
  35. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfiguration.py +26 -25
  36. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationList.py +26 -25
  37. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationPatch.py +26 -25
  38. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicy.py +27 -26
  39. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBinding.py +26 -25
  40. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingList.py +26 -25
  41. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingPatch.py +26 -25
  42. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyList.py +26 -25
  43. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyPatch.py +27 -26
  44. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfiguration.py +26 -25
  45. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationList.py +26 -25
  46. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationPatch.py +26 -25
  47. pulumi_kubernetes/admissionregistration/v1beta1/__init__.py +1 -0
  48. pulumi_kubernetes/admissionregistration/v1beta1/_inputs.py +717 -717
  49. pulumi_kubernetes/admissionregistration/v1beta1/outputs.py +512 -512
  50. pulumi_kubernetes/apiextensions/__init__.py +1 -0
  51. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinition.py +27 -26
  52. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionList.py +26 -25
  53. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionPatch.py +27 -26
  54. pulumi_kubernetes/apiextensions/v1/__init__.py +1 -0
  55. pulumi_kubernetes/apiextensions/v1/_inputs.py +912 -912
  56. pulumi_kubernetes/apiextensions/v1/outputs.py +624 -624
  57. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinition.py +27 -26
  58. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionList.py +26 -25
  59. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionPatch.py +27 -26
  60. pulumi_kubernetes/apiextensions/v1beta1/__init__.py +1 -0
  61. pulumi_kubernetes/apiextensions/v1beta1/_inputs.py +834 -834
  62. pulumi_kubernetes/apiextensions/v1beta1/outputs.py +572 -572
  63. pulumi_kubernetes/apiregistration/__init__.py +1 -0
  64. pulumi_kubernetes/apiregistration/v1/APIService.py +27 -26
  65. pulumi_kubernetes/apiregistration/v1/APIServiceList.py +26 -25
  66. pulumi_kubernetes/apiregistration/v1/APIServicePatch.py +27 -26
  67. pulumi_kubernetes/apiregistration/v1/__init__.py +1 -0
  68. pulumi_kubernetes/apiregistration/v1/_inputs.py +157 -157
  69. pulumi_kubernetes/apiregistration/v1/outputs.py +128 -128
  70. pulumi_kubernetes/apiregistration/v1beta1/APIService.py +27 -26
  71. pulumi_kubernetes/apiregistration/v1beta1/APIServiceList.py +26 -25
  72. pulumi_kubernetes/apiregistration/v1beta1/APIServicePatch.py +27 -26
  73. pulumi_kubernetes/apiregistration/v1beta1/__init__.py +1 -0
  74. pulumi_kubernetes/apiregistration/v1beta1/_inputs.py +157 -157
  75. pulumi_kubernetes/apiregistration/v1beta1/outputs.py +128 -128
  76. pulumi_kubernetes/apps/__init__.py +1 -0
  77. pulumi_kubernetes/apps/v1/ControllerRevision.py +36 -35
  78. pulumi_kubernetes/apps/v1/ControllerRevisionList.py +26 -25
  79. pulumi_kubernetes/apps/v1/ControllerRevisionPatch.py +36 -35
  80. pulumi_kubernetes/apps/v1/DaemonSet.py +27 -26
  81. pulumi_kubernetes/apps/v1/DaemonSetList.py +26 -25
  82. pulumi_kubernetes/apps/v1/DaemonSetPatch.py +27 -26
  83. pulumi_kubernetes/apps/v1/Deployment.py +27 -26
  84. pulumi_kubernetes/apps/v1/DeploymentList.py +26 -25
  85. pulumi_kubernetes/apps/v1/DeploymentPatch.py +27 -26
  86. pulumi_kubernetes/apps/v1/ReplicaSet.py +27 -26
  87. pulumi_kubernetes/apps/v1/ReplicaSetList.py +30 -29
  88. pulumi_kubernetes/apps/v1/ReplicaSetPatch.py +27 -26
  89. pulumi_kubernetes/apps/v1/StatefulSet.py +27 -26
  90. pulumi_kubernetes/apps/v1/StatefulSetList.py +26 -25
  91. pulumi_kubernetes/apps/v1/StatefulSetPatch.py +27 -26
  92. pulumi_kubernetes/apps/v1/__init__.py +1 -0
  93. pulumi_kubernetes/apps/v1/_inputs.py +835 -782
  94. pulumi_kubernetes/apps/v1/outputs.py +806 -733
  95. pulumi_kubernetes/apps/v1beta1/ControllerRevision.py +36 -35
  96. pulumi_kubernetes/apps/v1beta1/ControllerRevisionList.py +26 -25
  97. pulumi_kubernetes/apps/v1beta1/ControllerRevisionPatch.py +36 -35
  98. pulumi_kubernetes/apps/v1beta1/Deployment.py +27 -26
  99. pulumi_kubernetes/apps/v1beta1/DeploymentList.py +26 -25
  100. pulumi_kubernetes/apps/v1beta1/DeploymentPatch.py +27 -26
  101. pulumi_kubernetes/apps/v1beta1/StatefulSet.py +27 -26
  102. pulumi_kubernetes/apps/v1beta1/StatefulSetList.py +26 -25
  103. pulumi_kubernetes/apps/v1beta1/StatefulSetPatch.py +27 -26
  104. pulumi_kubernetes/apps/v1beta1/__init__.py +1 -0
  105. pulumi_kubernetes/apps/v1beta1/_inputs.py +409 -409
  106. pulumi_kubernetes/apps/v1beta1/outputs.py +381 -381
  107. pulumi_kubernetes/apps/v1beta2/ControllerRevision.py +36 -35
  108. pulumi_kubernetes/apps/v1beta2/ControllerRevisionList.py +26 -25
  109. pulumi_kubernetes/apps/v1beta2/ControllerRevisionPatch.py +36 -35
  110. pulumi_kubernetes/apps/v1beta2/DaemonSet.py +27 -26
  111. pulumi_kubernetes/apps/v1beta2/DaemonSetList.py +26 -25
  112. pulumi_kubernetes/apps/v1beta2/DaemonSetPatch.py +27 -26
  113. pulumi_kubernetes/apps/v1beta2/Deployment.py +27 -26
  114. pulumi_kubernetes/apps/v1beta2/DeploymentList.py +26 -25
  115. pulumi_kubernetes/apps/v1beta2/DeploymentPatch.py +27 -26
  116. pulumi_kubernetes/apps/v1beta2/ReplicaSet.py +27 -26
  117. pulumi_kubernetes/apps/v1beta2/ReplicaSetList.py +26 -25
  118. pulumi_kubernetes/apps/v1beta2/ReplicaSetPatch.py +27 -26
  119. pulumi_kubernetes/apps/v1beta2/StatefulSet.py +27 -26
  120. pulumi_kubernetes/apps/v1beta2/StatefulSetList.py +26 -25
  121. pulumi_kubernetes/apps/v1beta2/StatefulSetPatch.py +27 -26
  122. pulumi_kubernetes/apps/v1beta2/__init__.py +1 -0
  123. pulumi_kubernetes/apps/v1beta2/_inputs.py +655 -655
  124. pulumi_kubernetes/apps/v1beta2/outputs.py +645 -645
  125. pulumi_kubernetes/auditregistration/__init__.py +1 -0
  126. pulumi_kubernetes/auditregistration/v1alpha1/AuditSink.py +26 -25
  127. pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkList.py +26 -25
  128. pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkPatch.py +26 -25
  129. pulumi_kubernetes/auditregistration/v1alpha1/__init__.py +1 -0
  130. pulumi_kubernetes/auditregistration/v1alpha1/_inputs.py +145 -145
  131. pulumi_kubernetes/auditregistration/v1alpha1/outputs.py +101 -101
  132. pulumi_kubernetes/autoscaling/__init__.py +1 -0
  133. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscaler.py +27 -26
  134. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerList.py +26 -25
  135. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerPatch.py +27 -26
  136. pulumi_kubernetes/autoscaling/v1/__init__.py +1 -0
  137. pulumi_kubernetes/autoscaling/v1/_inputs.py +120 -120
  138. pulumi_kubernetes/autoscaling/v1/outputs.py +102 -102
  139. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscaler.py +27 -26
  140. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerList.py +26 -25
  141. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerPatch.py +27 -26
  142. pulumi_kubernetes/autoscaling/v2/__init__.py +1 -0
  143. pulumi_kubernetes/autoscaling/v2/_inputs.py +500 -420
  144. pulumi_kubernetes/autoscaling/v2/outputs.py +438 -382
  145. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscaler.py +27 -26
  146. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerList.py +26 -25
  147. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerPatch.py +27 -26
  148. pulumi_kubernetes/autoscaling/v2beta1/__init__.py +1 -0
  149. pulumi_kubernetes/autoscaling/v2beta1/_inputs.py +451 -451
  150. pulumi_kubernetes/autoscaling/v2beta1/outputs.py +424 -424
  151. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscaler.py +27 -26
  152. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerList.py +26 -25
  153. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerPatch.py +27 -26
  154. pulumi_kubernetes/autoscaling/v2beta2/__init__.py +1 -0
  155. pulumi_kubernetes/autoscaling/v2beta2/_inputs.py +398 -398
  156. pulumi_kubernetes/autoscaling/v2beta2/outputs.py +366 -366
  157. pulumi_kubernetes/batch/__init__.py +1 -0
  158. pulumi_kubernetes/batch/v1/CronJob.py +27 -26
  159. pulumi_kubernetes/batch/v1/CronJobList.py +26 -25
  160. pulumi_kubernetes/batch/v1/CronJobPatch.py +27 -26
  161. pulumi_kubernetes/batch/v1/Job.py +27 -26
  162. pulumi_kubernetes/batch/v1/JobList.py +26 -25
  163. pulumi_kubernetes/batch/v1/JobPatch.py +27 -26
  164. pulumi_kubernetes/batch/v1/__init__.py +1 -0
  165. pulumi_kubernetes/batch/v1/_inputs.py +508 -538
  166. pulumi_kubernetes/batch/v1/outputs.py +427 -451
  167. pulumi_kubernetes/batch/v1beta1/CronJob.py +27 -26
  168. pulumi_kubernetes/batch/v1beta1/CronJobList.py +26 -25
  169. pulumi_kubernetes/batch/v1beta1/CronJobPatch.py +27 -26
  170. pulumi_kubernetes/batch/v1beta1/__init__.py +1 -0
  171. pulumi_kubernetes/batch/v1beta1/_inputs.py +101 -101
  172. pulumi_kubernetes/batch/v1beta1/outputs.py +76 -76
  173. pulumi_kubernetes/batch/v2alpha1/CronJob.py +27 -26
  174. pulumi_kubernetes/batch/v2alpha1/CronJobList.py +26 -25
  175. pulumi_kubernetes/batch/v2alpha1/CronJobPatch.py +27 -26
  176. pulumi_kubernetes/batch/v2alpha1/__init__.py +1 -0
  177. pulumi_kubernetes/batch/v2alpha1/_inputs.py +101 -101
  178. pulumi_kubernetes/batch/v2alpha1/outputs.py +76 -76
  179. pulumi_kubernetes/certificates/__init__.py +1 -0
  180. pulumi_kubernetes/certificates/v1/CertificateSigningRequest.py +27 -26
  181. pulumi_kubernetes/certificates/v1/CertificateSigningRequestList.py +26 -25
  182. pulumi_kubernetes/certificates/v1/CertificateSigningRequestPatch.py +27 -26
  183. pulumi_kubernetes/certificates/v1/__init__.py +1 -0
  184. pulumi_kubernetes/certificates/v1/_inputs.py +155 -155
  185. pulumi_kubernetes/certificates/v1/outputs.py +134 -134
  186. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundle.py +28 -25
  187. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundleList.py +26 -25
  188. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundlePatch.py +28 -25
  189. pulumi_kubernetes/certificates/v1alpha1/__init__.py +1 -0
  190. pulumi_kubernetes/certificates/v1alpha1/_inputs.py +39 -39
  191. pulumi_kubernetes/certificates/v1alpha1/outputs.py +27 -27
  192. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequest.py +27 -26
  193. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestList.py +26 -25
  194. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestPatch.py +27 -26
  195. pulumi_kubernetes/certificates/v1beta1/ClusterTrustBundle.py +226 -0
  196. pulumi_kubernetes/certificates/v1beta1/ClusterTrustBundleList.py +216 -0
  197. pulumi_kubernetes/certificates/v1beta1/ClusterTrustBundlePatch.py +237 -0
  198. pulumi_kubernetes/certificates/v1beta1/__init__.py +4 -0
  199. pulumi_kubernetes/certificates/v1beta1/_inputs.py +436 -144
  200. pulumi_kubernetes/certificates/v1beta1/outputs.py +369 -128
  201. pulumi_kubernetes/coordination/__init__.py +4 -0
  202. pulumi_kubernetes/coordination/v1/Lease.py +26 -25
  203. pulumi_kubernetes/coordination/v1/LeaseList.py +26 -25
  204. pulumi_kubernetes/coordination/v1/LeasePatch.py +26 -25
  205. pulumi_kubernetes/coordination/v1/__init__.py +1 -0
  206. pulumi_kubernetes/coordination/v1/_inputs.py +99 -99
  207. pulumi_kubernetes/coordination/v1/outputs.py +67 -67
  208. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidate.py +28 -25
  209. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidateList.py +26 -25
  210. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidatePatch.py +28 -25
  211. pulumi_kubernetes/coordination/v1alpha1/__init__.py +1 -0
  212. pulumi_kubernetes/coordination/v1alpha1/_inputs.py +87 -87
  213. pulumi_kubernetes/coordination/v1alpha1/outputs.py +59 -59
  214. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidate.py +217 -0
  215. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidateList.py +216 -0
  216. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidatePatch.py +229 -0
  217. pulumi_kubernetes/coordination/v1alpha2/__init__.py +13 -0
  218. pulumi_kubernetes/coordination/v1alpha2/_inputs.py +393 -0
  219. pulumi_kubernetes/coordination/v1alpha2/outputs.py +313 -0
  220. pulumi_kubernetes/coordination/v1beta1/Lease.py +26 -25
  221. pulumi_kubernetes/coordination/v1beta1/LeaseCandidate.py +217 -0
  222. pulumi_kubernetes/coordination/v1beta1/LeaseCandidateList.py +216 -0
  223. pulumi_kubernetes/coordination/v1beta1/LeaseCandidatePatch.py +229 -0
  224. pulumi_kubernetes/coordination/v1beta1/LeaseList.py +26 -25
  225. pulumi_kubernetes/coordination/v1beta1/LeasePatch.py +26 -25
  226. pulumi_kubernetes/coordination/v1beta1/__init__.py +4 -0
  227. pulumi_kubernetes/coordination/v1beta1/_inputs.py +446 -75
  228. pulumi_kubernetes/coordination/v1beta1/outputs.py +343 -51
  229. pulumi_kubernetes/core/__init__.py +1 -0
  230. pulumi_kubernetes/core/v1/Binding.py +28 -27
  231. pulumi_kubernetes/core/v1/BindingPatch.py +28 -27
  232. pulumi_kubernetes/core/v1/ConfigMap.py +54 -53
  233. pulumi_kubernetes/core/v1/ConfigMapList.py +26 -25
  234. pulumi_kubernetes/core/v1/ConfigMapPatch.py +54 -53
  235. pulumi_kubernetes/core/v1/Endpoints.py +34 -25
  236. pulumi_kubernetes/core/v1/EndpointsList.py +28 -27
  237. pulumi_kubernetes/core/v1/EndpointsPatch.py +34 -25
  238. pulumi_kubernetes/core/v1/Event.py +132 -131
  239. pulumi_kubernetes/core/v1/EventList.py +26 -25
  240. pulumi_kubernetes/core/v1/EventPatch.py +132 -131
  241. pulumi_kubernetes/core/v1/LimitRange.py +26 -25
  242. pulumi_kubernetes/core/v1/LimitRangeList.py +26 -25
  243. pulumi_kubernetes/core/v1/LimitRangePatch.py +26 -25
  244. pulumi_kubernetes/core/v1/Namespace.py +27 -26
  245. pulumi_kubernetes/core/v1/NamespaceList.py +26 -25
  246. pulumi_kubernetes/core/v1/NamespacePatch.py +27 -26
  247. pulumi_kubernetes/core/v1/Node.py +27 -26
  248. pulumi_kubernetes/core/v1/NodeList.py +26 -25
  249. pulumi_kubernetes/core/v1/NodePatch.py +27 -26
  250. pulumi_kubernetes/core/v1/PersistentVolume.py +27 -26
  251. pulumi_kubernetes/core/v1/PersistentVolumeClaim.py +27 -26
  252. pulumi_kubernetes/core/v1/PersistentVolumeClaimList.py +26 -25
  253. pulumi_kubernetes/core/v1/PersistentVolumeClaimPatch.py +27 -26
  254. pulumi_kubernetes/core/v1/PersistentVolumeList.py +26 -25
  255. pulumi_kubernetes/core/v1/PersistentVolumePatch.py +27 -26
  256. pulumi_kubernetes/core/v1/Pod.py +27 -26
  257. pulumi_kubernetes/core/v1/PodList.py +26 -25
  258. pulumi_kubernetes/core/v1/PodPatch.py +27 -26
  259. pulumi_kubernetes/core/v1/PodTemplate.py +26 -25
  260. pulumi_kubernetes/core/v1/PodTemplateList.py +26 -25
  261. pulumi_kubernetes/core/v1/PodTemplatePatch.py +26 -25
  262. pulumi_kubernetes/core/v1/ReplicationController.py +27 -26
  263. pulumi_kubernetes/core/v1/ReplicationControllerList.py +26 -25
  264. pulumi_kubernetes/core/v1/ReplicationControllerPatch.py +27 -26
  265. pulumi_kubernetes/core/v1/ResourceQuota.py +27 -26
  266. pulumi_kubernetes/core/v1/ResourceQuotaList.py +26 -25
  267. pulumi_kubernetes/core/v1/ResourceQuotaPatch.py +27 -26
  268. pulumi_kubernetes/core/v1/Secret.py +64 -63
  269. pulumi_kubernetes/core/v1/SecretList.py +26 -25
  270. pulumi_kubernetes/core/v1/SecretPatch.py +68 -65
  271. pulumi_kubernetes/core/v1/Service.py +33 -48
  272. pulumi_kubernetes/core/v1/ServiceAccount.py +42 -41
  273. pulumi_kubernetes/core/v1/ServiceAccountList.py +26 -25
  274. pulumi_kubernetes/core/v1/ServiceAccountPatch.py +42 -41
  275. pulumi_kubernetes/core/v1/ServiceList.py +26 -25
  276. pulumi_kubernetes/core/v1/ServicePatch.py +33 -48
  277. pulumi_kubernetes/core/v1/__init__.py +1 -0
  278. pulumi_kubernetes/core/v1/_enums.py +4 -1
  279. pulumi_kubernetes/core/v1/_inputs.py +7862 -7453
  280. pulumi_kubernetes/core/v1/outputs.py +5980 -5608
  281. pulumi_kubernetes/discovery/__init__.py +1 -0
  282. pulumi_kubernetes/discovery/v1/EndpointSlice.py +46 -45
  283. pulumi_kubernetes/discovery/v1/EndpointSliceList.py +26 -25
  284. pulumi_kubernetes/discovery/v1/EndpointSlicePatch.py +46 -45
  285. pulumi_kubernetes/discovery/v1/__init__.py +1 -0
  286. pulumi_kubernetes/discovery/v1/_inputs.py +334 -219
  287. pulumi_kubernetes/discovery/v1/outputs.py +224 -149
  288. pulumi_kubernetes/discovery/v1beta1/EndpointSlice.py +38 -37
  289. pulumi_kubernetes/discovery/v1beta1/EndpointSliceList.py +26 -25
  290. pulumi_kubernetes/discovery/v1beta1/EndpointSlicePatch.py +38 -37
  291. pulumi_kubernetes/discovery/v1beta1/__init__.py +1 -0
  292. pulumi_kubernetes/discovery/v1beta1/_inputs.py +158 -158
  293. pulumi_kubernetes/discovery/v1beta1/outputs.py +108 -108
  294. pulumi_kubernetes/events/__init__.py +1 -0
  295. pulumi_kubernetes/events/v1/Event.py +132 -131
  296. pulumi_kubernetes/events/v1/EventList.py +26 -25
  297. pulumi_kubernetes/events/v1/EventPatch.py +132 -131
  298. pulumi_kubernetes/events/v1/__init__.py +1 -0
  299. pulumi_kubernetes/events/v1/_inputs.py +102 -102
  300. pulumi_kubernetes/events/v1/outputs.py +70 -70
  301. pulumi_kubernetes/events/v1beta1/Event.py +132 -131
  302. pulumi_kubernetes/events/v1beta1/EventList.py +26 -25
  303. pulumi_kubernetes/events/v1beta1/EventPatch.py +132 -131
  304. pulumi_kubernetes/events/v1beta1/__init__.py +1 -0
  305. pulumi_kubernetes/events/v1beta1/_inputs.py +114 -114
  306. pulumi_kubernetes/events/v1beta1/outputs.py +78 -78
  307. pulumi_kubernetes/extensions/__init__.py +1 -0
  308. pulumi_kubernetes/extensions/v1beta1/DaemonSet.py +27 -26
  309. pulumi_kubernetes/extensions/v1beta1/DaemonSetList.py +26 -25
  310. pulumi_kubernetes/extensions/v1beta1/DaemonSetPatch.py +27 -26
  311. pulumi_kubernetes/extensions/v1beta1/Deployment.py +27 -26
  312. pulumi_kubernetes/extensions/v1beta1/DeploymentList.py +26 -25
  313. pulumi_kubernetes/extensions/v1beta1/DeploymentPatch.py +27 -26
  314. pulumi_kubernetes/extensions/v1beta1/Ingress.py +27 -26
  315. pulumi_kubernetes/extensions/v1beta1/IngressList.py +26 -25
  316. pulumi_kubernetes/extensions/v1beta1/IngressPatch.py +27 -26
  317. pulumi_kubernetes/extensions/v1beta1/NetworkPolicy.py +26 -25
  318. pulumi_kubernetes/extensions/v1beta1/NetworkPolicyList.py +26 -25
  319. pulumi_kubernetes/extensions/v1beta1/NetworkPolicyPatch.py +26 -25
  320. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicy.py +26 -25
  321. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyList.py +26 -25
  322. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyPatch.py +26 -25
  323. pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py +27 -26
  324. pulumi_kubernetes/extensions/v1beta1/ReplicaSetList.py +26 -25
  325. pulumi_kubernetes/extensions/v1beta1/ReplicaSetPatch.py +27 -26
  326. pulumi_kubernetes/extensions/v1beta1/__init__.py +1 -0
  327. pulumi_kubernetes/extensions/v1beta1/_inputs.py +1097 -1097
  328. pulumi_kubernetes/extensions/v1beta1/outputs.py +899 -899
  329. pulumi_kubernetes/flowcontrol/__init__.py +1 -0
  330. pulumi_kubernetes/flowcontrol/v1/FlowSchema.py +27 -26
  331. pulumi_kubernetes/flowcontrol/v1/FlowSchemaList.py +26 -25
  332. pulumi_kubernetes/flowcontrol/v1/FlowSchemaPatch.py +27 -26
  333. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfiguration.py +27 -26
  334. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationList.py +26 -25
  335. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationPatch.py +27 -26
  336. pulumi_kubernetes/flowcontrol/v1/__init__.py +1 -0
  337. pulumi_kubernetes/flowcontrol/v1/_inputs.py +419 -419
  338. pulumi_kubernetes/flowcontrol/v1/outputs.py +333 -333
  339. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchema.py +27 -26
  340. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaList.py +26 -25
  341. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaPatch.py +27 -26
  342. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfiguration.py +27 -26
  343. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationList.py +26 -25
  344. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationPatch.py +27 -26
  345. pulumi_kubernetes/flowcontrol/v1alpha1/__init__.py +1 -0
  346. pulumi_kubernetes/flowcontrol/v1alpha1/_inputs.py +369 -369
  347. pulumi_kubernetes/flowcontrol/v1alpha1/outputs.py +299 -299
  348. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchema.py +27 -26
  349. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaList.py +26 -25
  350. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaPatch.py +27 -26
  351. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfiguration.py +27 -26
  352. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationList.py +26 -25
  353. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationPatch.py +27 -26
  354. pulumi_kubernetes/flowcontrol/v1beta1/__init__.py +1 -0
  355. pulumi_kubernetes/flowcontrol/v1beta1/_inputs.py +369 -369
  356. pulumi_kubernetes/flowcontrol/v1beta1/outputs.py +299 -299
  357. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchema.py +27 -26
  358. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaList.py +26 -25
  359. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaPatch.py +27 -26
  360. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfiguration.py +27 -26
  361. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationList.py +26 -25
  362. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationPatch.py +27 -26
  363. pulumi_kubernetes/flowcontrol/v1beta2/__init__.py +1 -0
  364. pulumi_kubernetes/flowcontrol/v1beta2/_inputs.py +419 -419
  365. pulumi_kubernetes/flowcontrol/v1beta2/outputs.py +333 -333
  366. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchema.py +27 -26
  367. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaList.py +26 -25
  368. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaPatch.py +27 -26
  369. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfiguration.py +27 -26
  370. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationList.py +26 -25
  371. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationPatch.py +27 -26
  372. pulumi_kubernetes/flowcontrol/v1beta3/__init__.py +1 -0
  373. pulumi_kubernetes/flowcontrol/v1beta3/_inputs.py +431 -431
  374. pulumi_kubernetes/flowcontrol/v1beta3/outputs.py +341 -341
  375. pulumi_kubernetes/helm/__init__.py +1 -0
  376. pulumi_kubernetes/helm/v3/Release.py +317 -316
  377. pulumi_kubernetes/helm/v3/__init__.py +1 -0
  378. pulumi_kubernetes/helm/v3/_inputs.py +39 -39
  379. pulumi_kubernetes/helm/v3/outputs.py +55 -55
  380. pulumi_kubernetes/helm/v4/Chart.py +114 -87
  381. pulumi_kubernetes/helm/v4/__init__.py +1 -0
  382. pulumi_kubernetes/helm/v4/_inputs.py +36 -36
  383. pulumi_kubernetes/kustomize/__init__.py +1 -0
  384. pulumi_kubernetes/kustomize/v2/Directory.py +36 -35
  385. pulumi_kubernetes/kustomize/v2/__init__.py +1 -0
  386. pulumi_kubernetes/meta/__init__.py +1 -0
  387. pulumi_kubernetes/meta/v1/Status.py +58 -57
  388. pulumi_kubernetes/meta/v1/StatusPatch.py +58 -57
  389. pulumi_kubernetes/meta/v1/__init__.py +1 -0
  390. pulumi_kubernetes/meta/v1/_inputs.py +551 -551
  391. pulumi_kubernetes/meta/v1/outputs.py +395 -395
  392. pulumi_kubernetes/networking/__init__.py +1 -0
  393. pulumi_kubernetes/networking/v1/IPAddress.py +217 -0
  394. pulumi_kubernetes/networking/v1/IPAddressList.py +216 -0
  395. pulumi_kubernetes/networking/v1/IPAddressPatch.py +229 -0
  396. pulumi_kubernetes/networking/v1/Ingress.py +27 -26
  397. pulumi_kubernetes/networking/v1/IngressClass.py +26 -25
  398. pulumi_kubernetes/networking/v1/IngressClassList.py +26 -25
  399. pulumi_kubernetes/networking/v1/IngressClassPatch.py +26 -25
  400. pulumi_kubernetes/networking/v1/IngressList.py +26 -25
  401. pulumi_kubernetes/networking/v1/IngressPatch.py +27 -26
  402. pulumi_kubernetes/networking/v1/NetworkPolicy.py +27 -26
  403. pulumi_kubernetes/networking/v1/NetworkPolicyList.py +26 -25
  404. pulumi_kubernetes/networking/v1/NetworkPolicyPatch.py +27 -26
  405. pulumi_kubernetes/networking/v1/ServiceCIDR.py +227 -0
  406. pulumi_kubernetes/networking/v1/ServiceCIDRList.py +216 -0
  407. pulumi_kubernetes/networking/v1/ServiceCIDRPatch.py +239 -0
  408. pulumi_kubernetes/networking/v1/__init__.py +7 -0
  409. pulumi_kubernetes/networking/v1/_inputs.py +970 -371
  410. pulumi_kubernetes/networking/v1/outputs.py +746 -285
  411. pulumi_kubernetes/networking/v1alpha1/ClusterCIDR.py +26 -25
  412. pulumi_kubernetes/networking/v1alpha1/ClusterCIDRList.py +26 -25
  413. pulumi_kubernetes/networking/v1alpha1/ClusterCIDRPatch.py +26 -25
  414. pulumi_kubernetes/networking/v1alpha1/IPAddress.py +27 -26
  415. pulumi_kubernetes/networking/v1alpha1/IPAddressList.py +26 -25
  416. pulumi_kubernetes/networking/v1alpha1/IPAddressPatch.py +27 -26
  417. pulumi_kubernetes/networking/v1alpha1/ServiceCIDR.py +28 -27
  418. pulumi_kubernetes/networking/v1alpha1/ServiceCIDRList.py +26 -25
  419. pulumi_kubernetes/networking/v1alpha1/ServiceCIDRPatch.py +28 -27
  420. pulumi_kubernetes/networking/v1alpha1/__init__.py +1 -0
  421. pulumi_kubernetes/networking/v1alpha1/_inputs.py +157 -157
  422. pulumi_kubernetes/networking/v1alpha1/outputs.py +110 -110
  423. pulumi_kubernetes/networking/v1beta1/IPAddress.py +27 -26
  424. pulumi_kubernetes/networking/v1beta1/IPAddressList.py +26 -25
  425. pulumi_kubernetes/networking/v1beta1/IPAddressPatch.py +27 -26
  426. pulumi_kubernetes/networking/v1beta1/Ingress.py +27 -26
  427. pulumi_kubernetes/networking/v1beta1/IngressClass.py +26 -25
  428. pulumi_kubernetes/networking/v1beta1/IngressClassList.py +26 -25
  429. pulumi_kubernetes/networking/v1beta1/IngressClassPatch.py +26 -25
  430. pulumi_kubernetes/networking/v1beta1/IngressList.py +26 -25
  431. pulumi_kubernetes/networking/v1beta1/IngressPatch.py +27 -26
  432. pulumi_kubernetes/networking/v1beta1/ServiceCIDR.py +28 -27
  433. pulumi_kubernetes/networking/v1beta1/ServiceCIDRList.py +26 -25
  434. pulumi_kubernetes/networking/v1beta1/ServiceCIDRPatch.py +28 -27
  435. pulumi_kubernetes/networking/v1beta1/__init__.py +1 -0
  436. pulumi_kubernetes/networking/v1beta1/_inputs.py +247 -247
  437. pulumi_kubernetes/networking/v1beta1/outputs.py +173 -173
  438. pulumi_kubernetes/node/__init__.py +1 -0
  439. pulumi_kubernetes/node/v1/RuntimeClass.py +38 -37
  440. pulumi_kubernetes/node/v1/RuntimeClassList.py +26 -25
  441. pulumi_kubernetes/node/v1/RuntimeClassPatch.py +38 -37
  442. pulumi_kubernetes/node/v1/__init__.py +1 -0
  443. pulumi_kubernetes/node/v1/_inputs.py +48 -48
  444. pulumi_kubernetes/node/v1/outputs.py +34 -34
  445. pulumi_kubernetes/node/v1alpha1/RuntimeClass.py +26 -25
  446. pulumi_kubernetes/node/v1alpha1/RuntimeClassList.py +26 -25
  447. pulumi_kubernetes/node/v1alpha1/RuntimeClassPatch.py +26 -25
  448. pulumi_kubernetes/node/v1alpha1/__init__.py +1 -0
  449. pulumi_kubernetes/node/v1alpha1/_inputs.py +57 -57
  450. pulumi_kubernetes/node/v1alpha1/outputs.py +41 -41
  451. pulumi_kubernetes/node/v1beta1/RuntimeClass.py +38 -37
  452. pulumi_kubernetes/node/v1beta1/RuntimeClassList.py +26 -25
  453. pulumi_kubernetes/node/v1beta1/RuntimeClassPatch.py +38 -37
  454. pulumi_kubernetes/node/v1beta1/__init__.py +1 -0
  455. pulumi_kubernetes/node/v1beta1/_inputs.py +48 -48
  456. pulumi_kubernetes/node/v1beta1/outputs.py +34 -34
  457. pulumi_kubernetes/policy/__init__.py +1 -0
  458. pulumi_kubernetes/policy/v1/PodDisruptionBudget.py +27 -26
  459. pulumi_kubernetes/policy/v1/PodDisruptionBudgetList.py +26 -25
  460. pulumi_kubernetes/policy/v1/PodDisruptionBudgetPatch.py +27 -26
  461. pulumi_kubernetes/policy/v1/__init__.py +1 -0
  462. pulumi_kubernetes/policy/v1/_inputs.py +91 -103
  463. pulumi_kubernetes/policy/v1/outputs.py +80 -88
  464. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudget.py +27 -26
  465. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetList.py +26 -25
  466. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetPatch.py +27 -26
  467. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicy.py +26 -25
  468. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyList.py +26 -25
  469. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyPatch.py +26 -25
  470. pulumi_kubernetes/policy/v1beta1/__init__.py +1 -0
  471. pulumi_kubernetes/policy/v1beta1/_inputs.py +470 -470
  472. pulumi_kubernetes/policy/v1beta1/outputs.py +342 -342
  473. pulumi_kubernetes/provider.py +139 -99
  474. pulumi_kubernetes/pulumi-plugin.json +1 -1
  475. pulumi_kubernetes/rbac/__init__.py +1 -0
  476. pulumi_kubernetes/rbac/v1/ClusterRole.py +28 -27
  477. pulumi_kubernetes/rbac/v1/ClusterRoleBinding.py +28 -27
  478. pulumi_kubernetes/rbac/v1/ClusterRoleBindingList.py +26 -25
  479. pulumi_kubernetes/rbac/v1/ClusterRoleBindingPatch.py +28 -27
  480. pulumi_kubernetes/rbac/v1/ClusterRoleList.py +26 -25
  481. pulumi_kubernetes/rbac/v1/ClusterRolePatch.py +28 -27
  482. pulumi_kubernetes/rbac/v1/Role.py +26 -25
  483. pulumi_kubernetes/rbac/v1/RoleBinding.py +28 -27
  484. pulumi_kubernetes/rbac/v1/RoleBindingList.py +26 -25
  485. pulumi_kubernetes/rbac/v1/RoleBindingPatch.py +28 -27
  486. pulumi_kubernetes/rbac/v1/RoleList.py +26 -25
  487. pulumi_kubernetes/rbac/v1/RolePatch.py +26 -25
  488. pulumi_kubernetes/rbac/v1/__init__.py +1 -0
  489. pulumi_kubernetes/rbac/v1/_inputs.py +206 -206
  490. pulumi_kubernetes/rbac/v1/outputs.py +142 -142
  491. pulumi_kubernetes/rbac/v1alpha1/ClusterRole.py +28 -27
  492. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBinding.py +28 -27
  493. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingList.py +26 -25
  494. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingPatch.py +28 -27
  495. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleList.py +26 -25
  496. pulumi_kubernetes/rbac/v1alpha1/ClusterRolePatch.py +28 -27
  497. pulumi_kubernetes/rbac/v1alpha1/Role.py +26 -25
  498. pulumi_kubernetes/rbac/v1alpha1/RoleBinding.py +28 -27
  499. pulumi_kubernetes/rbac/v1alpha1/RoleBindingList.py +26 -25
  500. pulumi_kubernetes/rbac/v1alpha1/RoleBindingPatch.py +28 -27
  501. pulumi_kubernetes/rbac/v1alpha1/RoleList.py +26 -25
  502. pulumi_kubernetes/rbac/v1alpha1/RolePatch.py +26 -25
  503. pulumi_kubernetes/rbac/v1alpha1/__init__.py +1 -0
  504. pulumi_kubernetes/rbac/v1alpha1/_inputs.py +206 -206
  505. pulumi_kubernetes/rbac/v1alpha1/outputs.py +142 -142
  506. pulumi_kubernetes/rbac/v1beta1/ClusterRole.py +28 -27
  507. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBinding.py +28 -27
  508. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingList.py +26 -25
  509. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingPatch.py +28 -27
  510. pulumi_kubernetes/rbac/v1beta1/ClusterRoleList.py +26 -25
  511. pulumi_kubernetes/rbac/v1beta1/ClusterRolePatch.py +28 -27
  512. pulumi_kubernetes/rbac/v1beta1/Role.py +26 -25
  513. pulumi_kubernetes/rbac/v1beta1/RoleBinding.py +28 -27
  514. pulumi_kubernetes/rbac/v1beta1/RoleBindingList.py +26 -25
  515. pulumi_kubernetes/rbac/v1beta1/RoleBindingPatch.py +28 -27
  516. pulumi_kubernetes/rbac/v1beta1/RoleList.py +26 -25
  517. pulumi_kubernetes/rbac/v1beta1/RolePatch.py +26 -25
  518. pulumi_kubernetes/rbac/v1beta1/__init__.py +1 -0
  519. pulumi_kubernetes/rbac/v1beta1/_inputs.py +206 -206
  520. pulumi_kubernetes/rbac/v1beta1/outputs.py +142 -142
  521. pulumi_kubernetes/resource/__init__.py +7 -0
  522. pulumi_kubernetes/resource/v1alpha1/PodScheduling.py +27 -26
  523. pulumi_kubernetes/resource/v1alpha1/PodSchedulingList.py +26 -25
  524. pulumi_kubernetes/resource/v1alpha1/PodSchedulingPatch.py +27 -26
  525. pulumi_kubernetes/resource/v1alpha1/ResourceClaim.py +28 -27
  526. pulumi_kubernetes/resource/v1alpha1/ResourceClaimList.py +26 -25
  527. pulumi_kubernetes/resource/v1alpha1/ResourceClaimPatch.py +28 -27
  528. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplate.py +27 -26
  529. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplateList.py +26 -25
  530. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplatePatch.py +27 -26
  531. pulumi_kubernetes/resource/v1alpha1/ResourceClass.py +38 -37
  532. pulumi_kubernetes/resource/v1alpha1/ResourceClassList.py +26 -25
  533. pulumi_kubernetes/resource/v1alpha1/ResourceClassPatch.py +38 -37
  534. pulumi_kubernetes/resource/v1alpha1/__init__.py +1 -0
  535. pulumi_kubernetes/resource/v1alpha1/_inputs.py +268 -268
  536. pulumi_kubernetes/resource/v1alpha1/outputs.py +230 -230
  537. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContext.py +27 -26
  538. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextList.py +26 -25
  539. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextPatch.py +27 -26
  540. pulumi_kubernetes/resource/v1alpha2/ResourceClaim.py +28 -27
  541. pulumi_kubernetes/resource/v1alpha2/ResourceClaimList.py +26 -25
  542. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParameters.py +38 -37
  543. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersList.py +26 -25
  544. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersPatch.py +38 -37
  545. pulumi_kubernetes/resource/v1alpha2/ResourceClaimPatch.py +28 -27
  546. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplate.py +27 -26
  547. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplateList.py +26 -25
  548. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplatePatch.py +27 -26
  549. pulumi_kubernetes/resource/v1alpha2/ResourceClass.py +48 -47
  550. pulumi_kubernetes/resource/v1alpha2/ResourceClassList.py +26 -25
  551. pulumi_kubernetes/resource/v1alpha2/ResourceClassParameters.py +30 -29
  552. pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersList.py +26 -25
  553. pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersPatch.py +30 -29
  554. pulumi_kubernetes/resource/v1alpha2/ResourceClassPatch.py +48 -47
  555. pulumi_kubernetes/resource/v1alpha2/ResourceSlice.py +47 -46
  556. pulumi_kubernetes/resource/v1alpha2/ResourceSliceList.py +26 -25
  557. pulumi_kubernetes/resource/v1alpha2/ResourceSlicePatch.py +47 -46
  558. pulumi_kubernetes/resource/v1alpha2/__init__.py +1 -0
  559. pulumi_kubernetes/resource/v1alpha2/_inputs.py +550 -550
  560. pulumi_kubernetes/resource/v1alpha2/outputs.py +449 -449
  561. pulumi_kubernetes/resource/v1alpha3/DeviceClass.py +28 -25
  562. pulumi_kubernetes/resource/v1alpha3/DeviceClassList.py +26 -25
  563. pulumi_kubernetes/resource/v1alpha3/DeviceClassPatch.py +28 -25
  564. pulumi_kubernetes/resource/v1alpha3/DeviceTaintRule.py +224 -0
  565. pulumi_kubernetes/resource/v1alpha3/DeviceTaintRuleList.py +216 -0
  566. pulumi_kubernetes/resource/v1alpha3/DeviceTaintRulePatch.py +235 -0
  567. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContext.py +27 -26
  568. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextList.py +26 -25
  569. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextPatch.py +27 -26
  570. pulumi_kubernetes/resource/v1alpha3/ResourceClaim.py +28 -27
  571. pulumi_kubernetes/resource/v1alpha3/ResourceClaimList.py +26 -25
  572. pulumi_kubernetes/resource/v1alpha3/ResourceClaimPatch.py +28 -27
  573. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplate.py +27 -26
  574. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplateList.py +26 -25
  575. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplatePatch.py +27 -26
  576. pulumi_kubernetes/resource/v1alpha3/ResourceSlice.py +34 -33
  577. pulumi_kubernetes/resource/v1alpha3/ResourceSliceList.py +246 -0
  578. pulumi_kubernetes/resource/v1alpha3/ResourceSlicePatch.py +27 -26
  579. pulumi_kubernetes/resource/v1alpha3/__init__.py +5 -0
  580. pulumi_kubernetes/resource/v1alpha3/_inputs.py +3400 -606
  581. pulumi_kubernetes/resource/v1alpha3/outputs.py +2933 -565
  582. pulumi_kubernetes/resource/v1beta1/DeviceClass.py +238 -0
  583. pulumi_kubernetes/resource/v1beta1/DeviceClassList.py +216 -0
  584. pulumi_kubernetes/resource/v1beta1/DeviceClassPatch.py +249 -0
  585. pulumi_kubernetes/resource/v1beta1/ResourceClaim.py +233 -0
  586. pulumi_kubernetes/resource/v1beta1/ResourceClaimList.py +217 -0
  587. pulumi_kubernetes/resource/v1beta1/ResourceClaimPatch.py +244 -0
  588. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplate.py +230 -0
  589. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplateList.py +216 -0
  590. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplatePatch.py +241 -0
  591. pulumi_kubernetes/resource/v1beta1/ResourceSlice.py +247 -0
  592. pulumi_kubernetes/resource/v1beta1/ResourceSliceList.py +217 -0
  593. pulumi_kubernetes/resource/v1beta1/ResourceSlicePatch.py +258 -0
  594. pulumi_kubernetes/resource/v1beta1/__init__.py +22 -0
  595. pulumi_kubernetes/resource/v1beta1/_inputs.py +5735 -0
  596. pulumi_kubernetes/resource/v1beta1/outputs.py +4736 -0
  597. pulumi_kubernetes/resource/v1beta2/DeviceClass.py +238 -0
  598. pulumi_kubernetes/resource/v1beta2/DeviceClassList.py +216 -0
  599. pulumi_kubernetes/resource/v1beta2/DeviceClassPatch.py +249 -0
  600. pulumi_kubernetes/resource/v1beta2/ResourceClaim.py +233 -0
  601. pulumi_kubernetes/resource/v1beta2/ResourceClaimList.py +217 -0
  602. pulumi_kubernetes/resource/v1beta2/ResourceClaimPatch.py +244 -0
  603. pulumi_kubernetes/resource/v1beta2/ResourceClaimTemplate.py +230 -0
  604. pulumi_kubernetes/resource/v1beta2/ResourceClaimTemplateList.py +216 -0
  605. pulumi_kubernetes/resource/v1beta2/ResourceClaimTemplatePatch.py +241 -0
  606. pulumi_kubernetes/resource/v1beta2/ResourceSlice.py +247 -0
  607. pulumi_kubernetes/resource/v1beta2/ResourceSliceList.py +217 -0
  608. pulumi_kubernetes/resource/v1beta2/ResourceSlicePatch.py +258 -0
  609. pulumi_kubernetes/resource/v1beta2/__init__.py +22 -0
  610. pulumi_kubernetes/resource/v1beta2/_inputs.py +5680 -0
  611. pulumi_kubernetes/resource/v1beta2/outputs.py +4725 -0
  612. pulumi_kubernetes/scheduling/__init__.py +1 -0
  613. pulumi_kubernetes/scheduling/v1/PriorityClass.py +64 -63
  614. pulumi_kubernetes/scheduling/v1/PriorityClassList.py +26 -25
  615. pulumi_kubernetes/scheduling/v1/PriorityClassPatch.py +64 -63
  616. pulumi_kubernetes/scheduling/v1/__init__.py +1 -0
  617. pulumi_kubernetes/scheduling/v1/_inputs.py +38 -38
  618. pulumi_kubernetes/scheduling/v1/outputs.py +26 -26
  619. pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py +64 -63
  620. pulumi_kubernetes/scheduling/v1alpha1/PriorityClassList.py +26 -25
  621. pulumi_kubernetes/scheduling/v1alpha1/PriorityClassPatch.py +64 -63
  622. pulumi_kubernetes/scheduling/v1alpha1/__init__.py +1 -0
  623. pulumi_kubernetes/scheduling/v1alpha1/_inputs.py +38 -38
  624. pulumi_kubernetes/scheduling/v1alpha1/outputs.py +26 -26
  625. pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py +64 -63
  626. pulumi_kubernetes/scheduling/v1beta1/PriorityClassList.py +26 -25
  627. pulumi_kubernetes/scheduling/v1beta1/PriorityClassPatch.py +64 -63
  628. pulumi_kubernetes/scheduling/v1beta1/__init__.py +1 -0
  629. pulumi_kubernetes/scheduling/v1beta1/_inputs.py +38 -38
  630. pulumi_kubernetes/scheduling/v1beta1/outputs.py +26 -26
  631. pulumi_kubernetes/settings/__init__.py +1 -0
  632. pulumi_kubernetes/settings/v1alpha1/PodPreset.py +26 -25
  633. pulumi_kubernetes/settings/v1alpha1/PodPresetList.py +26 -25
  634. pulumi_kubernetes/settings/v1alpha1/PodPresetPatch.py +26 -25
  635. pulumi_kubernetes/settings/v1alpha1/__init__.py +1 -0
  636. pulumi_kubernetes/settings/v1alpha1/_inputs.py +25 -25
  637. pulumi_kubernetes/settings/v1alpha1/outputs.py +21 -21
  638. pulumi_kubernetes/storage/__init__.py +1 -0
  639. pulumi_kubernetes/storage/v1/CSIDriver.py +26 -25
  640. pulumi_kubernetes/storage/v1/CSIDriverList.py +26 -25
  641. pulumi_kubernetes/storage/v1/CSIDriverPatch.py +26 -25
  642. pulumi_kubernetes/storage/v1/CSINode.py +26 -25
  643. pulumi_kubernetes/storage/v1/CSINodeList.py +26 -25
  644. pulumi_kubernetes/storage/v1/CSINodePatch.py +26 -25
  645. pulumi_kubernetes/storage/v1/CSIStorageCapacity.py +56 -55
  646. pulumi_kubernetes/storage/v1/CSIStorageCapacityList.py +26 -25
  647. pulumi_kubernetes/storage/v1/CSIStorageCapacityPatch.py +56 -55
  648. pulumi_kubernetes/storage/v1/StorageClass.py +86 -85
  649. pulumi_kubernetes/storage/v1/StorageClassList.py +26 -25
  650. pulumi_kubernetes/storage/v1/StorageClassPatch.py +86 -85
  651. pulumi_kubernetes/storage/v1/VolumeAttachment.py +27 -26
  652. pulumi_kubernetes/storage/v1/VolumeAttachmentList.py +26 -25
  653. pulumi_kubernetes/storage/v1/VolumeAttachmentPatch.py +27 -26
  654. pulumi_kubernetes/storage/v1/__init__.py +1 -0
  655. pulumi_kubernetes/storage/v1/_inputs.py +448 -358
  656. pulumi_kubernetes/storage/v1/outputs.py +376 -266
  657. pulumi_kubernetes/storage/v1alpha1/VolumeAttachment.py +27 -26
  658. pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentList.py +26 -25
  659. pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentPatch.py +27 -26
  660. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClass.py +44 -43
  661. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassList.py +26 -25
  662. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassPatch.py +44 -43
  663. pulumi_kubernetes/storage/v1alpha1/__init__.py +1 -0
  664. pulumi_kubernetes/storage/v1alpha1/_inputs.py +107 -107
  665. pulumi_kubernetes/storage/v1alpha1/outputs.py +93 -93
  666. pulumi_kubernetes/storage/v1beta1/CSIDriver.py +26 -25
  667. pulumi_kubernetes/storage/v1beta1/CSIDriverList.py +26 -25
  668. pulumi_kubernetes/storage/v1beta1/CSIDriverPatch.py +26 -25
  669. pulumi_kubernetes/storage/v1beta1/CSINode.py +26 -25
  670. pulumi_kubernetes/storage/v1beta1/CSINodeList.py +26 -25
  671. pulumi_kubernetes/storage/v1beta1/CSINodePatch.py +26 -25
  672. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacity.py +56 -55
  673. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityList.py +26 -25
  674. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityPatch.py +56 -55
  675. pulumi_kubernetes/storage/v1beta1/StorageClass.py +86 -85
  676. pulumi_kubernetes/storage/v1beta1/StorageClassList.py +26 -25
  677. pulumi_kubernetes/storage/v1beta1/StorageClassPatch.py +86 -85
  678. pulumi_kubernetes/storage/v1beta1/VolumeAttachment.py +27 -26
  679. pulumi_kubernetes/storage/v1beta1/VolumeAttachmentList.py +26 -25
  680. pulumi_kubernetes/storage/v1beta1/VolumeAttachmentPatch.py +27 -26
  681. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClass.py +44 -43
  682. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassList.py +26 -25
  683. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassPatch.py +44 -43
  684. pulumi_kubernetes/storage/v1beta1/__init__.py +1 -0
  685. pulumi_kubernetes/storage/v1beta1/_inputs.py +367 -367
  686. pulumi_kubernetes/storage/v1beta1/outputs.py +271 -271
  687. pulumi_kubernetes/storagemigration/__init__.py +1 -0
  688. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigration.py +27 -26
  689. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationList.py +26 -25
  690. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationPatch.py +27 -26
  691. pulumi_kubernetes/storagemigration/v1alpha1/__init__.py +1 -0
  692. pulumi_kubernetes/storagemigration/v1alpha1/_inputs.py +103 -103
  693. pulumi_kubernetes/storagemigration/v1alpha1/outputs.py +96 -96
  694. pulumi_kubernetes/yaml/__init__.py +1 -0
  695. pulumi_kubernetes/yaml/v2/ConfigFile.py +31 -28
  696. pulumi_kubernetes/yaml/v2/ConfigGroup.py +36 -35
  697. pulumi_kubernetes/yaml/v2/__init__.py +1 -0
  698. pulumi_kubernetes/yaml/yaml.py +198 -0
  699. {pulumi_kubernetes-4.17.0a1723576835.dist-info → pulumi_kubernetes-4.26.0a1769215986.dist-info}/METADATA +9 -9
  700. pulumi_kubernetes-4.26.0a1769215986.dist-info/RECORD +709 -0
  701. {pulumi_kubernetes-4.17.0a1723576835.dist-info → pulumi_kubernetes-4.26.0a1769215986.dist-info}/WHEEL +1 -1
  702. pulumi_kubernetes-4.17.0a1723576835.dist-info/RECORD +0 -651
  703. {pulumi_kubernetes-4.17.0a1723576835.dist-info → pulumi_kubernetes-4.26.0a1769215986.dist-info}/top_level.txt +0 -0
@@ -2,7 +2,7 @@
2
2
  # *** WARNING: this file was generated by pulumigen. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -16,12 +16,20 @@ from ... import _utilities
16
16
  from ... import meta as _meta
17
17
 
18
18
  __all__ = [
19
+ 'ApplyConfigurationPatchArgs',
20
+ 'ApplyConfigurationPatchArgsDict',
21
+ 'ApplyConfigurationArgs',
22
+ 'ApplyConfigurationArgsDict',
19
23
  'AuditAnnotationPatchArgs',
20
24
  'AuditAnnotationPatchArgsDict',
21
25
  'AuditAnnotationArgs',
22
26
  'AuditAnnotationArgsDict',
23
27
  'ExpressionWarningArgs',
24
28
  'ExpressionWarningArgsDict',
29
+ 'JSONPatchPatchArgs',
30
+ 'JSONPatchPatchArgsDict',
31
+ 'JSONPatchArgs',
32
+ 'JSONPatchArgsDict',
25
33
  'MatchConditionPatchArgs',
26
34
  'MatchConditionPatchArgsDict',
27
35
  'MatchConditionArgs',
@@ -30,6 +38,22 @@ __all__ = [
30
38
  'MatchResourcesPatchArgsDict',
31
39
  'MatchResourcesArgs',
32
40
  'MatchResourcesArgsDict',
41
+ 'MutatingAdmissionPolicyBindingSpecPatchArgs',
42
+ 'MutatingAdmissionPolicyBindingSpecPatchArgsDict',
43
+ 'MutatingAdmissionPolicyBindingSpecArgs',
44
+ 'MutatingAdmissionPolicyBindingSpecArgsDict',
45
+ 'MutatingAdmissionPolicyBindingArgs',
46
+ 'MutatingAdmissionPolicyBindingArgsDict',
47
+ 'MutatingAdmissionPolicySpecPatchArgs',
48
+ 'MutatingAdmissionPolicySpecPatchArgsDict',
49
+ 'MutatingAdmissionPolicySpecArgs',
50
+ 'MutatingAdmissionPolicySpecArgsDict',
51
+ 'MutatingAdmissionPolicyArgs',
52
+ 'MutatingAdmissionPolicyArgsDict',
53
+ 'MutationPatchArgs',
54
+ 'MutationPatchArgsDict',
55
+ 'MutationArgs',
56
+ 'MutationArgsDict',
33
57
  'NamedRuleWithOperationsPatchArgs',
34
58
  'NamedRuleWithOperationsPatchArgsDict',
35
59
  'NamedRuleWithOperationsArgs',
@@ -70,12 +94,246 @@ __all__ = [
70
94
 
71
95
  MYPY = False
72
96
 
97
+ if not MYPY:
98
+ class ApplyConfigurationPatchArgsDict(TypedDict):
99
+ """
100
+ ApplyConfiguration defines the desired configuration values of an object.
101
+ """
102
+ expression: NotRequired[pulumi.Input[_builtins.str]]
103
+ """
104
+ expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec
105
+
106
+ Apply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:
107
+
108
+ Object{
109
+ spec: Object.spec{
110
+ serviceAccountName: "example"
111
+ }
112
+ }
113
+
114
+ Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.
115
+
116
+ CEL expressions have access to the object types needed to create apply configurations:
117
+
118
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
119
+
120
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
121
+
122
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
123
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
124
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
125
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
126
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
127
+ request resource.
128
+
129
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
130
+
131
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
132
+ """
133
+ elif False:
134
+ ApplyConfigurationPatchArgsDict: TypeAlias = Mapping[str, Any]
135
+
136
+ @pulumi.input_type
137
+ class ApplyConfigurationPatchArgs:
138
+ def __init__(__self__, *,
139
+ expression: Optional[pulumi.Input[_builtins.str]] = None):
140
+ """
141
+ ApplyConfiguration defines the desired configuration values of an object.
142
+ :param pulumi.Input[_builtins.str] expression: expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec
143
+
144
+ Apply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:
145
+
146
+ Object{
147
+ spec: Object.spec{
148
+ serviceAccountName: "example"
149
+ }
150
+ }
151
+
152
+ Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.
153
+
154
+ CEL expressions have access to the object types needed to create apply configurations:
155
+
156
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
157
+
158
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
159
+
160
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
161
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
162
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
163
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
164
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
165
+ request resource.
166
+
167
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
168
+
169
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
170
+ """
171
+ if expression is not None:
172
+ pulumi.set(__self__, "expression", expression)
173
+
174
+ @_builtins.property
175
+ @pulumi.getter
176
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
177
+ """
178
+ expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec
179
+
180
+ Apply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:
181
+
182
+ Object{
183
+ spec: Object.spec{
184
+ serviceAccountName: "example"
185
+ }
186
+ }
187
+
188
+ Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.
189
+
190
+ CEL expressions have access to the object types needed to create apply configurations:
191
+
192
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
193
+
194
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
195
+
196
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
197
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
198
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
199
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
200
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
201
+ request resource.
202
+
203
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
204
+
205
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
206
+ """
207
+ return pulumi.get(self, "expression")
208
+
209
+ @expression.setter
210
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
211
+ pulumi.set(self, "expression", value)
212
+
213
+
214
+ if not MYPY:
215
+ class ApplyConfigurationArgsDict(TypedDict):
216
+ """
217
+ ApplyConfiguration defines the desired configuration values of an object.
218
+ """
219
+ expression: NotRequired[pulumi.Input[_builtins.str]]
220
+ """
221
+ expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec
222
+
223
+ Apply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:
224
+
225
+ Object{
226
+ spec: Object.spec{
227
+ serviceAccountName: "example"
228
+ }
229
+ }
230
+
231
+ Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.
232
+
233
+ CEL expressions have access to the object types needed to create apply configurations:
234
+
235
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
236
+
237
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
238
+
239
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
240
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
241
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
242
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
243
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
244
+ request resource.
245
+
246
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
247
+
248
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
249
+ """
250
+ elif False:
251
+ ApplyConfigurationArgsDict: TypeAlias = Mapping[str, Any]
252
+
253
+ @pulumi.input_type
254
+ class ApplyConfigurationArgs:
255
+ def __init__(__self__, *,
256
+ expression: Optional[pulumi.Input[_builtins.str]] = None):
257
+ """
258
+ ApplyConfiguration defines the desired configuration values of an object.
259
+ :param pulumi.Input[_builtins.str] expression: expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec
260
+
261
+ Apply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:
262
+
263
+ Object{
264
+ spec: Object.spec{
265
+ serviceAccountName: "example"
266
+ }
267
+ }
268
+
269
+ Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.
270
+
271
+ CEL expressions have access to the object types needed to create apply configurations:
272
+
273
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
274
+
275
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
276
+
277
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
278
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
279
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
280
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
281
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
282
+ request resource.
283
+
284
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
285
+
286
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
287
+ """
288
+ if expression is not None:
289
+ pulumi.set(__self__, "expression", expression)
290
+
291
+ @_builtins.property
292
+ @pulumi.getter
293
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
294
+ """
295
+ expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec
296
+
297
+ Apply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field:
298
+
299
+ Object{
300
+ spec: Object.spec{
301
+ serviceAccountName: "example"
302
+ }
303
+ }
304
+
305
+ Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration.
306
+
307
+ CEL expressions have access to the object types needed to create apply configurations:
308
+
309
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
310
+
311
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
312
+
313
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
314
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
315
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
316
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
317
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
318
+ request resource.
319
+
320
+ The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
321
+
322
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
323
+ """
324
+ return pulumi.get(self, "expression")
325
+
326
+ @expression.setter
327
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
328
+ pulumi.set(self, "expression", value)
329
+
330
+
73
331
  if not MYPY:
74
332
  class AuditAnnotationPatchArgsDict(TypedDict):
75
333
  """
76
334
  AuditAnnotation describes how to produce an audit annotation for an API request.
77
335
  """
78
- key: NotRequired[pulumi.Input[str]]
336
+ key: NotRequired[pulumi.Input[_builtins.str]]
79
337
  """
80
338
  key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
81
339
 
@@ -85,7 +343,7 @@ if not MYPY:
85
343
 
86
344
  Required.
87
345
  """
88
- value_expression: NotRequired[pulumi.Input[str]]
346
+ value_expression: NotRequired[pulumi.Input[_builtins.str]]
89
347
  """
90
348
  valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
91
349
 
@@ -99,18 +357,18 @@ elif False:
99
357
  @pulumi.input_type
100
358
  class AuditAnnotationPatchArgs:
101
359
  def __init__(__self__, *,
102
- key: Optional[pulumi.Input[str]] = None,
103
- value_expression: Optional[pulumi.Input[str]] = None):
360
+ key: Optional[pulumi.Input[_builtins.str]] = None,
361
+ value_expression: Optional[pulumi.Input[_builtins.str]] = None):
104
362
  """
105
363
  AuditAnnotation describes how to produce an audit annotation for an API request.
106
- :param pulumi.Input[str] key: key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
364
+ :param pulumi.Input[_builtins.str] key: key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
107
365
 
108
366
  The key is combined with the resource name of the ValidatingAdmissionPolicy to construct an audit annotation key: "{ValidatingAdmissionPolicy name}/{key}".
109
367
 
110
368
  If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy and the same audit annotation key, the annotation key will be identical. In this case, the first annotation written with the key will be included in the audit event and all subsequent annotations with the same key will be discarded.
111
369
 
112
370
  Required.
113
- :param pulumi.Input[str] value_expression: valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
371
+ :param pulumi.Input[_builtins.str] value_expression: valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
114
372
 
115
373
  If multiple ValidatingAdmissionPolicyBinding resources match an API request, then the valueExpression will be evaluated for each binding. All unique values produced by the valueExpressions will be joined together in a comma-separated list.
116
374
 
@@ -121,9 +379,9 @@ class AuditAnnotationPatchArgs:
121
379
  if value_expression is not None:
122
380
  pulumi.set(__self__, "value_expression", value_expression)
123
381
 
124
- @property
382
+ @_builtins.property
125
383
  @pulumi.getter
126
- def key(self) -> Optional[pulumi.Input[str]]:
384
+ def key(self) -> Optional[pulumi.Input[_builtins.str]]:
127
385
  """
128
386
  key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
129
387
 
@@ -136,12 +394,12 @@ class AuditAnnotationPatchArgs:
136
394
  return pulumi.get(self, "key")
137
395
 
138
396
  @key.setter
139
- def key(self, value: Optional[pulumi.Input[str]]):
397
+ def key(self, value: Optional[pulumi.Input[_builtins.str]]):
140
398
  pulumi.set(self, "key", value)
141
399
 
142
- @property
400
+ @_builtins.property
143
401
  @pulumi.getter(name="valueExpression")
144
- def value_expression(self) -> Optional[pulumi.Input[str]]:
402
+ def value_expression(self) -> Optional[pulumi.Input[_builtins.str]]:
145
403
  """
146
404
  valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
147
405
 
@@ -152,7 +410,7 @@ class AuditAnnotationPatchArgs:
152
410
  return pulumi.get(self, "value_expression")
153
411
 
154
412
  @value_expression.setter
155
- def value_expression(self, value: Optional[pulumi.Input[str]]):
413
+ def value_expression(self, value: Optional[pulumi.Input[_builtins.str]]):
156
414
  pulumi.set(self, "value_expression", value)
157
415
 
158
416
 
@@ -161,7 +419,7 @@ if not MYPY:
161
419
  """
162
420
  AuditAnnotation describes how to produce an audit annotation for an API request.
163
421
  """
164
- key: pulumi.Input[str]
422
+ key: pulumi.Input[_builtins.str]
165
423
  """
166
424
  key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
167
425
 
@@ -171,7 +429,7 @@ if not MYPY:
171
429
 
172
430
  Required.
173
431
  """
174
- value_expression: pulumi.Input[str]
432
+ value_expression: pulumi.Input[_builtins.str]
175
433
  """
176
434
  valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
177
435
 
@@ -185,18 +443,18 @@ elif False:
185
443
  @pulumi.input_type
186
444
  class AuditAnnotationArgs:
187
445
  def __init__(__self__, *,
188
- key: pulumi.Input[str],
189
- value_expression: pulumi.Input[str]):
446
+ key: pulumi.Input[_builtins.str],
447
+ value_expression: pulumi.Input[_builtins.str]):
190
448
  """
191
449
  AuditAnnotation describes how to produce an audit annotation for an API request.
192
- :param pulumi.Input[str] key: key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
450
+ :param pulumi.Input[_builtins.str] key: key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
193
451
 
194
452
  The key is combined with the resource name of the ValidatingAdmissionPolicy to construct an audit annotation key: "{ValidatingAdmissionPolicy name}/{key}".
195
453
 
196
454
  If an admission webhook uses the same resource name as this ValidatingAdmissionPolicy and the same audit annotation key, the annotation key will be identical. In this case, the first annotation written with the key will be included in the audit event and all subsequent annotations with the same key will be discarded.
197
455
 
198
456
  Required.
199
- :param pulumi.Input[str] value_expression: valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
457
+ :param pulumi.Input[_builtins.str] value_expression: valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
200
458
 
201
459
  If multiple ValidatingAdmissionPolicyBinding resources match an API request, then the valueExpression will be evaluated for each binding. All unique values produced by the valueExpressions will be joined together in a comma-separated list.
202
460
 
@@ -205,9 +463,9 @@ class AuditAnnotationArgs:
205
463
  pulumi.set(__self__, "key", key)
206
464
  pulumi.set(__self__, "value_expression", value_expression)
207
465
 
208
- @property
466
+ @_builtins.property
209
467
  @pulumi.getter
210
- def key(self) -> pulumi.Input[str]:
468
+ def key(self) -> pulumi.Input[_builtins.str]:
211
469
  """
212
470
  key specifies the audit annotation key. The audit annotation keys of a ValidatingAdmissionPolicy must be unique. The key must be a qualified name ([A-Za-z0-9][-A-Za-z0-9_.]*) no more than 63 bytes in length.
213
471
 
@@ -220,12 +478,12 @@ class AuditAnnotationArgs:
220
478
  return pulumi.get(self, "key")
221
479
 
222
480
  @key.setter
223
- def key(self, value: pulumi.Input[str]):
481
+ def key(self, value: pulumi.Input[_builtins.str]):
224
482
  pulumi.set(self, "key", value)
225
483
 
226
- @property
484
+ @_builtins.property
227
485
  @pulumi.getter(name="valueExpression")
228
- def value_expression(self) -> pulumi.Input[str]:
486
+ def value_expression(self) -> pulumi.Input[_builtins.str]:
229
487
  """
230
488
  valueExpression represents the expression which is evaluated by CEL to produce an audit annotation value. The expression must evaluate to either a string or null value. If the expression evaluates to a string, the audit annotation is included with the string value. If the expression evaluates to null or empty string the audit annotation will be omitted. The valueExpression may be no longer than 5kb in length. If the result of the valueExpression is more than 10kb in length, it will be truncated to 10kb.
231
489
 
@@ -236,7 +494,7 @@ class AuditAnnotationArgs:
236
494
  return pulumi.get(self, "value_expression")
237
495
 
238
496
  @value_expression.setter
239
- def value_expression(self, value: pulumi.Input[str]):
497
+ def value_expression(self, value: pulumi.Input[_builtins.str]):
240
498
  pulumi.set(self, "value_expression", value)
241
499
 
242
500
 
@@ -245,11 +503,11 @@ if not MYPY:
245
503
  """
246
504
  ExpressionWarning is a warning information that targets a specific expression.
247
505
  """
248
- field_ref: pulumi.Input[str]
506
+ field_ref: pulumi.Input[_builtins.str]
249
507
  """
250
508
  The path to the field that refers the expression. For example, the reference to the expression of the first item of validations is "spec.validations[0].expression"
251
509
  """
252
- warning: pulumi.Input[str]
510
+ warning: pulumi.Input[_builtins.str]
253
511
  """
254
512
  The content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.
255
513
  """
@@ -259,171 +517,561 @@ elif False:
259
517
  @pulumi.input_type
260
518
  class ExpressionWarningArgs:
261
519
  def __init__(__self__, *,
262
- field_ref: pulumi.Input[str],
263
- warning: pulumi.Input[str]):
520
+ field_ref: pulumi.Input[_builtins.str],
521
+ warning: pulumi.Input[_builtins.str]):
264
522
  """
265
523
  ExpressionWarning is a warning information that targets a specific expression.
266
- :param pulumi.Input[str] field_ref: The path to the field that refers the expression. For example, the reference to the expression of the first item of validations is "spec.validations[0].expression"
267
- :param pulumi.Input[str] warning: The content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.
524
+ :param pulumi.Input[_builtins.str] field_ref: The path to the field that refers the expression. For example, the reference to the expression of the first item of validations is "spec.validations[0].expression"
525
+ :param pulumi.Input[_builtins.str] warning: The content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.
268
526
  """
269
527
  pulumi.set(__self__, "field_ref", field_ref)
270
528
  pulumi.set(__self__, "warning", warning)
271
529
 
272
- @property
530
+ @_builtins.property
273
531
  @pulumi.getter(name="fieldRef")
274
- def field_ref(self) -> pulumi.Input[str]:
532
+ def field_ref(self) -> pulumi.Input[_builtins.str]:
275
533
  """
276
534
  The path to the field that refers the expression. For example, the reference to the expression of the first item of validations is "spec.validations[0].expression"
277
535
  """
278
536
  return pulumi.get(self, "field_ref")
279
537
 
280
538
  @field_ref.setter
281
- def field_ref(self, value: pulumi.Input[str]):
539
+ def field_ref(self, value: pulumi.Input[_builtins.str]):
282
540
  pulumi.set(self, "field_ref", value)
283
541
 
284
- @property
542
+ @_builtins.property
285
543
  @pulumi.getter
286
- def warning(self) -> pulumi.Input[str]:
544
+ def warning(self) -> pulumi.Input[_builtins.str]:
287
545
  """
288
546
  The content of type checking information in a human-readable form. Each line of the warning contains the type that the expression is checked against, followed by the type check error from the compiler.
289
547
  """
290
548
  return pulumi.get(self, "warning")
291
549
 
292
550
  @warning.setter
293
- def warning(self, value: pulumi.Input[str]):
551
+ def warning(self, value: pulumi.Input[_builtins.str]):
294
552
  pulumi.set(self, "warning", value)
295
553
 
296
554
 
297
555
  if not MYPY:
298
- class MatchConditionPatchArgsDict(TypedDict):
299
- expression: NotRequired[pulumi.Input[str]]
556
+ class JSONPatchPatchArgsDict(TypedDict):
300
557
  """
301
- Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
558
+ JSONPatch defines a JSON Patch.
559
+ """
560
+ expression: NotRequired[pulumi.Input[_builtins.str]]
561
+ """
562
+ expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec
302
563
 
303
- 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
564
+ expression must return an array of JSONPatch values.
565
+
566
+ For example, this CEL expression returns a JSON patch to conditionally modify a value:
567
+
568
+ [
569
+ JSONPatch{op: "test", path: "/spec/example", value: "Red"},
570
+ JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
571
+ ]
572
+
573
+ To define an object for the patch value, use Object types. For example:
574
+
575
+ [
576
+ JSONPatch{
577
+ op: "add",
578
+ path: "/spec/selector",
579
+ value: Object.spec.selector{matchLabels: {"environment": "test"}}
580
+ }
581
+ ]
582
+
583
+ To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
584
+
585
+ [
586
+ JSONPatch{
587
+ op: "add",
588
+ path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
589
+ value: "test"
590
+ },
591
+ ]
592
+
593
+ CEL expressions have access to the types needed to create JSON patches and objects:
594
+
595
+ - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
596
+ See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
597
+ integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
598
+ [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
599
+ function may be used to escape path keys containing '/' and '~'.
600
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
601
+
602
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
603
+
604
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
605
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
606
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
304
607
  See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
305
- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
608
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
306
609
  request resource.
307
- Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
308
610
 
309
- Required.
310
- """
311
- name: NotRequired[pulumi.Input[str]]
312
- """
313
- Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
611
+ CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:
314
612
 
315
- Required.
613
+ - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
614
+
615
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
316
616
  """
317
617
  elif False:
318
- MatchConditionPatchArgsDict: TypeAlias = Mapping[str, Any]
618
+ JSONPatchPatchArgsDict: TypeAlias = Mapping[str, Any]
319
619
 
320
620
  @pulumi.input_type
321
- class MatchConditionPatchArgs:
621
+ class JSONPatchPatchArgs:
322
622
  def __init__(__self__, *,
323
- expression: Optional[pulumi.Input[str]] = None,
324
- name: Optional[pulumi.Input[str]] = None):
623
+ expression: Optional[pulumi.Input[_builtins.str]] = None):
325
624
  """
326
- :param pulumi.Input[str] expression: Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
625
+ JSONPatch defines a JSON Patch.
626
+ :param pulumi.Input[_builtins.str] expression: expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec
327
627
 
328
- 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
628
+ expression must return an array of JSONPatch values.
629
+
630
+ For example, this CEL expression returns a JSON patch to conditionally modify a value:
631
+
632
+ [
633
+ JSONPatch{op: "test", path: "/spec/example", value: "Red"},
634
+ JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
635
+ ]
636
+
637
+ To define an object for the patch value, use Object types. For example:
638
+
639
+ [
640
+ JSONPatch{
641
+ op: "add",
642
+ path: "/spec/selector",
643
+ value: Object.spec.selector{matchLabels: {"environment": "test"}}
644
+ }
645
+ ]
646
+
647
+ To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
648
+
649
+ [
650
+ JSONPatch{
651
+ op: "add",
652
+ path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
653
+ value: "test"
654
+ },
655
+ ]
656
+
657
+ CEL expressions have access to the types needed to create JSON patches and objects:
658
+
659
+ - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
660
+ See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
661
+ integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
662
+ [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
663
+ function may be used to escape path keys containing '/' and '~'.
664
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
665
+
666
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
667
+
668
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
669
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
670
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
329
671
  See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
330
- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
672
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
331
673
  request resource.
332
- Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
333
674
 
334
- Required.
335
- :param pulumi.Input[str] name: Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
675
+ CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:
336
676
 
337
- Required.
677
+ - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
678
+
679
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
338
680
  """
339
681
  if expression is not None:
340
682
  pulumi.set(__self__, "expression", expression)
341
- if name is not None:
342
- pulumi.set(__self__, "name", name)
343
683
 
344
- @property
684
+ @_builtins.property
345
685
  @pulumi.getter
346
- def expression(self) -> Optional[pulumi.Input[str]]:
686
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
347
687
  """
348
- Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
688
+ expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec
349
689
 
350
- 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
690
+ expression must return an array of JSONPatch values.
691
+
692
+ For example, this CEL expression returns a JSON patch to conditionally modify a value:
693
+
694
+ [
695
+ JSONPatch{op: "test", path: "/spec/example", value: "Red"},
696
+ JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
697
+ ]
698
+
699
+ To define an object for the patch value, use Object types. For example:
700
+
701
+ [
702
+ JSONPatch{
703
+ op: "add",
704
+ path: "/spec/selector",
705
+ value: Object.spec.selector{matchLabels: {"environment": "test"}}
706
+ }
707
+ ]
708
+
709
+ To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
710
+
711
+ [
712
+ JSONPatch{
713
+ op: "add",
714
+ path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
715
+ value: "test"
716
+ },
717
+ ]
718
+
719
+ CEL expressions have access to the types needed to create JSON patches and objects:
720
+
721
+ - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
722
+ See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
723
+ integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
724
+ [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
725
+ function may be used to escape path keys containing '/' and '~'.
726
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
727
+
728
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
729
+
730
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
731
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
732
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
351
733
  See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
352
- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
734
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
353
735
  request resource.
354
- Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
355
736
 
356
- Required.
737
+ CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:
738
+
739
+ - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
740
+
741
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
357
742
  """
358
743
  return pulumi.get(self, "expression")
359
744
 
360
745
  @expression.setter
361
- def expression(self, value: Optional[pulumi.Input[str]]):
746
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
362
747
  pulumi.set(self, "expression", value)
363
748
 
364
- @property
365
- @pulumi.getter
366
- def name(self) -> Optional[pulumi.Input[str]]:
367
- """
368
- Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
369
749
 
370
- Required.
750
+ if not MYPY:
751
+ class JSONPatchArgsDict(TypedDict):
371
752
  """
372
- return pulumi.get(self, "name")
753
+ JSONPatch defines a JSON Patch.
754
+ """
755
+ expression: NotRequired[pulumi.Input[_builtins.str]]
756
+ """
757
+ expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec
373
758
 
374
- @name.setter
375
- def name(self, value: Optional[pulumi.Input[str]]):
376
- pulumi.set(self, "name", value)
759
+ expression must return an array of JSONPatch values.
377
760
 
761
+ For example, this CEL expression returns a JSON patch to conditionally modify a value:
378
762
 
379
- if not MYPY:
380
- class MatchConditionArgsDict(TypedDict):
381
- expression: pulumi.Input[str]
382
- """
383
- Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
763
+ [
764
+ JSONPatch{op: "test", path: "/spec/example", value: "Red"},
765
+ JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
766
+ ]
384
767
 
385
- 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
768
+ To define an object for the patch value, use Object types. For example:
769
+
770
+ [
771
+ JSONPatch{
772
+ op: "add",
773
+ path: "/spec/selector",
774
+ value: Object.spec.selector{matchLabels: {"environment": "test"}}
775
+ }
776
+ ]
777
+
778
+ To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
779
+
780
+ [
781
+ JSONPatch{
782
+ op: "add",
783
+ path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
784
+ value: "test"
785
+ },
786
+ ]
787
+
788
+ CEL expressions have access to the types needed to create JSON patches and objects:
789
+
790
+ - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
791
+ See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
792
+ integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
793
+ [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
794
+ function may be used to escape path keys containing '/' and '~'.
795
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
796
+
797
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
798
+
799
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
800
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
801
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
386
802
  See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
387
- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
803
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
388
804
  request resource.
389
- Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
390
805
 
391
- Required.
392
- """
393
- name: pulumi.Input[str]
394
- """
395
- Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
806
+ CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:
396
807
 
397
- Required.
808
+ - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
809
+
810
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
398
811
  """
399
812
  elif False:
400
- MatchConditionArgsDict: TypeAlias = Mapping[str, Any]
813
+ JSONPatchArgsDict: TypeAlias = Mapping[str, Any]
401
814
 
402
815
  @pulumi.input_type
403
- class MatchConditionArgs:
816
+ class JSONPatchArgs:
404
817
  def __init__(__self__, *,
405
- expression: pulumi.Input[str],
406
- name: pulumi.Input[str]):
818
+ expression: Optional[pulumi.Input[_builtins.str]] = None):
407
819
  """
408
- :param pulumi.Input[str] expression: Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
820
+ JSONPatch defines a JSON Patch.
821
+ :param pulumi.Input[_builtins.str] expression: expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec
409
822
 
410
- 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
411
- See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
412
- 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
413
- request resource.
414
- Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
823
+ expression must return an array of JSONPatch values.
415
824
 
416
- Required.
417
- :param pulumi.Input[str] name: Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
825
+ For example, this CEL expression returns a JSON patch to conditionally modify a value:
826
+
827
+ [
828
+ JSONPatch{op: "test", path: "/spec/example", value: "Red"},
829
+ JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
830
+ ]
831
+
832
+ To define an object for the patch value, use Object types. For example:
833
+
834
+ [
835
+ JSONPatch{
836
+ op: "add",
837
+ path: "/spec/selector",
838
+ value: Object.spec.selector{matchLabels: {"environment": "test"}}
839
+ }
840
+ ]
841
+
842
+ To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
843
+
844
+ [
845
+ JSONPatch{
846
+ op: "add",
847
+ path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
848
+ value: "test"
849
+ },
850
+ ]
851
+
852
+ CEL expressions have access to the types needed to create JSON patches and objects:
853
+
854
+ - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
855
+ See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
856
+ integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
857
+ [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
858
+ function may be used to escape path keys containing '/' and '~'.
859
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
860
+
861
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
862
+
863
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
864
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
865
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
866
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
867
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
868
+ request resource.
869
+
870
+ CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:
871
+
872
+ - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
873
+
874
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
875
+ """
876
+ if expression is not None:
877
+ pulumi.set(__self__, "expression", expression)
878
+
879
+ @_builtins.property
880
+ @pulumi.getter
881
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
882
+ """
883
+ expression will be evaluated by CEL to create a [JSON patch](https://jsonpatch.com/). ref: https://github.com/google/cel-spec
884
+
885
+ expression must return an array of JSONPatch values.
886
+
887
+ For example, this CEL expression returns a JSON patch to conditionally modify a value:
888
+
889
+ [
890
+ JSONPatch{op: "test", path: "/spec/example", value: "Red"},
891
+ JSONPatch{op: "replace", path: "/spec/example", value: "Green"}
892
+ ]
893
+
894
+ To define an object for the patch value, use Object types. For example:
895
+
896
+ [
897
+ JSONPatch{
898
+ op: "add",
899
+ path: "/spec/selector",
900
+ value: Object.spec.selector{matchLabels: {"environment": "test"}}
901
+ }
902
+ ]
903
+
904
+ To use strings containing '/' and '~' as JSONPatch path keys, use "jsonpatch.escapeKey". For example:
905
+
906
+ [
907
+ JSONPatch{
908
+ op: "add",
909
+ path: "/metadata/labels/" + jsonpatch.escapeKey("example.com/environment"),
910
+ value: "test"
911
+ },
912
+ ]
913
+
914
+ CEL expressions have access to the types needed to create JSON patches and objects:
915
+
916
+ - 'JSONPatch' - CEL type of JSON Patch operations. JSONPatch has the fields 'op', 'from', 'path' and 'value'.
917
+ See [JSON patch](https://jsonpatch.com/) for more details. The 'value' field may be set to any of: string,
918
+ integer, array, map or object. If set, the 'path' and 'from' fields must be set to a
919
+ [JSON pointer](https://datatracker.ietf.org/doc/html/rfc6901/) string, where the 'jsonpatch.escapeKey()' CEL
920
+ function may be used to escape path keys containing '/' and '~'.
921
+ - 'Object' - CEL type of the resource object. - 'Object.<fieldName>' - CEL type of object field (such as 'Object.spec') - 'Object.<fieldName1>.<fieldName2>...<fieldNameN>` - CEL type of nested field (such as 'Object.spec.containers')
922
+
923
+ CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables:
924
+
925
+ - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
926
+ For example, a variable named 'foo' can be accessed as 'variables.foo'.
927
+ - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
928
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
929
+ - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
930
+ request resource.
931
+
932
+ CEL expressions have access to [Kubernetes CEL function libraries](https://kubernetes.io/docs/reference/using-api/cel/#cel-options-language-features-and-libraries) as well as:
933
+
934
+ - 'jsonpatch.escapeKey' - Performs JSONPatch key escaping. '~' and '/' are escaped as '~0' and `~1' respectively).
935
+
936
+ Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required.
937
+ """
938
+ return pulumi.get(self, "expression")
939
+
940
+ @expression.setter
941
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
942
+ pulumi.set(self, "expression", value)
943
+
944
+
945
+ if not MYPY:
946
+ class MatchConditionPatchArgsDict(TypedDict):
947
+ expression: NotRequired[pulumi.Input[_builtins.str]]
948
+ """
949
+ Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
950
+
951
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
952
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
953
+ 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
954
+ request resource.
955
+ Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
956
+
957
+ Required.
958
+ """
959
+ name: NotRequired[pulumi.Input[_builtins.str]]
960
+ """
961
+ Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
962
+
963
+ Required.
964
+ """
965
+ elif False:
966
+ MatchConditionPatchArgsDict: TypeAlias = Mapping[str, Any]
967
+
968
+ @pulumi.input_type
969
+ class MatchConditionPatchArgs:
970
+ def __init__(__self__, *,
971
+ expression: Optional[pulumi.Input[_builtins.str]] = None,
972
+ name: Optional[pulumi.Input[_builtins.str]] = None):
973
+ """
974
+ :param pulumi.Input[_builtins.str] expression: Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
975
+
976
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
977
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
978
+ 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
979
+ request resource.
980
+ Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
981
+
982
+ Required.
983
+ :param pulumi.Input[_builtins.str] name: Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
984
+
985
+ Required.
986
+ """
987
+ if expression is not None:
988
+ pulumi.set(__self__, "expression", expression)
989
+ if name is not None:
990
+ pulumi.set(__self__, "name", name)
991
+
992
+ @_builtins.property
993
+ @pulumi.getter
994
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
995
+ """
996
+ Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
997
+
998
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
999
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
1000
+ 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
1001
+ request resource.
1002
+ Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
1003
+
1004
+ Required.
1005
+ """
1006
+ return pulumi.get(self, "expression")
1007
+
1008
+ @expression.setter
1009
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
1010
+ pulumi.set(self, "expression", value)
1011
+
1012
+ @_builtins.property
1013
+ @pulumi.getter
1014
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
1015
+ """
1016
+ Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
1017
+
1018
+ Required.
1019
+ """
1020
+ return pulumi.get(self, "name")
1021
+
1022
+ @name.setter
1023
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
1024
+ pulumi.set(self, "name", value)
1025
+
1026
+
1027
+ if not MYPY:
1028
+ class MatchConditionArgsDict(TypedDict):
1029
+ expression: pulumi.Input[_builtins.str]
1030
+ """
1031
+ Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
1032
+
1033
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
1034
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
1035
+ 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
1036
+ request resource.
1037
+ Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
1038
+
1039
+ Required.
1040
+ """
1041
+ name: pulumi.Input[_builtins.str]
1042
+ """
1043
+ Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
1044
+
1045
+ Required.
1046
+ """
1047
+ elif False:
1048
+ MatchConditionArgsDict: TypeAlias = Mapping[str, Any]
1049
+
1050
+ @pulumi.input_type
1051
+ class MatchConditionArgs:
1052
+ def __init__(__self__, *,
1053
+ expression: pulumi.Input[_builtins.str],
1054
+ name: pulumi.Input[_builtins.str]):
1055
+ """
1056
+ :param pulumi.Input[_builtins.str] expression: Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
1057
+
1058
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request(/pkg/apis/admission/types.go#AdmissionRequest). 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
1059
+ See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
1060
+ 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
1061
+ request resource.
1062
+ Documentation on CEL: https://kubernetes.io/docs/reference/using-api/cel/
1063
+
1064
+ Required.
1065
+ :param pulumi.Input[_builtins.str] name: Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
418
1066
 
419
1067
  Required.
420
1068
  """
421
1069
  pulumi.set(__self__, "expression", expression)
422
1070
  pulumi.set(__self__, "name", name)
423
1071
 
424
- @property
1072
+ @_builtins.property
425
1073
  @pulumi.getter
426
- def expression(self) -> pulumi.Input[str]:
1074
+ def expression(self) -> pulumi.Input[_builtins.str]:
427
1075
  """
428
1076
  Expression represents the expression which will be evaluated by CEL. Must evaluate to bool. CEL expressions have access to the contents of the AdmissionRequest and Authorizer, organized into CEL variables:
429
1077
 
@@ -438,12 +1086,12 @@ class MatchConditionArgs:
438
1086
  return pulumi.get(self, "expression")
439
1087
 
440
1088
  @expression.setter
441
- def expression(self, value: pulumi.Input[str]):
1089
+ def expression(self, value: pulumi.Input[_builtins.str]):
442
1090
  pulumi.set(self, "expression", value)
443
1091
 
444
- @property
1092
+ @_builtins.property
445
1093
  @pulumi.getter
446
- def name(self) -> pulumi.Input[str]:
1094
+ def name(self) -> pulumi.Input[_builtins.str]:
447
1095
  """
448
1096
  Name is an identifier for this match condition, used for strategic merging of MatchConditions, as well as providing an identifier for logging purposes. A good name should be descriptive of the associated expression. Name must be a qualified name consisting of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character (e.g. 'MyName', or 'my.name', or '123-abc', regex used for validation is '([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]') with an optional DNS subdomain prefix and '/' (e.g. 'example.com/MyName')
449
1097
 
@@ -452,7 +1100,7 @@ class MatchConditionArgs:
452
1100
  return pulumi.get(self, "name")
453
1101
 
454
1102
  @name.setter
455
- def name(self, value: pulumi.Input[str]):
1103
+ def name(self, value: pulumi.Input[_builtins.str]):
456
1104
  pulumi.set(self, "name", value)
457
1105
 
458
1106
 
@@ -463,15 +1111,15 @@ if not MYPY:
463
1111
  """
464
1112
  exclude_resource_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgsDict']]]]
465
1113
  """
466
- ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1114
+ ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
467
1115
  """
468
- match_policy: NotRequired[pulumi.Input[str]]
1116
+ match_policy: NotRequired[pulumi.Input[_builtins.str]]
469
1117
  """
470
1118
  matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
471
1119
 
472
- - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.
1120
+ - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.
473
1121
 
474
- - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.
1122
+ - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy **does** consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.
475
1123
 
476
1124
  Defaults to "Equivalent"
477
1125
  """
@@ -511,11 +1159,11 @@ if not MYPY:
511
1159
  """
512
1160
  object_selector: NotRequired[pulumi.Input['_meta.v1.LabelSelectorPatchArgsDict']]
513
1161
  """
514
- ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
1162
+ ObjectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
515
1163
  """
516
1164
  resource_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgsDict']]]]
517
1165
  """
518
- ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
1166
+ ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
519
1167
  """
520
1168
  elif False:
521
1169
  MatchResourcesPatchArgsDict: TypeAlias = Mapping[str, Any]
@@ -524,18 +1172,18 @@ elif False:
524
1172
  class MatchResourcesPatchArgs:
525
1173
  def __init__(__self__, *,
526
1174
  exclude_resource_rules: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]]] = None,
527
- match_policy: Optional[pulumi.Input[str]] = None,
1175
+ match_policy: Optional[pulumi.Input[_builtins.str]] = None,
528
1176
  namespace_selector: Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']] = None,
529
1177
  object_selector: Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']] = None,
530
1178
  resource_rules: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]]] = None):
531
1179
  """
532
1180
  MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
533
- :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]] exclude_resource_rules: ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
534
- :param pulumi.Input[str] match_policy: matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
1181
+ :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]] exclude_resource_rules: ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1182
+ :param pulumi.Input[_builtins.str] match_policy: matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
535
1183
 
536
- - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.
1184
+ - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.
537
1185
 
538
- - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.
1186
+ - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy **does** consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.
539
1187
 
540
1188
  Defaults to "Equivalent"
541
1189
  :param pulumi.Input['_meta.v1.LabelSelectorPatchArgs'] namespace_selector: NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.
@@ -569,8 +1217,8 @@ class MatchResourcesPatchArgs:
569
1217
  See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
570
1218
 
571
1219
  Default to the empty LabelSelector, which matches everything.
572
- :param pulumi.Input['_meta.v1.LabelSelectorPatchArgs'] object_selector: ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
573
- :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]] resource_rules: ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
1220
+ :param pulumi.Input['_meta.v1.LabelSelectorPatchArgs'] object_selector: ObjectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
1221
+ :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]] resource_rules: ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
574
1222
  """
575
1223
  if exclude_resource_rules is not None:
576
1224
  pulumi.set(__self__, "exclude_resource_rules", exclude_resource_rules)
@@ -583,11 +1231,11 @@ class MatchResourcesPatchArgs:
583
1231
  if resource_rules is not None:
584
1232
  pulumi.set(__self__, "resource_rules", resource_rules)
585
1233
 
586
- @property
1234
+ @_builtins.property
587
1235
  @pulumi.getter(name="excludeResourceRules")
588
1236
  def exclude_resource_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]]]:
589
1237
  """
590
- ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1238
+ ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
591
1239
  """
592
1240
  return pulumi.get(self, "exclude_resource_rules")
593
1241
 
@@ -595,25 +1243,25 @@ class MatchResourcesPatchArgs:
595
1243
  def exclude_resource_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]]]):
596
1244
  pulumi.set(self, "exclude_resource_rules", value)
597
1245
 
598
- @property
1246
+ @_builtins.property
599
1247
  @pulumi.getter(name="matchPolicy")
600
- def match_policy(self) -> Optional[pulumi.Input[str]]:
1248
+ def match_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
601
1249
  """
602
1250
  matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
603
1251
 
604
- - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.
1252
+ - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.
605
1253
 
606
- - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.
1254
+ - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy **does** consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.
607
1255
 
608
1256
  Defaults to "Equivalent"
609
1257
  """
610
1258
  return pulumi.get(self, "match_policy")
611
1259
 
612
1260
  @match_policy.setter
613
- def match_policy(self, value: Optional[pulumi.Input[str]]):
1261
+ def match_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
614
1262
  pulumi.set(self, "match_policy", value)
615
1263
 
616
- @property
1264
+ @_builtins.property
617
1265
  @pulumi.getter(name="namespaceSelector")
618
1266
  def namespace_selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']]:
619
1267
  """
@@ -655,11 +1303,11 @@ class MatchResourcesPatchArgs:
655
1303
  def namespace_selector(self, value: Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']]):
656
1304
  pulumi.set(self, "namespace_selector", value)
657
1305
 
658
- @property
1306
+ @_builtins.property
659
1307
  @pulumi.getter(name="objectSelector")
660
1308
  def object_selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']]:
661
1309
  """
662
- ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
1310
+ ObjectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
663
1311
  """
664
1312
  return pulumi.get(self, "object_selector")
665
1313
 
@@ -667,11 +1315,11 @@ class MatchResourcesPatchArgs:
667
1315
  def object_selector(self, value: Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']]):
668
1316
  pulumi.set(self, "object_selector", value)
669
1317
 
670
- @property
1318
+ @_builtins.property
671
1319
  @pulumi.getter(name="resourceRules")
672
1320
  def resource_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsPatchArgs']]]]:
673
1321
  """
674
- ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
1322
+ ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
675
1323
  """
676
1324
  return pulumi.get(self, "resource_rules")
677
1325
 
@@ -687,221 +1335,1162 @@ if not MYPY:
687
1335
  """
688
1336
  exclude_resource_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgsDict']]]]
689
1337
  """
690
- ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1338
+ ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1339
+ """
1340
+ match_policy: NotRequired[pulumi.Input[_builtins.str]]
1341
+ """
1342
+ matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
1343
+
1344
+ - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.
1345
+
1346
+ - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy **does** consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.
1347
+
1348
+ Defaults to "Equivalent"
1349
+ """
1350
+ namespace_selector: NotRequired[pulumi.Input['_meta.v1.LabelSelectorArgsDict']]
1351
+ """
1352
+ NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.
1353
+
1354
+ For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
1355
+ "matchExpressions": [
1356
+ {
1357
+ "key": "runlevel",
1358
+ "operator": "NotIn",
1359
+ "values": [
1360
+ "0",
1361
+ "1"
1362
+ ]
1363
+ }
1364
+ ]
1365
+ }
1366
+
1367
+ If instead you want to only run the policy on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
1368
+ "matchExpressions": [
1369
+ {
1370
+ "key": "environment",
1371
+ "operator": "In",
1372
+ "values": [
1373
+ "prod",
1374
+ "staging"
1375
+ ]
1376
+ }
1377
+ ]
1378
+ }
1379
+
1380
+ See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
1381
+
1382
+ Default to the empty LabelSelector, which matches everything.
1383
+ """
1384
+ object_selector: NotRequired[pulumi.Input['_meta.v1.LabelSelectorArgsDict']]
1385
+ """
1386
+ ObjectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
1387
+ """
1388
+ resource_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgsDict']]]]
1389
+ """
1390
+ ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
1391
+ """
1392
+ elif False:
1393
+ MatchResourcesArgsDict: TypeAlias = Mapping[str, Any]
1394
+
1395
+ @pulumi.input_type
1396
+ class MatchResourcesArgs:
1397
+ def __init__(__self__, *,
1398
+ exclude_resource_rules: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]] = None,
1399
+ match_policy: Optional[pulumi.Input[_builtins.str]] = None,
1400
+ namespace_selector: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']] = None,
1401
+ object_selector: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']] = None,
1402
+ resource_rules: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]] = None):
1403
+ """
1404
+ MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1405
+ :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]] exclude_resource_rules: ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1406
+ :param pulumi.Input[_builtins.str] match_policy: matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
1407
+
1408
+ - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.
1409
+
1410
+ - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy **does** consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.
1411
+
1412
+ Defaults to "Equivalent"
1413
+ :param pulumi.Input['_meta.v1.LabelSelectorArgs'] namespace_selector: NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.
1414
+
1415
+ For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
1416
+ "matchExpressions": [
1417
+ {
1418
+ "key": "runlevel",
1419
+ "operator": "NotIn",
1420
+ "values": [
1421
+ "0",
1422
+ "1"
1423
+ ]
1424
+ }
1425
+ ]
1426
+ }
1427
+
1428
+ If instead you want to only run the policy on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
1429
+ "matchExpressions": [
1430
+ {
1431
+ "key": "environment",
1432
+ "operator": "In",
1433
+ "values": [
1434
+ "prod",
1435
+ "staging"
1436
+ ]
1437
+ }
1438
+ ]
1439
+ }
1440
+
1441
+ See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
1442
+
1443
+ Default to the empty LabelSelector, which matches everything.
1444
+ :param pulumi.Input['_meta.v1.LabelSelectorArgs'] object_selector: ObjectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
1445
+ :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]] resource_rules: ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
1446
+ """
1447
+ if exclude_resource_rules is not None:
1448
+ pulumi.set(__self__, "exclude_resource_rules", exclude_resource_rules)
1449
+ if match_policy is not None:
1450
+ pulumi.set(__self__, "match_policy", match_policy)
1451
+ if namespace_selector is not None:
1452
+ pulumi.set(__self__, "namespace_selector", namespace_selector)
1453
+ if object_selector is not None:
1454
+ pulumi.set(__self__, "object_selector", object_selector)
1455
+ if resource_rules is not None:
1456
+ pulumi.set(__self__, "resource_rules", resource_rules)
1457
+
1458
+ @_builtins.property
1459
+ @pulumi.getter(name="excludeResourceRules")
1460
+ def exclude_resource_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]:
1461
+ """
1462
+ ExcludeResourceRules describes what operations on what resources/subresources the policy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
1463
+ """
1464
+ return pulumi.get(self, "exclude_resource_rules")
1465
+
1466
+ @exclude_resource_rules.setter
1467
+ def exclude_resource_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]):
1468
+ pulumi.set(self, "exclude_resource_rules", value)
1469
+
1470
+ @_builtins.property
1471
+ @pulumi.getter(name="matchPolicy")
1472
+ def match_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
1473
+ """
1474
+ matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
1475
+
1476
+ - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy does not consider requests to apps/v1beta1 or extensions/v1beta1 API groups.
1477
+
1478
+ - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, the admission policy **does** consider requests made to apps/v1beta1 or extensions/v1beta1 API groups. The API server translates the request to a matched resource API if necessary.
1479
+
1480
+ Defaults to "Equivalent"
1481
+ """
1482
+ return pulumi.get(self, "match_policy")
1483
+
1484
+ @match_policy.setter
1485
+ def match_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
1486
+ pulumi.set(self, "match_policy", value)
1487
+
1488
+ @_builtins.property
1489
+ @pulumi.getter(name="namespaceSelector")
1490
+ def namespace_selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]:
1491
+ """
1492
+ NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.
1493
+
1494
+ For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
1495
+ "matchExpressions": [
1496
+ {
1497
+ "key": "runlevel",
1498
+ "operator": "NotIn",
1499
+ "values": [
1500
+ "0",
1501
+ "1"
1502
+ ]
1503
+ }
1504
+ ]
1505
+ }
1506
+
1507
+ If instead you want to only run the policy on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
1508
+ "matchExpressions": [
1509
+ {
1510
+ "key": "environment",
1511
+ "operator": "In",
1512
+ "values": [
1513
+ "prod",
1514
+ "staging"
1515
+ ]
1516
+ }
1517
+ ]
1518
+ }
1519
+
1520
+ See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
1521
+
1522
+ Default to the empty LabelSelector, which matches everything.
1523
+ """
1524
+ return pulumi.get(self, "namespace_selector")
1525
+
1526
+ @namespace_selector.setter
1527
+ def namespace_selector(self, value: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]):
1528
+ pulumi.set(self, "namespace_selector", value)
1529
+
1530
+ @_builtins.property
1531
+ @pulumi.getter(name="objectSelector")
1532
+ def object_selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]:
1533
+ """
1534
+ ObjectSelector decides whether to run the policy based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the policy's expression (CEL), and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
1535
+ """
1536
+ return pulumi.get(self, "object_selector")
1537
+
1538
+ @object_selector.setter
1539
+ def object_selector(self, value: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]):
1540
+ pulumi.set(self, "object_selector", value)
1541
+
1542
+ @_builtins.property
1543
+ @pulumi.getter(name="resourceRules")
1544
+ def resource_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]:
1545
+ """
1546
+ ResourceRules describes what operations on what resources/subresources the admission policy matches. The policy cares about an operation if it matches _any_ Rule.
1547
+ """
1548
+ return pulumi.get(self, "resource_rules")
1549
+
1550
+ @resource_rules.setter
1551
+ def resource_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]):
1552
+ pulumi.set(self, "resource_rules", value)
1553
+
1554
+
1555
+ if not MYPY:
1556
+ class MutatingAdmissionPolicyBindingSpecPatchArgsDict(TypedDict):
1557
+ """
1558
+ MutatingAdmissionPolicyBindingSpec is the specification of the MutatingAdmissionPolicyBinding.
1559
+ """
1560
+ match_resources: NotRequired[pulumi.Input['MatchResourcesPatchArgsDict']]
1561
+ """
1562
+ matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.
1563
+ """
1564
+ param_ref: NotRequired[pulumi.Input['ParamRefPatchArgsDict']]
1565
+ """
1566
+ paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1567
+ """
1568
+ policy_name: NotRequired[pulumi.Input[_builtins.str]]
1569
+ """
1570
+ policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1571
+ """
1572
+ elif False:
1573
+ MutatingAdmissionPolicyBindingSpecPatchArgsDict: TypeAlias = Mapping[str, Any]
1574
+
1575
+ @pulumi.input_type
1576
+ class MutatingAdmissionPolicyBindingSpecPatchArgs:
1577
+ def __init__(__self__, *,
1578
+ match_resources: Optional[pulumi.Input['MatchResourcesPatchArgs']] = None,
1579
+ param_ref: Optional[pulumi.Input['ParamRefPatchArgs']] = None,
1580
+ policy_name: Optional[pulumi.Input[_builtins.str]] = None):
1581
+ """
1582
+ MutatingAdmissionPolicyBindingSpec is the specification of the MutatingAdmissionPolicyBinding.
1583
+ :param pulumi.Input['MatchResourcesPatchArgs'] match_resources: matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.
1584
+ :param pulumi.Input['ParamRefPatchArgs'] param_ref: paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1585
+ :param pulumi.Input[_builtins.str] policy_name: policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1586
+ """
1587
+ if match_resources is not None:
1588
+ pulumi.set(__self__, "match_resources", match_resources)
1589
+ if param_ref is not None:
1590
+ pulumi.set(__self__, "param_ref", param_ref)
1591
+ if policy_name is not None:
1592
+ pulumi.set(__self__, "policy_name", policy_name)
1593
+
1594
+ @_builtins.property
1595
+ @pulumi.getter(name="matchResources")
1596
+ def match_resources(self) -> Optional[pulumi.Input['MatchResourcesPatchArgs']]:
1597
+ """
1598
+ matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.
1599
+ """
1600
+ return pulumi.get(self, "match_resources")
1601
+
1602
+ @match_resources.setter
1603
+ def match_resources(self, value: Optional[pulumi.Input['MatchResourcesPatchArgs']]):
1604
+ pulumi.set(self, "match_resources", value)
1605
+
1606
+ @_builtins.property
1607
+ @pulumi.getter(name="paramRef")
1608
+ def param_ref(self) -> Optional[pulumi.Input['ParamRefPatchArgs']]:
1609
+ """
1610
+ paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1611
+ """
1612
+ return pulumi.get(self, "param_ref")
1613
+
1614
+ @param_ref.setter
1615
+ def param_ref(self, value: Optional[pulumi.Input['ParamRefPatchArgs']]):
1616
+ pulumi.set(self, "param_ref", value)
1617
+
1618
+ @_builtins.property
1619
+ @pulumi.getter(name="policyName")
1620
+ def policy_name(self) -> Optional[pulumi.Input[_builtins.str]]:
1621
+ """
1622
+ policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1623
+ """
1624
+ return pulumi.get(self, "policy_name")
1625
+
1626
+ @policy_name.setter
1627
+ def policy_name(self, value: Optional[pulumi.Input[_builtins.str]]):
1628
+ pulumi.set(self, "policy_name", value)
1629
+
1630
+
1631
+ if not MYPY:
1632
+ class MutatingAdmissionPolicyBindingSpecArgsDict(TypedDict):
1633
+ """
1634
+ MutatingAdmissionPolicyBindingSpec is the specification of the MutatingAdmissionPolicyBinding.
1635
+ """
1636
+ match_resources: NotRequired[pulumi.Input['MatchResourcesArgsDict']]
1637
+ """
1638
+ matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.
1639
+ """
1640
+ param_ref: NotRequired[pulumi.Input['ParamRefArgsDict']]
1641
+ """
1642
+ paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1643
+ """
1644
+ policy_name: NotRequired[pulumi.Input[_builtins.str]]
1645
+ """
1646
+ policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1647
+ """
1648
+ elif False:
1649
+ MutatingAdmissionPolicyBindingSpecArgsDict: TypeAlias = Mapping[str, Any]
1650
+
1651
+ @pulumi.input_type
1652
+ class MutatingAdmissionPolicyBindingSpecArgs:
1653
+ def __init__(__self__, *,
1654
+ match_resources: Optional[pulumi.Input['MatchResourcesArgs']] = None,
1655
+ param_ref: Optional[pulumi.Input['ParamRefArgs']] = None,
1656
+ policy_name: Optional[pulumi.Input[_builtins.str]] = None):
1657
+ """
1658
+ MutatingAdmissionPolicyBindingSpec is the specification of the MutatingAdmissionPolicyBinding.
1659
+ :param pulumi.Input['MatchResourcesArgs'] match_resources: matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.
1660
+ :param pulumi.Input['ParamRefArgs'] param_ref: paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1661
+ :param pulumi.Input[_builtins.str] policy_name: policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1662
+ """
1663
+ if match_resources is not None:
1664
+ pulumi.set(__self__, "match_resources", match_resources)
1665
+ if param_ref is not None:
1666
+ pulumi.set(__self__, "param_ref", param_ref)
1667
+ if policy_name is not None:
1668
+ pulumi.set(__self__, "policy_name", policy_name)
1669
+
1670
+ @_builtins.property
1671
+ @pulumi.getter(name="matchResources")
1672
+ def match_resources(self) -> Optional[pulumi.Input['MatchResourcesArgs']]:
1673
+ """
1674
+ matchResources limits what resources match this binding and may be mutated by it. Note that if matchResources matches a resource, the resource must also match a policy's matchConstraints and matchConditions before the resource may be mutated. When matchResources is unset, it does not constrain resource matching, and only the policy's matchConstraints and matchConditions must match for the resource to be mutated. Additionally, matchResources.resourceRules are optional and do not constraint matching when unset. Note that this is differs from MutatingAdmissionPolicy matchConstraints, where resourceRules are required. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT.
1675
+ """
1676
+ return pulumi.get(self, "match_resources")
1677
+
1678
+ @match_resources.setter
1679
+ def match_resources(self, value: Optional[pulumi.Input['MatchResourcesArgs']]):
1680
+ pulumi.set(self, "match_resources", value)
1681
+
1682
+ @_builtins.property
1683
+ @pulumi.getter(name="paramRef")
1684
+ def param_ref(self) -> Optional[pulumi.Input['ParamRefArgs']]:
1685
+ """
1686
+ paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in spec.ParamKind of the bound MutatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the MutatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1687
+ """
1688
+ return pulumi.get(self, "param_ref")
1689
+
1690
+ @param_ref.setter
1691
+ def param_ref(self, value: Optional[pulumi.Input['ParamRefArgs']]):
1692
+ pulumi.set(self, "param_ref", value)
1693
+
1694
+ @_builtins.property
1695
+ @pulumi.getter(name="policyName")
1696
+ def policy_name(self) -> Optional[pulumi.Input[_builtins.str]]:
1697
+ """
1698
+ policyName references a MutatingAdmissionPolicy name which the MutatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1699
+ """
1700
+ return pulumi.get(self, "policy_name")
1701
+
1702
+ @policy_name.setter
1703
+ def policy_name(self, value: Optional[pulumi.Input[_builtins.str]]):
1704
+ pulumi.set(self, "policy_name", value)
1705
+
1706
+
1707
+ if not MYPY:
1708
+ class MutatingAdmissionPolicyBindingArgsDict(TypedDict):
1709
+ """
1710
+ MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources. MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators configure policies for clusters.
1711
+
1712
+ For a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding. Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).
1713
+
1714
+ Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.
1715
+ """
1716
+ api_version: NotRequired[pulumi.Input[_builtins.str]]
1717
+ """
1718
+ 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
1719
+ """
1720
+ kind: NotRequired[pulumi.Input[_builtins.str]]
1721
+ """
1722
+ 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
1723
+ """
1724
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
1725
+ """
1726
+ Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
1727
+ """
1728
+ spec: NotRequired[pulumi.Input['MutatingAdmissionPolicyBindingSpecArgsDict']]
1729
+ """
1730
+ Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
1731
+ """
1732
+ elif False:
1733
+ MutatingAdmissionPolicyBindingArgsDict: TypeAlias = Mapping[str, Any]
1734
+
1735
+ @pulumi.input_type
1736
+ class MutatingAdmissionPolicyBindingArgs:
1737
+ def __init__(__self__, *,
1738
+ api_version: Optional[pulumi.Input[_builtins.str]] = None,
1739
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
1740
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
1741
+ spec: Optional[pulumi.Input['MutatingAdmissionPolicyBindingSpecArgs']] = None):
1742
+ """
1743
+ MutatingAdmissionPolicyBinding binds the MutatingAdmissionPolicy with parametrized resources. MutatingAdmissionPolicyBinding and the optional parameter resource together define how cluster administrators configure policies for clusters.
1744
+
1745
+ For a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding. Each evaluation is constrained by a [runtime cost budget](https://kubernetes.io/docs/reference/using-api/cel/#runtime-cost-budget).
1746
+
1747
+ Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.
1748
+ :param pulumi.Input[_builtins.str] api_version: 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
1749
+ :param pulumi.Input[_builtins.str] kind: 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
1750
+ :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
1751
+ :param pulumi.Input['MutatingAdmissionPolicyBindingSpecArgs'] spec: Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
1752
+ """
1753
+ if api_version is not None:
1754
+ pulumi.set(__self__, "api_version", 'admissionregistration.k8s.io/v1alpha1')
1755
+ if kind is not None:
1756
+ pulumi.set(__self__, "kind", 'MutatingAdmissionPolicyBinding')
1757
+ if metadata is not None:
1758
+ pulumi.set(__self__, "metadata", metadata)
1759
+ if spec is not None:
1760
+ pulumi.set(__self__, "spec", spec)
1761
+
1762
+ @_builtins.property
1763
+ @pulumi.getter(name="apiVersion")
1764
+ def api_version(self) -> Optional[pulumi.Input[_builtins.str]]:
1765
+ """
1766
+ 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
1767
+ """
1768
+ return pulumi.get(self, "api_version")
1769
+
1770
+ @api_version.setter
1771
+ def api_version(self, value: Optional[pulumi.Input[_builtins.str]]):
1772
+ pulumi.set(self, "api_version", value)
1773
+
1774
+ @_builtins.property
1775
+ @pulumi.getter
1776
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
1777
+ """
1778
+ 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
1779
+ """
1780
+ return pulumi.get(self, "kind")
1781
+
1782
+ @kind.setter
1783
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
1784
+ pulumi.set(self, "kind", value)
1785
+
1786
+ @_builtins.property
1787
+ @pulumi.getter
1788
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
1789
+ """
1790
+ Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
1791
+ """
1792
+ return pulumi.get(self, "metadata")
1793
+
1794
+ @metadata.setter
1795
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
1796
+ pulumi.set(self, "metadata", value)
1797
+
1798
+ @_builtins.property
1799
+ @pulumi.getter
1800
+ def spec(self) -> Optional[pulumi.Input['MutatingAdmissionPolicyBindingSpecArgs']]:
1801
+ """
1802
+ Specification of the desired behavior of the MutatingAdmissionPolicyBinding.
1803
+ """
1804
+ return pulumi.get(self, "spec")
1805
+
1806
+ @spec.setter
1807
+ def spec(self, value: Optional[pulumi.Input['MutatingAdmissionPolicyBindingSpecArgs']]):
1808
+ pulumi.set(self, "spec", value)
1809
+
1810
+
1811
+ if not MYPY:
1812
+ class MutatingAdmissionPolicySpecPatchArgsDict(TypedDict):
1813
+ """
1814
+ MutatingAdmissionPolicySpec is the specification of the desired behavior of the admission policy.
1815
+ """
1816
+ failure_policy: NotRequired[pulumi.Input[_builtins.str]]
1817
+ """
1818
+ failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
1819
+
1820
+ A policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.
1821
+
1822
+ failurePolicy does not define how validations that evaluate to false are handled.
1823
+
1824
+ Allowed values are Ignore or Fail. Defaults to Fail.
1825
+ """
1826
+ match_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgsDict']]]]
1827
+ """
1828
+ matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
1829
+
1830
+ If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
1831
+
1832
+ The exact matching logic is (in order):
1833
+ 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
1834
+ 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
1835
+ 3. If any matchCondition evaluates to an error (but none are FALSE):
1836
+ - If failurePolicy=Fail, reject the request
1837
+ - If failurePolicy=Ignore, the policy is skipped
1838
+ """
1839
+ match_constraints: NotRequired[pulumi.Input['MatchResourcesPatchArgsDict']]
1840
+ """
1841
+ matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.
1842
+ """
1843
+ mutations: NotRequired[pulumi.Input[Sequence[pulumi.Input['MutationPatchArgsDict']]]]
1844
+ """
1845
+ mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.
1846
+ """
1847
+ param_kind: NotRequired[pulumi.Input['ParamKindPatchArgsDict']]
1848
+ """
1849
+ paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
1850
+ """
1851
+ reinvocation_policy: NotRequired[pulumi.Input[_builtins.str]]
1852
+ """
1853
+ reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded".
1854
+
1855
+ Never: These mutations will not be called more than once per binding in a single admission evaluation.
1856
+
1857
+ IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.
1858
+ """
1859
+ variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['VariablePatchArgsDict']]]]
1860
+ """
1861
+ variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.
1862
+
1863
+ The expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.
1864
+ """
1865
+ elif False:
1866
+ MutatingAdmissionPolicySpecPatchArgsDict: TypeAlias = Mapping[str, Any]
1867
+
1868
+ @pulumi.input_type
1869
+ class MutatingAdmissionPolicySpecPatchArgs:
1870
+ def __init__(__self__, *,
1871
+ failure_policy: Optional[pulumi.Input[_builtins.str]] = None,
1872
+ match_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]]] = None,
1873
+ match_constraints: Optional[pulumi.Input['MatchResourcesPatchArgs']] = None,
1874
+ mutations: Optional[pulumi.Input[Sequence[pulumi.Input['MutationPatchArgs']]]] = None,
1875
+ param_kind: Optional[pulumi.Input['ParamKindPatchArgs']] = None,
1876
+ reinvocation_policy: Optional[pulumi.Input[_builtins.str]] = None,
1877
+ variables: Optional[pulumi.Input[Sequence[pulumi.Input['VariablePatchArgs']]]] = None):
1878
+ """
1879
+ MutatingAdmissionPolicySpec is the specification of the desired behavior of the admission policy.
1880
+ :param pulumi.Input[_builtins.str] failure_policy: failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
1881
+
1882
+ A policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.
1883
+
1884
+ failurePolicy does not define how validations that evaluate to false are handled.
1885
+
1886
+ Allowed values are Ignore or Fail. Defaults to Fail.
1887
+ :param pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]] match_conditions: matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
1888
+
1889
+ If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
1890
+
1891
+ The exact matching logic is (in order):
1892
+ 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
1893
+ 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
1894
+ 3. If any matchCondition evaluates to an error (but none are FALSE):
1895
+ - If failurePolicy=Fail, reject the request
1896
+ - If failurePolicy=Ignore, the policy is skipped
1897
+ :param pulumi.Input['MatchResourcesPatchArgs'] match_constraints: matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.
1898
+ :param pulumi.Input[Sequence[pulumi.Input['MutationPatchArgs']]] mutations: mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.
1899
+ :param pulumi.Input['ParamKindPatchArgs'] param_kind: paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
1900
+ :param pulumi.Input[_builtins.str] reinvocation_policy: reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded".
1901
+
1902
+ Never: These mutations will not be called more than once per binding in a single admission evaluation.
1903
+
1904
+ IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.
1905
+ :param pulumi.Input[Sequence[pulumi.Input['VariablePatchArgs']]] variables: variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.
1906
+
1907
+ The expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.
1908
+ """
1909
+ if failure_policy is not None:
1910
+ pulumi.set(__self__, "failure_policy", failure_policy)
1911
+ if match_conditions is not None:
1912
+ pulumi.set(__self__, "match_conditions", match_conditions)
1913
+ if match_constraints is not None:
1914
+ pulumi.set(__self__, "match_constraints", match_constraints)
1915
+ if mutations is not None:
1916
+ pulumi.set(__self__, "mutations", mutations)
1917
+ if param_kind is not None:
1918
+ pulumi.set(__self__, "param_kind", param_kind)
1919
+ if reinvocation_policy is not None:
1920
+ pulumi.set(__self__, "reinvocation_policy", reinvocation_policy)
1921
+ if variables is not None:
1922
+ pulumi.set(__self__, "variables", variables)
1923
+
1924
+ @_builtins.property
1925
+ @pulumi.getter(name="failurePolicy")
1926
+ def failure_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
1927
+ """
1928
+ failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
1929
+
1930
+ A policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.
1931
+
1932
+ failurePolicy does not define how validations that evaluate to false are handled.
1933
+
1934
+ Allowed values are Ignore or Fail. Defaults to Fail.
1935
+ """
1936
+ return pulumi.get(self, "failure_policy")
1937
+
1938
+ @failure_policy.setter
1939
+ def failure_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
1940
+ pulumi.set(self, "failure_policy", value)
1941
+
1942
+ @_builtins.property
1943
+ @pulumi.getter(name="matchConditions")
1944
+ def match_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]]]:
1945
+ """
1946
+ matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
1947
+
1948
+ If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
1949
+
1950
+ The exact matching logic is (in order):
1951
+ 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
1952
+ 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
1953
+ 3. If any matchCondition evaluates to an error (but none are FALSE):
1954
+ - If failurePolicy=Fail, reject the request
1955
+ - If failurePolicy=Ignore, the policy is skipped
1956
+ """
1957
+ return pulumi.get(self, "match_conditions")
1958
+
1959
+ @match_conditions.setter
1960
+ def match_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]]]):
1961
+ pulumi.set(self, "match_conditions", value)
1962
+
1963
+ @_builtins.property
1964
+ @pulumi.getter(name="matchConstraints")
1965
+ def match_constraints(self) -> Optional[pulumi.Input['MatchResourcesPatchArgs']]:
1966
+ """
1967
+ matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.
1968
+ """
1969
+ return pulumi.get(self, "match_constraints")
1970
+
1971
+ @match_constraints.setter
1972
+ def match_constraints(self, value: Optional[pulumi.Input['MatchResourcesPatchArgs']]):
1973
+ pulumi.set(self, "match_constraints", value)
1974
+
1975
+ @_builtins.property
1976
+ @pulumi.getter
1977
+ def mutations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MutationPatchArgs']]]]:
1978
+ """
1979
+ mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.
1980
+ """
1981
+ return pulumi.get(self, "mutations")
1982
+
1983
+ @mutations.setter
1984
+ def mutations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MutationPatchArgs']]]]):
1985
+ pulumi.set(self, "mutations", value)
1986
+
1987
+ @_builtins.property
1988
+ @pulumi.getter(name="paramKind")
1989
+ def param_kind(self) -> Optional[pulumi.Input['ParamKindPatchArgs']]:
1990
+ """
1991
+ paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
1992
+ """
1993
+ return pulumi.get(self, "param_kind")
1994
+
1995
+ @param_kind.setter
1996
+ def param_kind(self, value: Optional[pulumi.Input['ParamKindPatchArgs']]):
1997
+ pulumi.set(self, "param_kind", value)
1998
+
1999
+ @_builtins.property
2000
+ @pulumi.getter(name="reinvocationPolicy")
2001
+ def reinvocation_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
2002
+ """
2003
+ reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded".
2004
+
2005
+ Never: These mutations will not be called more than once per binding in a single admission evaluation.
2006
+
2007
+ IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.
2008
+ """
2009
+ return pulumi.get(self, "reinvocation_policy")
2010
+
2011
+ @reinvocation_policy.setter
2012
+ def reinvocation_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
2013
+ pulumi.set(self, "reinvocation_policy", value)
2014
+
2015
+ @_builtins.property
2016
+ @pulumi.getter
2017
+ def variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VariablePatchArgs']]]]:
2018
+ """
2019
+ variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.
2020
+
2021
+ The expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.
2022
+ """
2023
+ return pulumi.get(self, "variables")
2024
+
2025
+ @variables.setter
2026
+ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VariablePatchArgs']]]]):
2027
+ pulumi.set(self, "variables", value)
2028
+
2029
+
2030
+ if not MYPY:
2031
+ class MutatingAdmissionPolicySpecArgsDict(TypedDict):
2032
+ """
2033
+ MutatingAdmissionPolicySpec is the specification of the desired behavior of the admission policy.
2034
+ """
2035
+ failure_policy: NotRequired[pulumi.Input[_builtins.str]]
2036
+ """
2037
+ failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2038
+
2039
+ A policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.
2040
+
2041
+ failurePolicy does not define how validations that evaluate to false are handled.
2042
+
2043
+ Allowed values are Ignore or Fail. Defaults to Fail.
2044
+ """
2045
+ match_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgsDict']]]]
2046
+ """
2047
+ matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
2048
+
2049
+ If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
2050
+
2051
+ The exact matching logic is (in order):
2052
+ 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
2053
+ 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
2054
+ 3. If any matchCondition evaluates to an error (but none are FALSE):
2055
+ - If failurePolicy=Fail, reject the request
2056
+ - If failurePolicy=Ignore, the policy is skipped
2057
+ """
2058
+ match_constraints: NotRequired[pulumi.Input['MatchResourcesArgsDict']]
2059
+ """
2060
+ matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.
2061
+ """
2062
+ mutations: NotRequired[pulumi.Input[Sequence[pulumi.Input['MutationArgsDict']]]]
2063
+ """
2064
+ mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.
2065
+ """
2066
+ param_kind: NotRequired[pulumi.Input['ParamKindArgsDict']]
2067
+ """
2068
+ paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
2069
+ """
2070
+ reinvocation_policy: NotRequired[pulumi.Input[_builtins.str]]
2071
+ """
2072
+ reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded".
2073
+
2074
+ Never: These mutations will not be called more than once per binding in a single admission evaluation.
2075
+
2076
+ IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.
2077
+ """
2078
+ variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['VariableArgsDict']]]]
2079
+ """
2080
+ variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.
2081
+
2082
+ The expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.
2083
+ """
2084
+ elif False:
2085
+ MutatingAdmissionPolicySpecArgsDict: TypeAlias = Mapping[str, Any]
2086
+
2087
+ @pulumi.input_type
2088
+ class MutatingAdmissionPolicySpecArgs:
2089
+ def __init__(__self__, *,
2090
+ failure_policy: Optional[pulumi.Input[_builtins.str]] = None,
2091
+ match_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]]] = None,
2092
+ match_constraints: Optional[pulumi.Input['MatchResourcesArgs']] = None,
2093
+ mutations: Optional[pulumi.Input[Sequence[pulumi.Input['MutationArgs']]]] = None,
2094
+ param_kind: Optional[pulumi.Input['ParamKindArgs']] = None,
2095
+ reinvocation_policy: Optional[pulumi.Input[_builtins.str]] = None,
2096
+ variables: Optional[pulumi.Input[Sequence[pulumi.Input['VariableArgs']]]] = None):
2097
+ """
2098
+ MutatingAdmissionPolicySpec is the specification of the desired behavior of the admission policy.
2099
+ :param pulumi.Input[_builtins.str] failure_policy: failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2100
+
2101
+ A policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.
2102
+
2103
+ failurePolicy does not define how validations that evaluate to false are handled.
2104
+
2105
+ Allowed values are Ignore or Fail. Defaults to Fail.
2106
+ :param pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]] match_conditions: matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
2107
+
2108
+ If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
2109
+
2110
+ The exact matching logic is (in order):
2111
+ 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
2112
+ 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
2113
+ 3. If any matchCondition evaluates to an error (but none are FALSE):
2114
+ - If failurePolicy=Fail, reject the request
2115
+ - If failurePolicy=Ignore, the policy is skipped
2116
+ :param pulumi.Input['MatchResourcesArgs'] match_constraints: matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.
2117
+ :param pulumi.Input[Sequence[pulumi.Input['MutationArgs']]] mutations: mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.
2118
+ :param pulumi.Input['ParamKindArgs'] param_kind: paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
2119
+ :param pulumi.Input[_builtins.str] reinvocation_policy: reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded".
2120
+
2121
+ Never: These mutations will not be called more than once per binding in a single admission evaluation.
2122
+
2123
+ IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.
2124
+ :param pulumi.Input[Sequence[pulumi.Input['VariableArgs']]] variables: variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.
2125
+
2126
+ The expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.
2127
+ """
2128
+ if failure_policy is not None:
2129
+ pulumi.set(__self__, "failure_policy", failure_policy)
2130
+ if match_conditions is not None:
2131
+ pulumi.set(__self__, "match_conditions", match_conditions)
2132
+ if match_constraints is not None:
2133
+ pulumi.set(__self__, "match_constraints", match_constraints)
2134
+ if mutations is not None:
2135
+ pulumi.set(__self__, "mutations", mutations)
2136
+ if param_kind is not None:
2137
+ pulumi.set(__self__, "param_kind", param_kind)
2138
+ if reinvocation_policy is not None:
2139
+ pulumi.set(__self__, "reinvocation_policy", reinvocation_policy)
2140
+ if variables is not None:
2141
+ pulumi.set(__self__, "variables", variables)
2142
+
2143
+ @_builtins.property
2144
+ @pulumi.getter(name="failurePolicy")
2145
+ def failure_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
2146
+ """
2147
+ failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2148
+
2149
+ A policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource.
2150
+
2151
+ failurePolicy does not define how validations that evaluate to false are handled.
2152
+
2153
+ Allowed values are Ignore or Fail. Defaults to Fail.
2154
+ """
2155
+ return pulumi.get(self, "failure_policy")
2156
+
2157
+ @failure_policy.setter
2158
+ def failure_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
2159
+ pulumi.set(self, "failure_policy", value)
2160
+
2161
+ @_builtins.property
2162
+ @pulumi.getter(name="matchConditions")
2163
+ def match_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]]]:
2164
+ """
2165
+ matchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the matchConstraints. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
2166
+
2167
+ If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
2168
+
2169
+ The exact matching logic is (in order):
2170
+ 1. If ANY matchCondition evaluates to FALSE, the policy is skipped.
2171
+ 2. If ALL matchConditions evaluate to TRUE, the policy is evaluated.
2172
+ 3. If any matchCondition evaluates to an error (but none are FALSE):
2173
+ - If failurePolicy=Fail, reject the request
2174
+ - If failurePolicy=Ignore, the policy is skipped
2175
+ """
2176
+ return pulumi.get(self, "match_conditions")
2177
+
2178
+ @match_conditions.setter
2179
+ def match_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]]]):
2180
+ pulumi.set(self, "match_conditions", value)
2181
+
2182
+ @_builtins.property
2183
+ @pulumi.getter(name="matchConstraints")
2184
+ def match_constraints(self) -> Optional[pulumi.Input['MatchResourcesArgs']]:
2185
+ """
2186
+ matchConstraints specifies what resources this policy is designed to validate. The MutatingAdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API MutatingAdmissionPolicy cannot match MutatingAdmissionPolicy and MutatingAdmissionPolicyBinding. The CREATE, UPDATE and CONNECT operations are allowed. The DELETE operation may not be matched. '*' matches CREATE, UPDATE and CONNECT. Required.
2187
+ """
2188
+ return pulumi.get(self, "match_constraints")
2189
+
2190
+ @match_constraints.setter
2191
+ def match_constraints(self, value: Optional[pulumi.Input['MatchResourcesArgs']]):
2192
+ pulumi.set(self, "match_constraints", value)
2193
+
2194
+ @_builtins.property
2195
+ @pulumi.getter
2196
+ def mutations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MutationArgs']]]]:
2197
+ """
2198
+ mutations contain operations to perform on matching objects. mutations may not be empty; a minimum of one mutation is required. mutations are evaluated in order, and are reinvoked according to the reinvocationPolicy. The mutations of a policy are invoked for each binding of this policy and reinvocation of mutations occurs on a per binding basis.
2199
+ """
2200
+ return pulumi.get(self, "mutations")
2201
+
2202
+ @mutations.setter
2203
+ def mutations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MutationArgs']]]]):
2204
+ pulumi.set(self, "mutations", value)
2205
+
2206
+ @_builtins.property
2207
+ @pulumi.getter(name="paramKind")
2208
+ def param_kind(self) -> Optional[pulumi.Input['ParamKindArgs']]:
2209
+ """
2210
+ paramKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If paramKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in MutatingAdmissionPolicyBinding, the params variable will be null.
2211
+ """
2212
+ return pulumi.get(self, "param_kind")
2213
+
2214
+ @param_kind.setter
2215
+ def param_kind(self, value: Optional[pulumi.Input['ParamKindArgs']]):
2216
+ pulumi.set(self, "param_kind", value)
2217
+
2218
+ @_builtins.property
2219
+ @pulumi.getter(name="reinvocationPolicy")
2220
+ def reinvocation_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
2221
+ """
2222
+ reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded".
2223
+
2224
+ Never: These mutations will not be called more than once per binding in a single admission evaluation.
2225
+
2226
+ IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required.
2227
+ """
2228
+ return pulumi.get(self, "reinvocation_policy")
2229
+
2230
+ @reinvocation_policy.setter
2231
+ def reinvocation_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
2232
+ pulumi.set(self, "reinvocation_policy", value)
2233
+
2234
+ @_builtins.property
2235
+ @pulumi.getter
2236
+ def variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VariableArgs']]]]:
2237
+ """
2238
+ variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except matchConditions because matchConditions are evaluated before the rest of the policy.
2239
+
2240
+ The expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, variables must be sorted by the order of first appearance and acyclic.
2241
+ """
2242
+ return pulumi.get(self, "variables")
2243
+
2244
+ @variables.setter
2245
+ def variables(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VariableArgs']]]]):
2246
+ pulumi.set(self, "variables", value)
2247
+
2248
+
2249
+ if not MYPY:
2250
+ class MutatingAdmissionPolicyArgsDict(TypedDict):
2251
+ """
2252
+ MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
2253
+ """
2254
+ api_version: NotRequired[pulumi.Input[_builtins.str]]
2255
+ """
2256
+ 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
2257
+ """
2258
+ kind: NotRequired[pulumi.Input[_builtins.str]]
2259
+ """
2260
+ 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
2261
+ """
2262
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
2263
+ """
2264
+ Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
2265
+ """
2266
+ spec: NotRequired[pulumi.Input['MutatingAdmissionPolicySpecArgsDict']]
2267
+ """
2268
+ Specification of the desired behavior of the MutatingAdmissionPolicy.
2269
+ """
2270
+ elif False:
2271
+ MutatingAdmissionPolicyArgsDict: TypeAlias = Mapping[str, Any]
2272
+
2273
+ @pulumi.input_type
2274
+ class MutatingAdmissionPolicyArgs:
2275
+ def __init__(__self__, *,
2276
+ api_version: Optional[pulumi.Input[_builtins.str]] = None,
2277
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
2278
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
2279
+ spec: Optional[pulumi.Input['MutatingAdmissionPolicySpecArgs']] = None):
2280
+ """
2281
+ MutatingAdmissionPolicy describes the definition of an admission mutation policy that mutates the object coming into admission chain.
2282
+ :param pulumi.Input[_builtins.str] api_version: 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
2283
+ :param pulumi.Input[_builtins.str] kind: 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
2284
+ :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
2285
+ :param pulumi.Input['MutatingAdmissionPolicySpecArgs'] spec: Specification of the desired behavior of the MutatingAdmissionPolicy.
2286
+ """
2287
+ if api_version is not None:
2288
+ pulumi.set(__self__, "api_version", 'admissionregistration.k8s.io/v1alpha1')
2289
+ if kind is not None:
2290
+ pulumi.set(__self__, "kind", 'MutatingAdmissionPolicy')
2291
+ if metadata is not None:
2292
+ pulumi.set(__self__, "metadata", metadata)
2293
+ if spec is not None:
2294
+ pulumi.set(__self__, "spec", spec)
2295
+
2296
+ @_builtins.property
2297
+ @pulumi.getter(name="apiVersion")
2298
+ def api_version(self) -> Optional[pulumi.Input[_builtins.str]]:
2299
+ """
2300
+ 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
2301
+ """
2302
+ return pulumi.get(self, "api_version")
2303
+
2304
+ @api_version.setter
2305
+ def api_version(self, value: Optional[pulumi.Input[_builtins.str]]):
2306
+ pulumi.set(self, "api_version", value)
2307
+
2308
+ @_builtins.property
2309
+ @pulumi.getter
2310
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
2311
+ """
2312
+ 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
2313
+ """
2314
+ return pulumi.get(self, "kind")
2315
+
2316
+ @kind.setter
2317
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
2318
+ pulumi.set(self, "kind", value)
2319
+
2320
+ @_builtins.property
2321
+ @pulumi.getter
2322
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
691
2323
  """
692
- match_policy: NotRequired[pulumi.Input[str]]
2324
+ Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
693
2325
  """
694
- matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
695
-
696
- - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.
2326
+ return pulumi.get(self, "metadata")
697
2327
 
698
- - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.
2328
+ @metadata.setter
2329
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
2330
+ pulumi.set(self, "metadata", value)
699
2331
 
700
- Defaults to "Equivalent"
2332
+ @_builtins.property
2333
+ @pulumi.getter
2334
+ def spec(self) -> Optional[pulumi.Input['MutatingAdmissionPolicySpecArgs']]:
701
2335
  """
702
- namespace_selector: NotRequired[pulumi.Input['_meta.v1.LabelSelectorArgsDict']]
2336
+ Specification of the desired behavior of the MutatingAdmissionPolicy.
703
2337
  """
704
- NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.
705
-
706
- For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
707
- "matchExpressions": [
708
- {
709
- "key": "runlevel",
710
- "operator": "NotIn",
711
- "values": [
712
- "0",
713
- "1"
714
- ]
715
- }
716
- ]
717
- }
2338
+ return pulumi.get(self, "spec")
718
2339
 
719
- If instead you want to only run the policy on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
720
- "matchExpressions": [
721
- {
722
- "key": "environment",
723
- "operator": "In",
724
- "values": [
725
- "prod",
726
- "staging"
727
- ]
728
- }
729
- ]
730
- }
2340
+ @spec.setter
2341
+ def spec(self, value: Optional[pulumi.Input['MutatingAdmissionPolicySpecArgs']]):
2342
+ pulumi.set(self, "spec", value)
731
2343
 
732
- See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
733
2344
 
734
- Default to the empty LabelSelector, which matches everything.
2345
+ if not MYPY:
2346
+ class MutationPatchArgsDict(TypedDict):
735
2347
  """
736
- object_selector: NotRequired[pulumi.Input['_meta.v1.LabelSelectorArgsDict']]
2348
+ Mutation specifies the CEL expression which is used to apply the Mutation.
737
2349
  """
738
- ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
2350
+ apply_configuration: NotRequired[pulumi.Input['ApplyConfigurationPatchArgsDict']]
739
2351
  """
740
- resource_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgsDict']]]]
2352
+ applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.
741
2353
  """
742
- ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
2354
+ json_patch: NotRequired[pulumi.Input['JSONPatchPatchArgsDict']]
2355
+ """
2356
+ jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.
2357
+ """
2358
+ patch_type: NotRequired[pulumi.Input[_builtins.str]]
2359
+ """
2360
+ patchType indicates the patch strategy used. Allowed values are "ApplyConfiguration" and "JSONPatch". Required.
743
2361
  """
744
2362
  elif False:
745
- MatchResourcesArgsDict: TypeAlias = Mapping[str, Any]
2363
+ MutationPatchArgsDict: TypeAlias = Mapping[str, Any]
746
2364
 
747
2365
  @pulumi.input_type
748
- class MatchResourcesArgs:
2366
+ class MutationPatchArgs:
749
2367
  def __init__(__self__, *,
750
- exclude_resource_rules: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]] = None,
751
- match_policy: Optional[pulumi.Input[str]] = None,
752
- namespace_selector: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']] = None,
753
- object_selector: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']] = None,
754
- resource_rules: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]] = None):
2368
+ apply_configuration: Optional[pulumi.Input['ApplyConfigurationPatchArgs']] = None,
2369
+ json_patch: Optional[pulumi.Input['JSONPatchPatchArgs']] = None,
2370
+ patch_type: Optional[pulumi.Input[_builtins.str]] = None):
755
2371
  """
756
- MatchResources decides whether to run the admission control policy on an object based on whether it meets the match criteria. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
757
- :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]] exclude_resource_rules: ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
758
- :param pulumi.Input[str] match_policy: matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
759
-
760
- - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.
761
-
762
- - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.
763
-
764
- Defaults to "Equivalent"
765
- :param pulumi.Input['_meta.v1.LabelSelectorArgs'] namespace_selector: NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.
766
-
767
- For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
768
- "matchExpressions": [
769
- {
770
- "key": "runlevel",
771
- "operator": "NotIn",
772
- "values": [
773
- "0",
774
- "1"
775
- ]
776
- }
777
- ]
778
- }
779
-
780
- If instead you want to only run the policy on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
781
- "matchExpressions": [
782
- {
783
- "key": "environment",
784
- "operator": "In",
785
- "values": [
786
- "prod",
787
- "staging"
788
- ]
789
- }
790
- ]
791
- }
792
-
793
- See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
794
-
795
- Default to the empty LabelSelector, which matches everything.
796
- :param pulumi.Input['_meta.v1.LabelSelectorArgs'] object_selector: ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
797
- :param pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]] resource_rules: ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
2372
+ Mutation specifies the CEL expression which is used to apply the Mutation.
2373
+ :param pulumi.Input['ApplyConfigurationPatchArgs'] apply_configuration: applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.
2374
+ :param pulumi.Input['JSONPatchPatchArgs'] json_patch: jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.
2375
+ :param pulumi.Input[_builtins.str] patch_type: patchType indicates the patch strategy used. Allowed values are "ApplyConfiguration" and "JSONPatch". Required.
798
2376
  """
799
- if exclude_resource_rules is not None:
800
- pulumi.set(__self__, "exclude_resource_rules", exclude_resource_rules)
801
- if match_policy is not None:
802
- pulumi.set(__self__, "match_policy", match_policy)
803
- if namespace_selector is not None:
804
- pulumi.set(__self__, "namespace_selector", namespace_selector)
805
- if object_selector is not None:
806
- pulumi.set(__self__, "object_selector", object_selector)
807
- if resource_rules is not None:
808
- pulumi.set(__self__, "resource_rules", resource_rules)
2377
+ if apply_configuration is not None:
2378
+ pulumi.set(__self__, "apply_configuration", apply_configuration)
2379
+ if json_patch is not None:
2380
+ pulumi.set(__self__, "json_patch", json_patch)
2381
+ if patch_type is not None:
2382
+ pulumi.set(__self__, "patch_type", patch_type)
809
2383
 
810
- @property
811
- @pulumi.getter(name="excludeResourceRules")
812
- def exclude_resource_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]:
2384
+ @_builtins.property
2385
+ @pulumi.getter(name="applyConfiguration")
2386
+ def apply_configuration(self) -> Optional[pulumi.Input['ApplyConfigurationPatchArgs']]:
813
2387
  """
814
- ExcludeResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy should not care about. The exclude rules take precedence over include rules (if a resource matches both, it is excluded)
2388
+ applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.
815
2389
  """
816
- return pulumi.get(self, "exclude_resource_rules")
2390
+ return pulumi.get(self, "apply_configuration")
817
2391
 
818
- @exclude_resource_rules.setter
819
- def exclude_resource_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]):
820
- pulumi.set(self, "exclude_resource_rules", value)
2392
+ @apply_configuration.setter
2393
+ def apply_configuration(self, value: Optional[pulumi.Input['ApplyConfigurationPatchArgs']]):
2394
+ pulumi.set(self, "apply_configuration", value)
821
2395
 
822
- @property
823
- @pulumi.getter(name="matchPolicy")
824
- def match_policy(self) -> Optional[pulumi.Input[str]]:
2396
+ @_builtins.property
2397
+ @pulumi.getter(name="jsonPatch")
2398
+ def json_patch(self) -> Optional[pulumi.Input['JSONPatchPatchArgs']]:
825
2399
  """
826
- matchPolicy defines how the "MatchResources" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent".
827
-
828
- - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the ValidatingAdmissionPolicy.
829
-
830
- - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]`, a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the ValidatingAdmissionPolicy.
831
-
832
- Defaults to "Equivalent"
2400
+ jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.
833
2401
  """
834
- return pulumi.get(self, "match_policy")
2402
+ return pulumi.get(self, "json_patch")
835
2403
 
836
- @match_policy.setter
837
- def match_policy(self, value: Optional[pulumi.Input[str]]):
838
- pulumi.set(self, "match_policy", value)
2404
+ @json_patch.setter
2405
+ def json_patch(self, value: Optional[pulumi.Input['JSONPatchPatchArgs']]):
2406
+ pulumi.set(self, "json_patch", value)
839
2407
 
840
- @property
841
- @pulumi.getter(name="namespaceSelector")
842
- def namespace_selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]:
2408
+ @_builtins.property
2409
+ @pulumi.getter(name="patchType")
2410
+ def patch_type(self) -> Optional[pulumi.Input[_builtins.str]]:
843
2411
  """
844
- NamespaceSelector decides whether to run the admission control policy on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the policy.
2412
+ patchType indicates the patch strategy used. Allowed values are "ApplyConfiguration" and "JSONPatch". Required.
2413
+ """
2414
+ return pulumi.get(self, "patch_type")
845
2415
 
846
- For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": {
847
- "matchExpressions": [
848
- {
849
- "key": "runlevel",
850
- "operator": "NotIn",
851
- "values": [
852
- "0",
853
- "1"
854
- ]
855
- }
856
- ]
857
- }
2416
+ @patch_type.setter
2417
+ def patch_type(self, value: Optional[pulumi.Input[_builtins.str]]):
2418
+ pulumi.set(self, "patch_type", value)
858
2419
 
859
- If instead you want to only run the policy on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": {
860
- "matchExpressions": [
861
- {
862
- "key": "environment",
863
- "operator": "In",
864
- "values": [
865
- "prod",
866
- "staging"
867
- ]
868
- }
869
- ]
870
- }
871
2420
 
872
- See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
2421
+ if not MYPY:
2422
+ class MutationArgsDict(TypedDict):
2423
+ """
2424
+ Mutation specifies the CEL expression which is used to apply the Mutation.
2425
+ """
2426
+ patch_type: pulumi.Input[_builtins.str]
2427
+ """
2428
+ patchType indicates the patch strategy used. Allowed values are "ApplyConfiguration" and "JSONPatch". Required.
2429
+ """
2430
+ apply_configuration: NotRequired[pulumi.Input['ApplyConfigurationArgsDict']]
2431
+ """
2432
+ applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.
2433
+ """
2434
+ json_patch: NotRequired[pulumi.Input['JSONPatchArgsDict']]
2435
+ """
2436
+ jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.
2437
+ """
2438
+ elif False:
2439
+ MutationArgsDict: TypeAlias = Mapping[str, Any]
873
2440
 
874
- Default to the empty LabelSelector, which matches everything.
2441
+ @pulumi.input_type
2442
+ class MutationArgs:
2443
+ def __init__(__self__, *,
2444
+ patch_type: pulumi.Input[_builtins.str],
2445
+ apply_configuration: Optional[pulumi.Input['ApplyConfigurationArgs']] = None,
2446
+ json_patch: Optional[pulumi.Input['JSONPatchArgs']] = None):
875
2447
  """
876
- return pulumi.get(self, "namespace_selector")
2448
+ Mutation specifies the CEL expression which is used to apply the Mutation.
2449
+ :param pulumi.Input[_builtins.str] patch_type: patchType indicates the patch strategy used. Allowed values are "ApplyConfiguration" and "JSONPatch". Required.
2450
+ :param pulumi.Input['ApplyConfigurationArgs'] apply_configuration: applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.
2451
+ :param pulumi.Input['JSONPatchArgs'] json_patch: jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.
2452
+ """
2453
+ pulumi.set(__self__, "patch_type", patch_type)
2454
+ if apply_configuration is not None:
2455
+ pulumi.set(__self__, "apply_configuration", apply_configuration)
2456
+ if json_patch is not None:
2457
+ pulumi.set(__self__, "json_patch", json_patch)
877
2458
 
878
- @namespace_selector.setter
879
- def namespace_selector(self, value: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]):
880
- pulumi.set(self, "namespace_selector", value)
2459
+ @_builtins.property
2460
+ @pulumi.getter(name="patchType")
2461
+ def patch_type(self) -> pulumi.Input[_builtins.str]:
2462
+ """
2463
+ patchType indicates the patch strategy used. Allowed values are "ApplyConfiguration" and "JSONPatch". Required.
2464
+ """
2465
+ return pulumi.get(self, "patch_type")
881
2466
 
882
- @property
883
- @pulumi.getter(name="objectSelector")
884
- def object_selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]:
2467
+ @patch_type.setter
2468
+ def patch_type(self, value: pulumi.Input[_builtins.str]):
2469
+ pulumi.set(self, "patch_type", value)
2470
+
2471
+ @_builtins.property
2472
+ @pulumi.getter(name="applyConfiguration")
2473
+ def apply_configuration(self) -> Optional[pulumi.Input['ApplyConfigurationArgs']]:
885
2474
  """
886
- ObjectSelector decides whether to run the validation based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the cel validation, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything.
2475
+ applyConfiguration defines the desired configuration values of an object. The configuration is applied to the admission object using [structured merge diff](https://github.com/kubernetes-sigs/structured-merge-diff). A CEL expression is used to create apply configuration.
887
2476
  """
888
- return pulumi.get(self, "object_selector")
2477
+ return pulumi.get(self, "apply_configuration")
889
2478
 
890
- @object_selector.setter
891
- def object_selector(self, value: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]):
892
- pulumi.set(self, "object_selector", value)
2479
+ @apply_configuration.setter
2480
+ def apply_configuration(self, value: Optional[pulumi.Input['ApplyConfigurationArgs']]):
2481
+ pulumi.set(self, "apply_configuration", value)
893
2482
 
894
- @property
895
- @pulumi.getter(name="resourceRules")
896
- def resource_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]:
2483
+ @_builtins.property
2484
+ @pulumi.getter(name="jsonPatch")
2485
+ def json_patch(self) -> Optional[pulumi.Input['JSONPatchArgs']]:
897
2486
  """
898
- ResourceRules describes what operations on what resources/subresources the ValidatingAdmissionPolicy matches. The policy cares about an operation if it matches _any_ Rule.
2487
+ jsonPatch defines a [JSON patch](https://jsonpatch.com/) operation to perform a mutation to the object. A CEL expression is used to create the JSON patch.
899
2488
  """
900
- return pulumi.get(self, "resource_rules")
2489
+ return pulumi.get(self, "json_patch")
901
2490
 
902
- @resource_rules.setter
903
- def resource_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedRuleWithOperationsArgs']]]]):
904
- pulumi.set(self, "resource_rules", value)
2491
+ @json_patch.setter
2492
+ def json_patch(self, value: Optional[pulumi.Input['JSONPatchArgs']]):
2493
+ pulumi.set(self, "json_patch", value)
905
2494
 
906
2495
 
907
2496
  if not MYPY:
@@ -909,23 +2498,23 @@ if not MYPY:
909
2498
  """
910
2499
  NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
911
2500
  """
912
- api_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2501
+ api_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
913
2502
  """
914
2503
  APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
915
2504
  """
916
- api_versions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2505
+ api_versions: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
917
2506
  """
918
2507
  APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
919
2508
  """
920
- operations: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2509
+ operations: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
921
2510
  """
922
2511
  Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
923
2512
  """
924
- resource_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2513
+ resource_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
925
2514
  """
926
2515
  ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
927
2516
  """
928
- resources: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2517
+ resources: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
929
2518
  """
930
2519
  Resources is a list of resources this rule applies to.
931
2520
 
@@ -935,7 +2524,7 @@ if not MYPY:
935
2524
 
936
2525
  Depending on the enclosing object, subresources might not be allowed. Required.
937
2526
  """
938
- scope: NotRequired[pulumi.Input[str]]
2527
+ scope: NotRequired[pulumi.Input[_builtins.str]]
939
2528
  """
940
2529
  scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
941
2530
  """
@@ -945,26 +2534,26 @@ elif False:
945
2534
  @pulumi.input_type
946
2535
  class NamedRuleWithOperationsPatchArgs:
947
2536
  def __init__(__self__, *,
948
- api_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
949
- api_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
950
- operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
951
- resource_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
952
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
953
- scope: Optional[pulumi.Input[str]] = None):
2537
+ api_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2538
+ api_versions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2539
+ operations: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2540
+ resource_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2541
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2542
+ scope: Optional[pulumi.Input[_builtins.str]] = None):
954
2543
  """
955
2544
  NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
956
- :param pulumi.Input[Sequence[pulumi.Input[str]]] api_groups: APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
957
- :param pulumi.Input[Sequence[pulumi.Input[str]]] api_versions: APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
958
- :param pulumi.Input[Sequence[pulumi.Input[str]]] operations: Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
959
- :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_names: ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
960
- :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: Resources is a list of resources this rule applies to.
2545
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] api_groups: APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
2546
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] api_versions: APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
2547
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] operations: Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
2548
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] resource_names: ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
2549
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] resources: Resources is a list of resources this rule applies to.
961
2550
 
962
2551
  For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.
963
2552
 
964
2553
  If wildcard is present, the validation rule will ensure resources do not overlap with each other.
965
2554
 
966
2555
  Depending on the enclosing object, subresources might not be allowed. Required.
967
- :param pulumi.Input[str] scope: scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
2556
+ :param pulumi.Input[_builtins.str] scope: scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
968
2557
  """
969
2558
  if api_groups is not None:
970
2559
  pulumi.set(__self__, "api_groups", api_groups)
@@ -979,57 +2568,57 @@ class NamedRuleWithOperationsPatchArgs:
979
2568
  if scope is not None:
980
2569
  pulumi.set(__self__, "scope", scope)
981
2570
 
982
- @property
2571
+ @_builtins.property
983
2572
  @pulumi.getter(name="apiGroups")
984
- def api_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2573
+ def api_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
985
2574
  """
986
2575
  APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
987
2576
  """
988
2577
  return pulumi.get(self, "api_groups")
989
2578
 
990
2579
  @api_groups.setter
991
- def api_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2580
+ def api_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
992
2581
  pulumi.set(self, "api_groups", value)
993
2582
 
994
- @property
2583
+ @_builtins.property
995
2584
  @pulumi.getter(name="apiVersions")
996
- def api_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2585
+ def api_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
997
2586
  """
998
2587
  APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
999
2588
  """
1000
2589
  return pulumi.get(self, "api_versions")
1001
2590
 
1002
2591
  @api_versions.setter
1003
- def api_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2592
+ def api_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1004
2593
  pulumi.set(self, "api_versions", value)
1005
2594
 
1006
- @property
2595
+ @_builtins.property
1007
2596
  @pulumi.getter
1008
- def operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2597
+ def operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1009
2598
  """
1010
2599
  Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
1011
2600
  """
1012
2601
  return pulumi.get(self, "operations")
1013
2602
 
1014
2603
  @operations.setter
1015
- def operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2604
+ def operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1016
2605
  pulumi.set(self, "operations", value)
1017
2606
 
1018
- @property
2607
+ @_builtins.property
1019
2608
  @pulumi.getter(name="resourceNames")
1020
- def resource_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2609
+ def resource_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1021
2610
  """
1022
2611
  ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
1023
2612
  """
1024
2613
  return pulumi.get(self, "resource_names")
1025
2614
 
1026
2615
  @resource_names.setter
1027
- def resource_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2616
+ def resource_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1028
2617
  pulumi.set(self, "resource_names", value)
1029
2618
 
1030
- @property
2619
+ @_builtins.property
1031
2620
  @pulumi.getter
1032
- def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2621
+ def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1033
2622
  """
1034
2623
  Resources is a list of resources this rule applies to.
1035
2624
 
@@ -1042,19 +2631,19 @@ class NamedRuleWithOperationsPatchArgs:
1042
2631
  return pulumi.get(self, "resources")
1043
2632
 
1044
2633
  @resources.setter
1045
- def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2634
+ def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1046
2635
  pulumi.set(self, "resources", value)
1047
2636
 
1048
- @property
2637
+ @_builtins.property
1049
2638
  @pulumi.getter
1050
- def scope(self) -> Optional[pulumi.Input[str]]:
2639
+ def scope(self) -> Optional[pulumi.Input[_builtins.str]]:
1051
2640
  """
1052
2641
  scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
1053
2642
  """
1054
2643
  return pulumi.get(self, "scope")
1055
2644
 
1056
2645
  @scope.setter
1057
- def scope(self, value: Optional[pulumi.Input[str]]):
2646
+ def scope(self, value: Optional[pulumi.Input[_builtins.str]]):
1058
2647
  pulumi.set(self, "scope", value)
1059
2648
 
1060
2649
 
@@ -1063,23 +2652,23 @@ if not MYPY:
1063
2652
  """
1064
2653
  NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
1065
2654
  """
1066
- api_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2655
+ api_groups: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1067
2656
  """
1068
2657
  APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
1069
2658
  """
1070
- api_versions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2659
+ api_versions: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1071
2660
  """
1072
2661
  APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
1073
2662
  """
1074
- operations: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2663
+ operations: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1075
2664
  """
1076
2665
  Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
1077
2666
  """
1078
- resource_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2667
+ resource_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1079
2668
  """
1080
2669
  ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
1081
2670
  """
1082
- resources: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2671
+ resources: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1083
2672
  """
1084
2673
  Resources is a list of resources this rule applies to.
1085
2674
 
@@ -1089,7 +2678,7 @@ if not MYPY:
1089
2678
 
1090
2679
  Depending on the enclosing object, subresources might not be allowed. Required.
1091
2680
  """
1092
- scope: NotRequired[pulumi.Input[str]]
2681
+ scope: NotRequired[pulumi.Input[_builtins.str]]
1093
2682
  """
1094
2683
  scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
1095
2684
  """
@@ -1099,26 +2688,26 @@ elif False:
1099
2688
  @pulumi.input_type
1100
2689
  class NamedRuleWithOperationsArgs:
1101
2690
  def __init__(__self__, *,
1102
- api_groups: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1103
- api_versions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1104
- operations: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1105
- resource_names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1106
- resources: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1107
- scope: Optional[pulumi.Input[str]] = None):
2691
+ api_groups: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2692
+ api_versions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2693
+ operations: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2694
+ resource_names: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2695
+ resources: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
2696
+ scope: Optional[pulumi.Input[_builtins.str]] = None):
1108
2697
  """
1109
2698
  NamedRuleWithOperations is a tuple of Operations and Resources with ResourceNames.
1110
- :param pulumi.Input[Sequence[pulumi.Input[str]]] api_groups: APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
1111
- :param pulumi.Input[Sequence[pulumi.Input[str]]] api_versions: APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
1112
- :param pulumi.Input[Sequence[pulumi.Input[str]]] operations: Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
1113
- :param pulumi.Input[Sequence[pulumi.Input[str]]] resource_names: ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
1114
- :param pulumi.Input[Sequence[pulumi.Input[str]]] resources: Resources is a list of resources this rule applies to.
2699
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] api_groups: APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
2700
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] api_versions: APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
2701
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] operations: Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
2702
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] resource_names: ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
2703
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] resources: Resources is a list of resources this rule applies to.
1115
2704
 
1116
2705
  For example: 'pods' means pods. 'pods/log' means the log subresource of pods. '*' means all resources, but not subresources. 'pods/*' means all subresources of pods. '*/scale' means all scale subresources. '*/*' means all resources and their subresources.
1117
2706
 
1118
2707
  If wildcard is present, the validation rule will ensure resources do not overlap with each other.
1119
2708
 
1120
2709
  Depending on the enclosing object, subresources might not be allowed. Required.
1121
- :param pulumi.Input[str] scope: scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
2710
+ :param pulumi.Input[_builtins.str] scope: scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
1122
2711
  """
1123
2712
  if api_groups is not None:
1124
2713
  pulumi.set(__self__, "api_groups", api_groups)
@@ -1133,57 +2722,57 @@ class NamedRuleWithOperationsArgs:
1133
2722
  if scope is not None:
1134
2723
  pulumi.set(__self__, "scope", scope)
1135
2724
 
1136
- @property
2725
+ @_builtins.property
1137
2726
  @pulumi.getter(name="apiGroups")
1138
- def api_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2727
+ def api_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1139
2728
  """
1140
2729
  APIGroups is the API groups the resources belong to. '*' is all groups. If '*' is present, the length of the slice must be one. Required.
1141
2730
  """
1142
2731
  return pulumi.get(self, "api_groups")
1143
2732
 
1144
2733
  @api_groups.setter
1145
- def api_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2734
+ def api_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1146
2735
  pulumi.set(self, "api_groups", value)
1147
2736
 
1148
- @property
2737
+ @_builtins.property
1149
2738
  @pulumi.getter(name="apiVersions")
1150
- def api_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2739
+ def api_versions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1151
2740
  """
1152
2741
  APIVersions is the API versions the resources belong to. '*' is all versions. If '*' is present, the length of the slice must be one. Required.
1153
2742
  """
1154
2743
  return pulumi.get(self, "api_versions")
1155
2744
 
1156
2745
  @api_versions.setter
1157
- def api_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2746
+ def api_versions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1158
2747
  pulumi.set(self, "api_versions", value)
1159
2748
 
1160
- @property
2749
+ @_builtins.property
1161
2750
  @pulumi.getter
1162
- def operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2751
+ def operations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1163
2752
  """
1164
2753
  Operations is the operations the admission hook cares about - CREATE, UPDATE, DELETE, CONNECT or * for all of those operations and any future admission operations that are added. If '*' is present, the length of the slice must be one. Required.
1165
2754
  """
1166
2755
  return pulumi.get(self, "operations")
1167
2756
 
1168
2757
  @operations.setter
1169
- def operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2758
+ def operations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1170
2759
  pulumi.set(self, "operations", value)
1171
2760
 
1172
- @property
2761
+ @_builtins.property
1173
2762
  @pulumi.getter(name="resourceNames")
1174
- def resource_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2763
+ def resource_names(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1175
2764
  """
1176
2765
  ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.
1177
2766
  """
1178
2767
  return pulumi.get(self, "resource_names")
1179
2768
 
1180
2769
  @resource_names.setter
1181
- def resource_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2770
+ def resource_names(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1182
2771
  pulumi.set(self, "resource_names", value)
1183
2772
 
1184
- @property
2773
+ @_builtins.property
1185
2774
  @pulumi.getter
1186
- def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2775
+ def resources(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1187
2776
  """
1188
2777
  Resources is a list of resources this rule applies to.
1189
2778
 
@@ -1196,19 +2785,19 @@ class NamedRuleWithOperationsArgs:
1196
2785
  return pulumi.get(self, "resources")
1197
2786
 
1198
2787
  @resources.setter
1199
- def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2788
+ def resources(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1200
2789
  pulumi.set(self, "resources", value)
1201
2790
 
1202
- @property
2791
+ @_builtins.property
1203
2792
  @pulumi.getter
1204
- def scope(self) -> Optional[pulumi.Input[str]]:
2793
+ def scope(self) -> Optional[pulumi.Input[_builtins.str]]:
1205
2794
  """
1206
2795
  scope specifies the scope of this rule. Valid values are "Cluster", "Namespaced", and "*" "Cluster" means that only cluster-scoped resources will match this rule. Namespace API objects are cluster-scoped. "Namespaced" means that only namespaced resources will match this rule. "*" means that there are no scope restrictions. Subresources match the scope of their parent resource. Default is "*".
1207
2796
  """
1208
2797
  return pulumi.get(self, "scope")
1209
2798
 
1210
2799
  @scope.setter
1211
- def scope(self, value: Optional[pulumi.Input[str]]):
2800
+ def scope(self, value: Optional[pulumi.Input[_builtins.str]]):
1212
2801
  pulumi.set(self, "scope", value)
1213
2802
 
1214
2803
 
@@ -1217,11 +2806,11 @@ if not MYPY:
1217
2806
  """
1218
2807
  ParamKind is a tuple of Group Kind and Version.
1219
2808
  """
1220
- api_version: NotRequired[pulumi.Input[str]]
2809
+ api_version: NotRequired[pulumi.Input[_builtins.str]]
1221
2810
  """
1222
2811
  APIVersion is the API group version the resources belong to. In format of "group/version". Required.
1223
2812
  """
1224
- kind: NotRequired[pulumi.Input[str]]
2813
+ kind: NotRequired[pulumi.Input[_builtins.str]]
1225
2814
  """
1226
2815
  Kind is the API kind the resources belong to. Required.
1227
2816
  """
@@ -1231,40 +2820,40 @@ elif False:
1231
2820
  @pulumi.input_type
1232
2821
  class ParamKindPatchArgs:
1233
2822
  def __init__(__self__, *,
1234
- api_version: Optional[pulumi.Input[str]] = None,
1235
- kind: Optional[pulumi.Input[str]] = None):
2823
+ api_version: Optional[pulumi.Input[_builtins.str]] = None,
2824
+ kind: Optional[pulumi.Input[_builtins.str]] = None):
1236
2825
  """
1237
2826
  ParamKind is a tuple of Group Kind and Version.
1238
- :param pulumi.Input[str] api_version: APIVersion is the API group version the resources belong to. In format of "group/version". Required.
1239
- :param pulumi.Input[str] kind: Kind is the API kind the resources belong to. Required.
2827
+ :param pulumi.Input[_builtins.str] api_version: APIVersion is the API group version the resources belong to. In format of "group/version". Required.
2828
+ :param pulumi.Input[_builtins.str] kind: Kind is the API kind the resources belong to. Required.
1240
2829
  """
1241
2830
  if api_version is not None:
1242
2831
  pulumi.set(__self__, "api_version", api_version)
1243
2832
  if kind is not None:
1244
2833
  pulumi.set(__self__, "kind", kind)
1245
2834
 
1246
- @property
2835
+ @_builtins.property
1247
2836
  @pulumi.getter(name="apiVersion")
1248
- def api_version(self) -> Optional[pulumi.Input[str]]:
2837
+ def api_version(self) -> Optional[pulumi.Input[_builtins.str]]:
1249
2838
  """
1250
2839
  APIVersion is the API group version the resources belong to. In format of "group/version". Required.
1251
2840
  """
1252
2841
  return pulumi.get(self, "api_version")
1253
2842
 
1254
2843
  @api_version.setter
1255
- def api_version(self, value: Optional[pulumi.Input[str]]):
2844
+ def api_version(self, value: Optional[pulumi.Input[_builtins.str]]):
1256
2845
  pulumi.set(self, "api_version", value)
1257
2846
 
1258
- @property
2847
+ @_builtins.property
1259
2848
  @pulumi.getter
1260
- def kind(self) -> Optional[pulumi.Input[str]]:
2849
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
1261
2850
  """
1262
2851
  Kind is the API kind the resources belong to. Required.
1263
2852
  """
1264
2853
  return pulumi.get(self, "kind")
1265
2854
 
1266
2855
  @kind.setter
1267
- def kind(self, value: Optional[pulumi.Input[str]]):
2856
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
1268
2857
  pulumi.set(self, "kind", value)
1269
2858
 
1270
2859
 
@@ -1273,11 +2862,11 @@ if not MYPY:
1273
2862
  """
1274
2863
  ParamKind is a tuple of Group Kind and Version.
1275
2864
  """
1276
- api_version: NotRequired[pulumi.Input[str]]
2865
+ api_version: NotRequired[pulumi.Input[_builtins.str]]
1277
2866
  """
1278
2867
  APIVersion is the API group version the resources belong to. In format of "group/version". Required.
1279
2868
  """
1280
- kind: NotRequired[pulumi.Input[str]]
2869
+ kind: NotRequired[pulumi.Input[_builtins.str]]
1281
2870
  """
1282
2871
  Kind is the API kind the resources belong to. Required.
1283
2872
  """
@@ -1287,40 +2876,40 @@ elif False:
1287
2876
  @pulumi.input_type
1288
2877
  class ParamKindArgs:
1289
2878
  def __init__(__self__, *,
1290
- api_version: Optional[pulumi.Input[str]] = None,
1291
- kind: Optional[pulumi.Input[str]] = None):
2879
+ api_version: Optional[pulumi.Input[_builtins.str]] = None,
2880
+ kind: Optional[pulumi.Input[_builtins.str]] = None):
1292
2881
  """
1293
2882
  ParamKind is a tuple of Group Kind and Version.
1294
- :param pulumi.Input[str] api_version: APIVersion is the API group version the resources belong to. In format of "group/version". Required.
1295
- :param pulumi.Input[str] kind: Kind is the API kind the resources belong to. Required.
2883
+ :param pulumi.Input[_builtins.str] api_version: APIVersion is the API group version the resources belong to. In format of "group/version". Required.
2884
+ :param pulumi.Input[_builtins.str] kind: Kind is the API kind the resources belong to. Required.
1296
2885
  """
1297
2886
  if api_version is not None:
1298
2887
  pulumi.set(__self__, "api_version", api_version)
1299
2888
  if kind is not None:
1300
2889
  pulumi.set(__self__, "kind", kind)
1301
2890
 
1302
- @property
2891
+ @_builtins.property
1303
2892
  @pulumi.getter(name="apiVersion")
1304
- def api_version(self) -> Optional[pulumi.Input[str]]:
2893
+ def api_version(self) -> Optional[pulumi.Input[_builtins.str]]:
1305
2894
  """
1306
2895
  APIVersion is the API group version the resources belong to. In format of "group/version". Required.
1307
2896
  """
1308
2897
  return pulumi.get(self, "api_version")
1309
2898
 
1310
2899
  @api_version.setter
1311
- def api_version(self, value: Optional[pulumi.Input[str]]):
2900
+ def api_version(self, value: Optional[pulumi.Input[_builtins.str]]):
1312
2901
  pulumi.set(self, "api_version", value)
1313
2902
 
1314
- @property
2903
+ @_builtins.property
1315
2904
  @pulumi.getter
1316
- def kind(self) -> Optional[pulumi.Input[str]]:
2905
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
1317
2906
  """
1318
2907
  Kind is the API kind the resources belong to. Required.
1319
2908
  """
1320
2909
  return pulumi.get(self, "kind")
1321
2910
 
1322
2911
  @kind.setter
1323
- def kind(self, value: Optional[pulumi.Input[str]]):
2912
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
1324
2913
  pulumi.set(self, "kind", value)
1325
2914
 
1326
2915
 
@@ -1329,13 +2918,13 @@ if not MYPY:
1329
2918
  """
1330
2919
  ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.
1331
2920
  """
1332
- name: NotRequired[pulumi.Input[str]]
2921
+ name: NotRequired[pulumi.Input[_builtins.str]]
1333
2922
  """
1334
2923
  `name` is the name of the resource being referenced.
1335
2924
 
1336
2925
  `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.
1337
2926
  """
1338
- namespace: NotRequired[pulumi.Input[str]]
2927
+ namespace: NotRequired[pulumi.Input[_builtins.str]]
1339
2928
  """
1340
2929
  namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
1341
2930
 
@@ -1345,7 +2934,7 @@ if not MYPY:
1345
2934
 
1346
2935
  - If `paramKind` is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.
1347
2936
  """
1348
- parameter_not_found_action: NotRequired[pulumi.Input[str]]
2937
+ parameter_not_found_action: NotRequired[pulumi.Input[_builtins.str]]
1349
2938
  """
1350
2939
  `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
1351
2940
 
@@ -1365,23 +2954,23 @@ elif False:
1365
2954
  @pulumi.input_type
1366
2955
  class ParamRefPatchArgs:
1367
2956
  def __init__(__self__, *,
1368
- name: Optional[pulumi.Input[str]] = None,
1369
- namespace: Optional[pulumi.Input[str]] = None,
1370
- parameter_not_found_action: Optional[pulumi.Input[str]] = None,
2957
+ name: Optional[pulumi.Input[_builtins.str]] = None,
2958
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
2959
+ parameter_not_found_action: Optional[pulumi.Input[_builtins.str]] = None,
1371
2960
  selector: Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']] = None):
1372
2961
  """
1373
2962
  ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.
1374
- :param pulumi.Input[str] name: `name` is the name of the resource being referenced.
2963
+ :param pulumi.Input[_builtins.str] name: `name` is the name of the resource being referenced.
1375
2964
 
1376
2965
  `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.
1377
- :param pulumi.Input[str] namespace: namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
2966
+ :param pulumi.Input[_builtins.str] namespace: namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
1378
2967
 
1379
2968
  A per-namespace parameter may be used by specifying a namespace-scoped `paramKind` in the policy and leaving this field empty.
1380
2969
 
1381
2970
  - If `paramKind` is cluster-scoped, this field MUST be unset. Setting this field results in a configuration error.
1382
2971
 
1383
2972
  - If `paramKind` is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.
1384
- :param pulumi.Input[str] parameter_not_found_action: `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
2973
+ :param pulumi.Input[_builtins.str] parameter_not_found_action: `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
1385
2974
 
1386
2975
  Allowed values are `Allow` or `Deny` Default to `Deny`
1387
2976
  :param pulumi.Input['_meta.v1.LabelSelectorPatchArgs'] selector: selector can be used to match multiple param objects based on their labels. Supply selector: {} to match all resources of the ParamKind.
@@ -1399,9 +2988,9 @@ class ParamRefPatchArgs:
1399
2988
  if selector is not None:
1400
2989
  pulumi.set(__self__, "selector", selector)
1401
2990
 
1402
- @property
2991
+ @_builtins.property
1403
2992
  @pulumi.getter
1404
- def name(self) -> Optional[pulumi.Input[str]]:
2993
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
1405
2994
  """
1406
2995
  `name` is the name of the resource being referenced.
1407
2996
 
@@ -1410,12 +2999,12 @@ class ParamRefPatchArgs:
1410
2999
  return pulumi.get(self, "name")
1411
3000
 
1412
3001
  @name.setter
1413
- def name(self, value: Optional[pulumi.Input[str]]):
3002
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
1414
3003
  pulumi.set(self, "name", value)
1415
3004
 
1416
- @property
3005
+ @_builtins.property
1417
3006
  @pulumi.getter
1418
- def namespace(self) -> Optional[pulumi.Input[str]]:
3007
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
1419
3008
  """
1420
3009
  namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
1421
3010
 
@@ -1428,12 +3017,12 @@ class ParamRefPatchArgs:
1428
3017
  return pulumi.get(self, "namespace")
1429
3018
 
1430
3019
  @namespace.setter
1431
- def namespace(self, value: Optional[pulumi.Input[str]]):
3020
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
1432
3021
  pulumi.set(self, "namespace", value)
1433
3022
 
1434
- @property
3023
+ @_builtins.property
1435
3024
  @pulumi.getter(name="parameterNotFoundAction")
1436
- def parameter_not_found_action(self) -> Optional[pulumi.Input[str]]:
3025
+ def parameter_not_found_action(self) -> Optional[pulumi.Input[_builtins.str]]:
1437
3026
  """
1438
3027
  `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
1439
3028
 
@@ -1442,10 +3031,10 @@ class ParamRefPatchArgs:
1442
3031
  return pulumi.get(self, "parameter_not_found_action")
1443
3032
 
1444
3033
  @parameter_not_found_action.setter
1445
- def parameter_not_found_action(self, value: Optional[pulumi.Input[str]]):
3034
+ def parameter_not_found_action(self, value: Optional[pulumi.Input[_builtins.str]]):
1446
3035
  pulumi.set(self, "parameter_not_found_action", value)
1447
3036
 
1448
- @property
3037
+ @_builtins.property
1449
3038
  @pulumi.getter
1450
3039
  def selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorPatchArgs']]:
1451
3040
  """
@@ -1467,13 +3056,13 @@ if not MYPY:
1467
3056
  """
1468
3057
  ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.
1469
3058
  """
1470
- name: NotRequired[pulumi.Input[str]]
3059
+ name: NotRequired[pulumi.Input[_builtins.str]]
1471
3060
  """
1472
3061
  `name` is the name of the resource being referenced.
1473
3062
 
1474
3063
  `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.
1475
3064
  """
1476
- namespace: NotRequired[pulumi.Input[str]]
3065
+ namespace: NotRequired[pulumi.Input[_builtins.str]]
1477
3066
  """
1478
3067
  namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
1479
3068
 
@@ -1483,7 +3072,7 @@ if not MYPY:
1483
3072
 
1484
3073
  - If `paramKind` is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.
1485
3074
  """
1486
- parameter_not_found_action: NotRequired[pulumi.Input[str]]
3075
+ parameter_not_found_action: NotRequired[pulumi.Input[_builtins.str]]
1487
3076
  """
1488
3077
  `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
1489
3078
 
@@ -1503,23 +3092,23 @@ elif False:
1503
3092
  @pulumi.input_type
1504
3093
  class ParamRefArgs:
1505
3094
  def __init__(__self__, *,
1506
- name: Optional[pulumi.Input[str]] = None,
1507
- namespace: Optional[pulumi.Input[str]] = None,
1508
- parameter_not_found_action: Optional[pulumi.Input[str]] = None,
3095
+ name: Optional[pulumi.Input[_builtins.str]] = None,
3096
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
3097
+ parameter_not_found_action: Optional[pulumi.Input[_builtins.str]] = None,
1509
3098
  selector: Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']] = None):
1510
3099
  """
1511
3100
  ParamRef describes how to locate the params to be used as input to expressions of rules applied by a policy binding.
1512
- :param pulumi.Input[str] name: `name` is the name of the resource being referenced.
3101
+ :param pulumi.Input[_builtins.str] name: `name` is the name of the resource being referenced.
1513
3102
 
1514
3103
  `name` and `selector` are mutually exclusive properties. If one is set, the other must be unset.
1515
- :param pulumi.Input[str] namespace: namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
3104
+ :param pulumi.Input[_builtins.str] namespace: namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
1516
3105
 
1517
3106
  A per-namespace parameter may be used by specifying a namespace-scoped `paramKind` in the policy and leaving this field empty.
1518
3107
 
1519
3108
  - If `paramKind` is cluster-scoped, this field MUST be unset. Setting this field results in a configuration error.
1520
3109
 
1521
3110
  - If `paramKind` is namespace-scoped, the namespace of the object being evaluated for admission will be used when this field is left unset. Take care that if this is left empty the binding must not match any cluster-scoped resources, which will result in an error.
1522
- :param pulumi.Input[str] parameter_not_found_action: `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
3111
+ :param pulumi.Input[_builtins.str] parameter_not_found_action: `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
1523
3112
 
1524
3113
  Allowed values are `Allow` or `Deny` Default to `Deny`
1525
3114
  :param pulumi.Input['_meta.v1.LabelSelectorArgs'] selector: selector can be used to match multiple param objects based on their labels. Supply selector: {} to match all resources of the ParamKind.
@@ -1537,9 +3126,9 @@ class ParamRefArgs:
1537
3126
  if selector is not None:
1538
3127
  pulumi.set(__self__, "selector", selector)
1539
3128
 
1540
- @property
3129
+ @_builtins.property
1541
3130
  @pulumi.getter
1542
- def name(self) -> Optional[pulumi.Input[str]]:
3131
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
1543
3132
  """
1544
3133
  `name` is the name of the resource being referenced.
1545
3134
 
@@ -1548,12 +3137,12 @@ class ParamRefArgs:
1548
3137
  return pulumi.get(self, "name")
1549
3138
 
1550
3139
  @name.setter
1551
- def name(self, value: Optional[pulumi.Input[str]]):
3140
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
1552
3141
  pulumi.set(self, "name", value)
1553
3142
 
1554
- @property
3143
+ @_builtins.property
1555
3144
  @pulumi.getter
1556
- def namespace(self) -> Optional[pulumi.Input[str]]:
3145
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
1557
3146
  """
1558
3147
  namespace is the namespace of the referenced resource. Allows limiting the search for params to a specific namespace. Applies to both `name` and `selector` fields.
1559
3148
 
@@ -1566,12 +3155,12 @@ class ParamRefArgs:
1566
3155
  return pulumi.get(self, "namespace")
1567
3156
 
1568
3157
  @namespace.setter
1569
- def namespace(self, value: Optional[pulumi.Input[str]]):
3158
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
1570
3159
  pulumi.set(self, "namespace", value)
1571
3160
 
1572
- @property
3161
+ @_builtins.property
1573
3162
  @pulumi.getter(name="parameterNotFoundAction")
1574
- def parameter_not_found_action(self) -> Optional[pulumi.Input[str]]:
3163
+ def parameter_not_found_action(self) -> Optional[pulumi.Input[_builtins.str]]:
1575
3164
  """
1576
3165
  `parameterNotFoundAction` controls the behavior of the binding when the resource exists, and name or selector is valid, but there are no parameters matched by the binding. If the value is set to `Allow`, then no matched parameters will be treated as successful validation by the binding. If set to `Deny`, then no matched parameters will be subject to the `failurePolicy` of the policy.
1577
3166
 
@@ -1580,10 +3169,10 @@ class ParamRefArgs:
1580
3169
  return pulumi.get(self, "parameter_not_found_action")
1581
3170
 
1582
3171
  @parameter_not_found_action.setter
1583
- def parameter_not_found_action(self, value: Optional[pulumi.Input[str]]):
3172
+ def parameter_not_found_action(self, value: Optional[pulumi.Input[_builtins.str]]):
1584
3173
  pulumi.set(self, "parameter_not_found_action", value)
1585
3174
 
1586
- @property
3175
+ @_builtins.property
1587
3176
  @pulumi.getter
1588
3177
  def selector(self) -> Optional[pulumi.Input['_meta.v1.LabelSelectorArgs']]:
1589
3178
  """
@@ -1623,7 +3212,7 @@ class TypeCheckingArgs:
1623
3212
  if expression_warnings is not None:
1624
3213
  pulumi.set(__self__, "expression_warnings", expression_warnings)
1625
3214
 
1626
- @property
3215
+ @_builtins.property
1627
3216
  @pulumi.getter(name="expressionWarnings")
1628
3217
  def expression_warnings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ExpressionWarningArgs']]]]:
1629
3218
  """
@@ -1647,13 +3236,13 @@ if not MYPY:
1647
3236
  """
1648
3237
  param_ref: NotRequired[pulumi.Input['ParamRefPatchArgsDict']]
1649
3238
  """
1650
- paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
3239
+ ParamRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied.
1651
3240
  """
1652
- policy_name: NotRequired[pulumi.Input[str]]
3241
+ policy_name: NotRequired[pulumi.Input[_builtins.str]]
1653
3242
  """
1654
3243
  PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1655
3244
  """
1656
- validation_actions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
3245
+ validation_actions: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1657
3246
  """
1658
3247
  validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
1659
3248
 
@@ -1683,14 +3272,14 @@ class ValidatingAdmissionPolicyBindingSpecPatchArgs:
1683
3272
  def __init__(__self__, *,
1684
3273
  match_resources: Optional[pulumi.Input['MatchResourcesPatchArgs']] = None,
1685
3274
  param_ref: Optional[pulumi.Input['ParamRefPatchArgs']] = None,
1686
- policy_name: Optional[pulumi.Input[str]] = None,
1687
- validation_actions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
3275
+ policy_name: Optional[pulumi.Input[_builtins.str]] = None,
3276
+ validation_actions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
1688
3277
  """
1689
3278
  ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
1690
3279
  :param pulumi.Input['MatchResourcesPatchArgs'] match_resources: MatchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.
1691
- :param pulumi.Input['ParamRefPatchArgs'] param_ref: paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1692
- :param pulumi.Input[str] policy_name: PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1693
- :param pulumi.Input[Sequence[pulumi.Input[str]]] validation_actions: validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
3280
+ :param pulumi.Input['ParamRefPatchArgs'] param_ref: ParamRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied.
3281
+ :param pulumi.Input[_builtins.str] policy_name: PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
3282
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] validation_actions: validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
1694
3283
 
1695
3284
  Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according to these actions only if the FailurePolicy is set to Fail, otherwise the failures are ignored. This includes compilation errors, runtime errors and misconfigurations of the policy.
1696
3285
 
@@ -1719,7 +3308,7 @@ class ValidatingAdmissionPolicyBindingSpecPatchArgs:
1719
3308
  if validation_actions is not None:
1720
3309
  pulumi.set(__self__, "validation_actions", validation_actions)
1721
3310
 
1722
- @property
3311
+ @_builtins.property
1723
3312
  @pulumi.getter(name="matchResources")
1724
3313
  def match_resources(self) -> Optional[pulumi.Input['MatchResourcesPatchArgs']]:
1725
3314
  """
@@ -1731,11 +3320,11 @@ class ValidatingAdmissionPolicyBindingSpecPatchArgs:
1731
3320
  def match_resources(self, value: Optional[pulumi.Input['MatchResourcesPatchArgs']]):
1732
3321
  pulumi.set(self, "match_resources", value)
1733
3322
 
1734
- @property
3323
+ @_builtins.property
1735
3324
  @pulumi.getter(name="paramRef")
1736
3325
  def param_ref(self) -> Optional[pulumi.Input['ParamRefPatchArgs']]:
1737
3326
  """
1738
- paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
3327
+ ParamRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied.
1739
3328
  """
1740
3329
  return pulumi.get(self, "param_ref")
1741
3330
 
@@ -1743,21 +3332,21 @@ class ValidatingAdmissionPolicyBindingSpecPatchArgs:
1743
3332
  def param_ref(self, value: Optional[pulumi.Input['ParamRefPatchArgs']]):
1744
3333
  pulumi.set(self, "param_ref", value)
1745
3334
 
1746
- @property
3335
+ @_builtins.property
1747
3336
  @pulumi.getter(name="policyName")
1748
- def policy_name(self) -> Optional[pulumi.Input[str]]:
3337
+ def policy_name(self) -> Optional[pulumi.Input[_builtins.str]]:
1749
3338
  """
1750
3339
  PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1751
3340
  """
1752
3341
  return pulumi.get(self, "policy_name")
1753
3342
 
1754
3343
  @policy_name.setter
1755
- def policy_name(self, value: Optional[pulumi.Input[str]]):
3344
+ def policy_name(self, value: Optional[pulumi.Input[_builtins.str]]):
1756
3345
  pulumi.set(self, "policy_name", value)
1757
3346
 
1758
- @property
3347
+ @_builtins.property
1759
3348
  @pulumi.getter(name="validationActions")
1760
- def validation_actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3349
+ def validation_actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1761
3350
  """
1762
3351
  validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
1763
3352
 
@@ -1782,7 +3371,7 @@ class ValidatingAdmissionPolicyBindingSpecPatchArgs:
1782
3371
  return pulumi.get(self, "validation_actions")
1783
3372
 
1784
3373
  @validation_actions.setter
1785
- def validation_actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3374
+ def validation_actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1786
3375
  pulumi.set(self, "validation_actions", value)
1787
3376
 
1788
3377
 
@@ -1797,13 +3386,13 @@ if not MYPY:
1797
3386
  """
1798
3387
  param_ref: NotRequired[pulumi.Input['ParamRefArgsDict']]
1799
3388
  """
1800
- paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
3389
+ ParamRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied.
1801
3390
  """
1802
- policy_name: NotRequired[pulumi.Input[str]]
3391
+ policy_name: NotRequired[pulumi.Input[_builtins.str]]
1803
3392
  """
1804
3393
  PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1805
3394
  """
1806
- validation_actions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
3395
+ validation_actions: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1807
3396
  """
1808
3397
  validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
1809
3398
 
@@ -1833,14 +3422,14 @@ class ValidatingAdmissionPolicyBindingSpecArgs:
1833
3422
  def __init__(__self__, *,
1834
3423
  match_resources: Optional[pulumi.Input['MatchResourcesArgs']] = None,
1835
3424
  param_ref: Optional[pulumi.Input['ParamRefArgs']] = None,
1836
- policy_name: Optional[pulumi.Input[str]] = None,
1837
- validation_actions: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
3425
+ policy_name: Optional[pulumi.Input[_builtins.str]] = None,
3426
+ validation_actions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
1838
3427
  """
1839
3428
  ValidatingAdmissionPolicyBindingSpec is the specification of the ValidatingAdmissionPolicyBinding.
1840
3429
  :param pulumi.Input['MatchResourcesArgs'] match_resources: MatchResources declares what resources match this binding and will be validated by it. Note that this is intersected with the policy's matchConstraints, so only requests that are matched by the policy can be selected by this. If this is unset, all resources matched by the policy are validated by this binding When resourceRules is unset, it does not constrain resource matching. If a resource is matched by the other fields of this object, it will be validated. Note that this is differs from ValidatingAdmissionPolicy matchConstraints, where resourceRules are required.
1841
- :param pulumi.Input['ParamRefArgs'] param_ref: paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
1842
- :param pulumi.Input[str] policy_name: PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1843
- :param pulumi.Input[Sequence[pulumi.Input[str]]] validation_actions: validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
3430
+ :param pulumi.Input['ParamRefArgs'] param_ref: ParamRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied.
3431
+ :param pulumi.Input[_builtins.str] policy_name: PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
3432
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] validation_actions: validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
1844
3433
 
1845
3434
  Failures defined by the ValidatingAdmissionPolicy's FailurePolicy are enforced according to these actions only if the FailurePolicy is set to Fail, otherwise the failures are ignored. This includes compilation errors, runtime errors and misconfigurations of the policy.
1846
3435
 
@@ -1869,7 +3458,7 @@ class ValidatingAdmissionPolicyBindingSpecArgs:
1869
3458
  if validation_actions is not None:
1870
3459
  pulumi.set(__self__, "validation_actions", validation_actions)
1871
3460
 
1872
- @property
3461
+ @_builtins.property
1873
3462
  @pulumi.getter(name="matchResources")
1874
3463
  def match_resources(self) -> Optional[pulumi.Input['MatchResourcesArgs']]:
1875
3464
  """
@@ -1881,11 +3470,11 @@ class ValidatingAdmissionPolicyBindingSpecArgs:
1881
3470
  def match_resources(self, value: Optional[pulumi.Input['MatchResourcesArgs']]):
1882
3471
  pulumi.set(self, "match_resources", value)
1883
3472
 
1884
- @property
3473
+ @_builtins.property
1885
3474
  @pulumi.getter(name="paramRef")
1886
3475
  def param_ref(self) -> Optional[pulumi.Input['ParamRefArgs']]:
1887
3476
  """
1888
- paramRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied. If the policy does not specify a ParamKind then this field is ignored, and the rules are evaluated without a param.
3477
+ ParamRef specifies the parameter resource used to configure the admission control policy. It should point to a resource of the type specified in ParamKind of the bound ValidatingAdmissionPolicy. If the policy specifies a ParamKind and the resource referred to by ParamRef does not exist, this binding is considered mis-configured and the FailurePolicy of the ValidatingAdmissionPolicy applied.
1889
3478
  """
1890
3479
  return pulumi.get(self, "param_ref")
1891
3480
 
@@ -1893,21 +3482,21 @@ class ValidatingAdmissionPolicyBindingSpecArgs:
1893
3482
  def param_ref(self, value: Optional[pulumi.Input['ParamRefArgs']]):
1894
3483
  pulumi.set(self, "param_ref", value)
1895
3484
 
1896
- @property
3485
+ @_builtins.property
1897
3486
  @pulumi.getter(name="policyName")
1898
- def policy_name(self) -> Optional[pulumi.Input[str]]:
3487
+ def policy_name(self) -> Optional[pulumi.Input[_builtins.str]]:
1899
3488
  """
1900
3489
  PolicyName references a ValidatingAdmissionPolicy name which the ValidatingAdmissionPolicyBinding binds to. If the referenced resource does not exist, this binding is considered invalid and will be ignored Required.
1901
3490
  """
1902
3491
  return pulumi.get(self, "policy_name")
1903
3492
 
1904
3493
  @policy_name.setter
1905
- def policy_name(self, value: Optional[pulumi.Input[str]]):
3494
+ def policy_name(self, value: Optional[pulumi.Input[_builtins.str]]):
1906
3495
  pulumi.set(self, "policy_name", value)
1907
3496
 
1908
- @property
3497
+ @_builtins.property
1909
3498
  @pulumi.getter(name="validationActions")
1910
- def validation_actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
3499
+ def validation_actions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1911
3500
  """
1912
3501
  validationActions declares how Validations of the referenced ValidatingAdmissionPolicy are enforced. If a validation evaluates to false it is always enforced according to these actions.
1913
3502
 
@@ -1932,7 +3521,7 @@ class ValidatingAdmissionPolicyBindingSpecArgs:
1932
3521
  return pulumi.get(self, "validation_actions")
1933
3522
 
1934
3523
  @validation_actions.setter
1935
- def validation_actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
3524
+ def validation_actions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1936
3525
  pulumi.set(self, "validation_actions", value)
1937
3526
 
1938
3527
 
@@ -1940,16 +3529,12 @@ if not MYPY:
1940
3529
  class ValidatingAdmissionPolicyBindingArgsDict(TypedDict):
1941
3530
  """
1942
3531
  ValidatingAdmissionPolicyBinding binds the ValidatingAdmissionPolicy with paramerized resources. ValidatingAdmissionPolicyBinding and parameter CRDs together define how cluster administrators configure policies for clusters.
1943
-
1944
- For a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding.
1945
-
1946
- The CEL expressions of a policy must have a computed CEL cost below the maximum CEL budget. Each evaluation of the policy is given an independent CEL cost budget. Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.
1947
3532
  """
1948
- api_version: NotRequired[pulumi.Input[str]]
3533
+ api_version: NotRequired[pulumi.Input[_builtins.str]]
1949
3534
  """
1950
3535
  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
1951
3536
  """
1952
- kind: NotRequired[pulumi.Input[str]]
3537
+ kind: NotRequired[pulumi.Input[_builtins.str]]
1953
3538
  """
1954
3539
  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
1955
3540
  """
@@ -1967,18 +3552,14 @@ elif False:
1967
3552
  @pulumi.input_type
1968
3553
  class ValidatingAdmissionPolicyBindingArgs:
1969
3554
  def __init__(__self__, *,
1970
- api_version: Optional[pulumi.Input[str]] = None,
1971
- kind: Optional[pulumi.Input[str]] = None,
3555
+ api_version: Optional[pulumi.Input[_builtins.str]] = None,
3556
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
1972
3557
  metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
1973
3558
  spec: Optional[pulumi.Input['ValidatingAdmissionPolicyBindingSpecArgs']] = None):
1974
3559
  """
1975
3560
  ValidatingAdmissionPolicyBinding binds the ValidatingAdmissionPolicy with paramerized resources. ValidatingAdmissionPolicyBinding and parameter CRDs together define how cluster administrators configure policies for clusters.
1976
-
1977
- For a given admission request, each binding will cause its policy to be evaluated N times, where N is 1 for policies/bindings that don't use params, otherwise N is the number of parameters selected by the binding.
1978
-
1979
- The CEL expressions of a policy must have a computed CEL cost below the maximum CEL budget. Each evaluation of the policy is given an independent CEL cost budget. Adding/removing policies, bindings, or params can not affect whether a given (policy, binding, param) combination is within its own CEL budget.
1980
- :param pulumi.Input[str] api_version: 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
1981
- :param pulumi.Input[str] kind: 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
3561
+ :param pulumi.Input[_builtins.str] api_version: 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
3562
+ :param pulumi.Input[_builtins.str] kind: 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
1982
3563
  :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
1983
3564
  :param pulumi.Input['ValidatingAdmissionPolicyBindingSpecArgs'] spec: Specification of the desired behavior of the ValidatingAdmissionPolicyBinding.
1984
3565
  """
@@ -1991,31 +3572,31 @@ class ValidatingAdmissionPolicyBindingArgs:
1991
3572
  if spec is not None:
1992
3573
  pulumi.set(__self__, "spec", spec)
1993
3574
 
1994
- @property
3575
+ @_builtins.property
1995
3576
  @pulumi.getter(name="apiVersion")
1996
- def api_version(self) -> Optional[pulumi.Input[str]]:
3577
+ def api_version(self) -> Optional[pulumi.Input[_builtins.str]]:
1997
3578
  """
1998
3579
  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
1999
3580
  """
2000
3581
  return pulumi.get(self, "api_version")
2001
3582
 
2002
3583
  @api_version.setter
2003
- def api_version(self, value: Optional[pulumi.Input[str]]):
3584
+ def api_version(self, value: Optional[pulumi.Input[_builtins.str]]):
2004
3585
  pulumi.set(self, "api_version", value)
2005
3586
 
2006
- @property
3587
+ @_builtins.property
2007
3588
  @pulumi.getter
2008
- def kind(self) -> Optional[pulumi.Input[str]]:
3589
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
2009
3590
  """
2010
3591
  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
2011
3592
  """
2012
3593
  return pulumi.get(self, "kind")
2013
3594
 
2014
3595
  @kind.setter
2015
- def kind(self, value: Optional[pulumi.Input[str]]):
3596
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
2016
3597
  pulumi.set(self, "kind", value)
2017
3598
 
2018
- @property
3599
+ @_builtins.property
2019
3600
  @pulumi.getter
2020
3601
  def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
2021
3602
  """
@@ -2027,7 +3608,7 @@ class ValidatingAdmissionPolicyBindingArgs:
2027
3608
  def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
2028
3609
  pulumi.set(self, "metadata", value)
2029
3610
 
2030
- @property
3611
+ @_builtins.property
2031
3612
  @pulumi.getter
2032
3613
  def spec(self) -> Optional[pulumi.Input['ValidatingAdmissionPolicyBindingSpecArgs']]:
2033
3614
  """
@@ -2049,17 +3630,9 @@ if not MYPY:
2049
3630
  """
2050
3631
  auditAnnotations contains CEL expressions which are used to produce audit annotations for the audit event of the API request. validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is required.
2051
3632
  """
2052
- failure_policy: NotRequired[pulumi.Input[str]]
3633
+ failure_policy: NotRequired[pulumi.Input[_builtins.str]]
2053
3634
  """
2054
- failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2055
-
2056
- A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.
2057
-
2058
- failurePolicy does not define how validations that evaluate to false are handled.
2059
-
2060
- When failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.
2061
-
2062
- Allowed values are Ignore or Fail. Defaults to Fail.
3635
+ FailurePolicy defines how to handle failures for the admission policy. Failures can occur from invalid or mis-configured policy definitions or bindings. A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource. Allowed values are Ignore or Fail. Defaults to Fail.
2063
3636
  """
2064
3637
  match_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgsDict']]]]
2065
3638
  """
@@ -2084,7 +3657,7 @@ if not MYPY:
2084
3657
  """
2085
3658
  validations: NotRequired[pulumi.Input[Sequence[pulumi.Input['ValidationPatchArgsDict']]]]
2086
3659
  """
2087
- Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.
3660
+ Validations contain CEL expressions which is used to apply the validation. A minimum of one validation is required for a policy definition. Required.
2088
3661
  """
2089
3662
  variables: NotRequired[pulumi.Input[Sequence[pulumi.Input['VariablePatchArgsDict']]]]
2090
3663
  """
@@ -2099,7 +3672,7 @@ elif False:
2099
3672
  class ValidatingAdmissionPolicySpecPatchArgs:
2100
3673
  def __init__(__self__, *,
2101
3674
  audit_annotations: Optional[pulumi.Input[Sequence[pulumi.Input['AuditAnnotationPatchArgs']]]] = None,
2102
- failure_policy: Optional[pulumi.Input[str]] = None,
3675
+ failure_policy: Optional[pulumi.Input[_builtins.str]] = None,
2103
3676
  match_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]]] = None,
2104
3677
  match_constraints: Optional[pulumi.Input['MatchResourcesPatchArgs']] = None,
2105
3678
  param_kind: Optional[pulumi.Input['ParamKindPatchArgs']] = None,
@@ -2108,15 +3681,7 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2108
3681
  """
2109
3682
  ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
2110
3683
  :param pulumi.Input[Sequence[pulumi.Input['AuditAnnotationPatchArgs']]] audit_annotations: auditAnnotations contains CEL expressions which are used to produce audit annotations for the audit event of the API request. validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is required.
2111
- :param pulumi.Input[str] failure_policy: failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2112
-
2113
- A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.
2114
-
2115
- failurePolicy does not define how validations that evaluate to false are handled.
2116
-
2117
- When failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.
2118
-
2119
- Allowed values are Ignore or Fail. Defaults to Fail.
3684
+ :param pulumi.Input[_builtins.str] failure_policy: FailurePolicy defines how to handle failures for the admission policy. Failures can occur from invalid or mis-configured policy definitions or bindings. A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource. Allowed values are Ignore or Fail. Defaults to Fail.
2120
3685
  :param pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]] match_conditions: MatchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
2121
3686
 
2122
3687
  If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
@@ -2129,7 +3694,7 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2129
3694
  - If failurePolicy=Ignore, the policy is skipped
2130
3695
  :param pulumi.Input['MatchResourcesPatchArgs'] match_constraints: MatchConstraints specifies what resources this policy is designed to validate. The AdmissionPolicy cares about a request if it matches _all_ Constraints. However, in order to prevent clusters from being put into an unstable state that cannot be recovered from via the API ValidatingAdmissionPolicy cannot match ValidatingAdmissionPolicy and ValidatingAdmissionPolicyBinding. Required.
2131
3696
  :param pulumi.Input['ParamKindPatchArgs'] param_kind: ParamKind specifies the kind of resources used to parameterize this policy. If absent, there are no parameters for this policy and the param CEL variable will not be provided to validation expressions. If ParamKind refers to a non-existent kind, this policy definition is mis-configured and the FailurePolicy is applied. If paramKind is specified but paramRef is unset in ValidatingAdmissionPolicyBinding, the params variable will be null.
2132
- :param pulumi.Input[Sequence[pulumi.Input['ValidationPatchArgs']]] validations: Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.
3697
+ :param pulumi.Input[Sequence[pulumi.Input['ValidationPatchArgs']]] validations: Validations contain CEL expressions which is used to apply the validation. A minimum of one validation is required for a policy definition. Required.
2133
3698
  :param pulumi.Input[Sequence[pulumi.Input['VariablePatchArgs']]] variables: Variables contain definitions of variables that can be used in composition of other expressions. Each variable is defined as a named CEL expression. The variables defined here will be available under `variables` in other expressions of the policy except MatchConditions because MatchConditions are evaluated before the rest of the policy.
2134
3699
 
2135
3700
  The expression of a variable can refer to other variables defined earlier in the list but not those after. Thus, Variables must be sorted by the order of first appearance and acyclic.
@@ -2149,7 +3714,7 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2149
3714
  if variables is not None:
2150
3715
  pulumi.set(__self__, "variables", variables)
2151
3716
 
2152
- @property
3717
+ @_builtins.property
2153
3718
  @pulumi.getter(name="auditAnnotations")
2154
3719
  def audit_annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuditAnnotationPatchArgs']]]]:
2155
3720
  """
@@ -2161,27 +3726,19 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2161
3726
  def audit_annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuditAnnotationPatchArgs']]]]):
2162
3727
  pulumi.set(self, "audit_annotations", value)
2163
3728
 
2164
- @property
3729
+ @_builtins.property
2165
3730
  @pulumi.getter(name="failurePolicy")
2166
- def failure_policy(self) -> Optional[pulumi.Input[str]]:
3731
+ def failure_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
2167
3732
  """
2168
- failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2169
-
2170
- A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.
2171
-
2172
- failurePolicy does not define how validations that evaluate to false are handled.
2173
-
2174
- When failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.
2175
-
2176
- Allowed values are Ignore or Fail. Defaults to Fail.
3733
+ FailurePolicy defines how to handle failures for the admission policy. Failures can occur from invalid or mis-configured policy definitions or bindings. A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource. Allowed values are Ignore or Fail. Defaults to Fail.
2177
3734
  """
2178
3735
  return pulumi.get(self, "failure_policy")
2179
3736
 
2180
3737
  @failure_policy.setter
2181
- def failure_policy(self, value: Optional[pulumi.Input[str]]):
3738
+ def failure_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
2182
3739
  pulumi.set(self, "failure_policy", value)
2183
3740
 
2184
- @property
3741
+ @_builtins.property
2185
3742
  @pulumi.getter(name="matchConditions")
2186
3743
  def match_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]]]:
2187
3744
  """
@@ -2202,7 +3759,7 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2202
3759
  def match_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionPatchArgs']]]]):
2203
3760
  pulumi.set(self, "match_conditions", value)
2204
3761
 
2205
- @property
3762
+ @_builtins.property
2206
3763
  @pulumi.getter(name="matchConstraints")
2207
3764
  def match_constraints(self) -> Optional[pulumi.Input['MatchResourcesPatchArgs']]:
2208
3765
  """
@@ -2214,7 +3771,7 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2214
3771
  def match_constraints(self, value: Optional[pulumi.Input['MatchResourcesPatchArgs']]):
2215
3772
  pulumi.set(self, "match_constraints", value)
2216
3773
 
2217
- @property
3774
+ @_builtins.property
2218
3775
  @pulumi.getter(name="paramKind")
2219
3776
  def param_kind(self) -> Optional[pulumi.Input['ParamKindPatchArgs']]:
2220
3777
  """
@@ -2226,11 +3783,11 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2226
3783
  def param_kind(self, value: Optional[pulumi.Input['ParamKindPatchArgs']]):
2227
3784
  pulumi.set(self, "param_kind", value)
2228
3785
 
2229
- @property
3786
+ @_builtins.property
2230
3787
  @pulumi.getter
2231
3788
  def validations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ValidationPatchArgs']]]]:
2232
3789
  """
2233
- Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.
3790
+ Validations contain CEL expressions which is used to apply the validation. A minimum of one validation is required for a policy definition. Required.
2234
3791
  """
2235
3792
  return pulumi.get(self, "validations")
2236
3793
 
@@ -2238,7 +3795,7 @@ class ValidatingAdmissionPolicySpecPatchArgs:
2238
3795
  def validations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ValidationPatchArgs']]]]):
2239
3796
  pulumi.set(self, "validations", value)
2240
3797
 
2241
- @property
3798
+ @_builtins.property
2242
3799
  @pulumi.getter
2243
3800
  def variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VariablePatchArgs']]]]:
2244
3801
  """
@@ -2260,23 +3817,15 @@ if not MYPY:
2260
3817
  """
2261
3818
  validations: pulumi.Input[Sequence[pulumi.Input['ValidationArgsDict']]]
2262
3819
  """
2263
- Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.
3820
+ Validations contain CEL expressions which is used to apply the validation. A minimum of one validation is required for a policy definition. Required.
2264
3821
  """
2265
3822
  audit_annotations: NotRequired[pulumi.Input[Sequence[pulumi.Input['AuditAnnotationArgsDict']]]]
2266
3823
  """
2267
3824
  auditAnnotations contains CEL expressions which are used to produce audit annotations for the audit event of the API request. validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is required.
2268
3825
  """
2269
- failure_policy: NotRequired[pulumi.Input[str]]
3826
+ failure_policy: NotRequired[pulumi.Input[_builtins.str]]
2270
3827
  """
2271
- failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2272
-
2273
- A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.
2274
-
2275
- failurePolicy does not define how validations that evaluate to false are handled.
2276
-
2277
- When failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.
2278
-
2279
- Allowed values are Ignore or Fail. Defaults to Fail.
3828
+ FailurePolicy defines how to handle failures for the admission policy. Failures can occur from invalid or mis-configured policy definitions or bindings. A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource. Allowed values are Ignore or Fail. Defaults to Fail.
2280
3829
  """
2281
3830
  match_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgsDict']]]]
2282
3831
  """
@@ -2313,24 +3862,16 @@ class ValidatingAdmissionPolicySpecArgs:
2313
3862
  def __init__(__self__, *,
2314
3863
  validations: pulumi.Input[Sequence[pulumi.Input['ValidationArgs']]],
2315
3864
  audit_annotations: Optional[pulumi.Input[Sequence[pulumi.Input['AuditAnnotationArgs']]]] = None,
2316
- failure_policy: Optional[pulumi.Input[str]] = None,
3865
+ failure_policy: Optional[pulumi.Input[_builtins.str]] = None,
2317
3866
  match_conditions: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]]] = None,
2318
3867
  match_constraints: Optional[pulumi.Input['MatchResourcesArgs']] = None,
2319
3868
  param_kind: Optional[pulumi.Input['ParamKindArgs']] = None,
2320
3869
  variables: Optional[pulumi.Input[Sequence[pulumi.Input['VariableArgs']]]] = None):
2321
3870
  """
2322
3871
  ValidatingAdmissionPolicySpec is the specification of the desired behavior of the AdmissionPolicy.
2323
- :param pulumi.Input[Sequence[pulumi.Input['ValidationArgs']]] validations: Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.
3872
+ :param pulumi.Input[Sequence[pulumi.Input['ValidationArgs']]] validations: Validations contain CEL expressions which is used to apply the validation. A minimum of one validation is required for a policy definition. Required.
2324
3873
  :param pulumi.Input[Sequence[pulumi.Input['AuditAnnotationArgs']]] audit_annotations: auditAnnotations contains CEL expressions which are used to produce audit annotations for the audit event of the API request. validations and auditAnnotations may not both be empty; a least one of validations or auditAnnotations is required.
2325
- :param pulumi.Input[str] failure_policy: failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2326
-
2327
- A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.
2328
-
2329
- failurePolicy does not define how validations that evaluate to false are handled.
2330
-
2331
- When failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.
2332
-
2333
- Allowed values are Ignore or Fail. Defaults to Fail.
3874
+ :param pulumi.Input[_builtins.str] failure_policy: FailurePolicy defines how to handle failures for the admission policy. Failures can occur from invalid or mis-configured policy definitions or bindings. A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource. Allowed values are Ignore or Fail. Defaults to Fail.
2334
3875
  :param pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]] match_conditions: MatchConditions is a list of conditions that must be met for a request to be validated. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed.
2335
3876
 
2336
3877
  If a parameter object is provided, it can be accessed via the `params` handle in the same manner as validation expressions.
@@ -2361,11 +3902,11 @@ class ValidatingAdmissionPolicySpecArgs:
2361
3902
  if variables is not None:
2362
3903
  pulumi.set(__self__, "variables", variables)
2363
3904
 
2364
- @property
3905
+ @_builtins.property
2365
3906
  @pulumi.getter
2366
3907
  def validations(self) -> pulumi.Input[Sequence[pulumi.Input['ValidationArgs']]]:
2367
3908
  """
2368
- Validations contain CEL expressions which is used to apply the validation. Validations and AuditAnnotations may not both be empty; a minimum of one Validations or AuditAnnotations is required.
3909
+ Validations contain CEL expressions which is used to apply the validation. A minimum of one validation is required for a policy definition. Required.
2369
3910
  """
2370
3911
  return pulumi.get(self, "validations")
2371
3912
 
@@ -2373,7 +3914,7 @@ class ValidatingAdmissionPolicySpecArgs:
2373
3914
  def validations(self, value: pulumi.Input[Sequence[pulumi.Input['ValidationArgs']]]):
2374
3915
  pulumi.set(self, "validations", value)
2375
3916
 
2376
- @property
3917
+ @_builtins.property
2377
3918
  @pulumi.getter(name="auditAnnotations")
2378
3919
  def audit_annotations(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AuditAnnotationArgs']]]]:
2379
3920
  """
@@ -2385,27 +3926,19 @@ class ValidatingAdmissionPolicySpecArgs:
2385
3926
  def audit_annotations(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AuditAnnotationArgs']]]]):
2386
3927
  pulumi.set(self, "audit_annotations", value)
2387
3928
 
2388
- @property
3929
+ @_builtins.property
2389
3930
  @pulumi.getter(name="failurePolicy")
2390
- def failure_policy(self) -> Optional[pulumi.Input[str]]:
3931
+ def failure_policy(self) -> Optional[pulumi.Input[_builtins.str]]:
2391
3932
  """
2392
- failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings.
2393
-
2394
- A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource.
2395
-
2396
- failurePolicy does not define how validations that evaluate to false are handled.
2397
-
2398
- When failurePolicy is set to Fail, ValidatingAdmissionPolicyBinding validationActions define how failures are enforced.
2399
-
2400
- Allowed values are Ignore or Fail. Defaults to Fail.
3933
+ FailurePolicy defines how to handle failures for the admission policy. Failures can occur from invalid or mis-configured policy definitions or bindings. A policy is invalid if spec.paramKind refers to a non-existent Kind. A binding is invalid if spec.paramRef.name refers to a non-existent resource. Allowed values are Ignore or Fail. Defaults to Fail.
2401
3934
  """
2402
3935
  return pulumi.get(self, "failure_policy")
2403
3936
 
2404
3937
  @failure_policy.setter
2405
- def failure_policy(self, value: Optional[pulumi.Input[str]]):
3938
+ def failure_policy(self, value: Optional[pulumi.Input[_builtins.str]]):
2406
3939
  pulumi.set(self, "failure_policy", value)
2407
3940
 
2408
- @property
3941
+ @_builtins.property
2409
3942
  @pulumi.getter(name="matchConditions")
2410
3943
  def match_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]]]:
2411
3944
  """
@@ -2426,7 +3959,7 @@ class ValidatingAdmissionPolicySpecArgs:
2426
3959
  def match_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['MatchConditionArgs']]]]):
2427
3960
  pulumi.set(self, "match_conditions", value)
2428
3961
 
2429
- @property
3962
+ @_builtins.property
2430
3963
  @pulumi.getter(name="matchConstraints")
2431
3964
  def match_constraints(self) -> Optional[pulumi.Input['MatchResourcesArgs']]:
2432
3965
  """
@@ -2438,7 +3971,7 @@ class ValidatingAdmissionPolicySpecArgs:
2438
3971
  def match_constraints(self, value: Optional[pulumi.Input['MatchResourcesArgs']]):
2439
3972
  pulumi.set(self, "match_constraints", value)
2440
3973
 
2441
- @property
3974
+ @_builtins.property
2442
3975
  @pulumi.getter(name="paramKind")
2443
3976
  def param_kind(self) -> Optional[pulumi.Input['ParamKindArgs']]:
2444
3977
  """
@@ -2450,7 +3983,7 @@ class ValidatingAdmissionPolicySpecArgs:
2450
3983
  def param_kind(self, value: Optional[pulumi.Input['ParamKindArgs']]):
2451
3984
  pulumi.set(self, "param_kind", value)
2452
3985
 
2453
- @property
3986
+ @_builtins.property
2454
3987
  @pulumi.getter
2455
3988
  def variables(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VariableArgs']]]]:
2456
3989
  """
@@ -2474,7 +4007,7 @@ if not MYPY:
2474
4007
  """
2475
4008
  The conditions represent the latest available observations of a policy's current state.
2476
4009
  """
2477
- observed_generation: NotRequired[pulumi.Input[int]]
4010
+ observed_generation: NotRequired[pulumi.Input[_builtins.int]]
2478
4011
  """
2479
4012
  The generation observed by the controller.
2480
4013
  """
@@ -2489,12 +4022,12 @@ elif False:
2489
4022
  class ValidatingAdmissionPolicyStatusArgs:
2490
4023
  def __init__(__self__, *,
2491
4024
  conditions: Optional[pulumi.Input[Sequence[pulumi.Input['_meta.v1.ConditionArgs']]]] = None,
2492
- observed_generation: Optional[pulumi.Input[int]] = None,
4025
+ observed_generation: Optional[pulumi.Input[_builtins.int]] = None,
2493
4026
  type_checking: Optional[pulumi.Input['TypeCheckingArgs']] = None):
2494
4027
  """
2495
4028
  ValidatingAdmissionPolicyStatus represents the status of a ValidatingAdmissionPolicy.
2496
4029
  :param pulumi.Input[Sequence[pulumi.Input['_meta.v1.ConditionArgs']]] conditions: The conditions represent the latest available observations of a policy's current state.
2497
- :param pulumi.Input[int] observed_generation: The generation observed by the controller.
4030
+ :param pulumi.Input[_builtins.int] observed_generation: The generation observed by the controller.
2498
4031
  :param pulumi.Input['TypeCheckingArgs'] type_checking: The results of type checking for each expression. Presence of this field indicates the completion of the type checking.
2499
4032
  """
2500
4033
  if conditions is not None:
@@ -2504,7 +4037,7 @@ class ValidatingAdmissionPolicyStatusArgs:
2504
4037
  if type_checking is not None:
2505
4038
  pulumi.set(__self__, "type_checking", type_checking)
2506
4039
 
2507
- @property
4040
+ @_builtins.property
2508
4041
  @pulumi.getter
2509
4042
  def conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['_meta.v1.ConditionArgs']]]]:
2510
4043
  """
@@ -2516,19 +4049,19 @@ class ValidatingAdmissionPolicyStatusArgs:
2516
4049
  def conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['_meta.v1.ConditionArgs']]]]):
2517
4050
  pulumi.set(self, "conditions", value)
2518
4051
 
2519
- @property
4052
+ @_builtins.property
2520
4053
  @pulumi.getter(name="observedGeneration")
2521
- def observed_generation(self) -> Optional[pulumi.Input[int]]:
4054
+ def observed_generation(self) -> Optional[pulumi.Input[_builtins.int]]:
2522
4055
  """
2523
4056
  The generation observed by the controller.
2524
4057
  """
2525
4058
  return pulumi.get(self, "observed_generation")
2526
4059
 
2527
4060
  @observed_generation.setter
2528
- def observed_generation(self, value: Optional[pulumi.Input[int]]):
4061
+ def observed_generation(self, value: Optional[pulumi.Input[_builtins.int]]):
2529
4062
  pulumi.set(self, "observed_generation", value)
2530
4063
 
2531
- @property
4064
+ @_builtins.property
2532
4065
  @pulumi.getter(name="typeChecking")
2533
4066
  def type_checking(self) -> Optional[pulumi.Input['TypeCheckingArgs']]:
2534
4067
  """
@@ -2546,11 +4079,11 @@ if not MYPY:
2546
4079
  """
2547
4080
  ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
2548
4081
  """
2549
- api_version: NotRequired[pulumi.Input[str]]
4082
+ api_version: NotRequired[pulumi.Input[_builtins.str]]
2550
4083
  """
2551
4084
  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
2552
4085
  """
2553
- kind: NotRequired[pulumi.Input[str]]
4086
+ kind: NotRequired[pulumi.Input[_builtins.str]]
2554
4087
  """
2555
4088
  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
2556
4089
  """
@@ -2572,15 +4105,15 @@ elif False:
2572
4105
  @pulumi.input_type
2573
4106
  class ValidatingAdmissionPolicyArgs:
2574
4107
  def __init__(__self__, *,
2575
- api_version: Optional[pulumi.Input[str]] = None,
2576
- kind: Optional[pulumi.Input[str]] = None,
4108
+ api_version: Optional[pulumi.Input[_builtins.str]] = None,
4109
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
2577
4110
  metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
2578
4111
  spec: Optional[pulumi.Input['ValidatingAdmissionPolicySpecArgs']] = None,
2579
4112
  status: Optional[pulumi.Input['ValidatingAdmissionPolicyStatusArgs']] = None):
2580
4113
  """
2581
4114
  ValidatingAdmissionPolicy describes the definition of an admission validation policy that accepts or rejects an object without changing it.
2582
- :param pulumi.Input[str] api_version: 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
2583
- :param pulumi.Input[str] kind: 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
4115
+ :param pulumi.Input[_builtins.str] api_version: 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
4116
+ :param pulumi.Input[_builtins.str] kind: 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
2584
4117
  :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata; More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata.
2585
4118
  :param pulumi.Input['ValidatingAdmissionPolicySpecArgs'] spec: Specification of the desired behavior of the ValidatingAdmissionPolicy.
2586
4119
  :param pulumi.Input['ValidatingAdmissionPolicyStatusArgs'] status: The status of the ValidatingAdmissionPolicy, including warnings that are useful to determine if the policy behaves in the expected way. Populated by the system. Read-only.
@@ -2596,31 +4129,31 @@ class ValidatingAdmissionPolicyArgs:
2596
4129
  if status is not None:
2597
4130
  pulumi.set(__self__, "status", status)
2598
4131
 
2599
- @property
4132
+ @_builtins.property
2600
4133
  @pulumi.getter(name="apiVersion")
2601
- def api_version(self) -> Optional[pulumi.Input[str]]:
4134
+ def api_version(self) -> Optional[pulumi.Input[_builtins.str]]:
2602
4135
  """
2603
4136
  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
2604
4137
  """
2605
4138
  return pulumi.get(self, "api_version")
2606
4139
 
2607
4140
  @api_version.setter
2608
- def api_version(self, value: Optional[pulumi.Input[str]]):
4141
+ def api_version(self, value: Optional[pulumi.Input[_builtins.str]]):
2609
4142
  pulumi.set(self, "api_version", value)
2610
4143
 
2611
- @property
4144
+ @_builtins.property
2612
4145
  @pulumi.getter
2613
- def kind(self) -> Optional[pulumi.Input[str]]:
4146
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
2614
4147
  """
2615
4148
  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
2616
4149
  """
2617
4150
  return pulumi.get(self, "kind")
2618
4151
 
2619
4152
  @kind.setter
2620
- def kind(self, value: Optional[pulumi.Input[str]]):
4153
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
2621
4154
  pulumi.set(self, "kind", value)
2622
4155
 
2623
- @property
4156
+ @_builtins.property
2624
4157
  @pulumi.getter
2625
4158
  def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
2626
4159
  """
@@ -2632,7 +4165,7 @@ class ValidatingAdmissionPolicyArgs:
2632
4165
  def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
2633
4166
  pulumi.set(self, "metadata", value)
2634
4167
 
2635
- @property
4168
+ @_builtins.property
2636
4169
  @pulumi.getter
2637
4170
  def spec(self) -> Optional[pulumi.Input['ValidatingAdmissionPolicySpecArgs']]:
2638
4171
  """
@@ -2644,7 +4177,7 @@ class ValidatingAdmissionPolicyArgs:
2644
4177
  def spec(self, value: Optional[pulumi.Input['ValidatingAdmissionPolicySpecArgs']]):
2645
4178
  pulumi.set(self, "spec", value)
2646
4179
 
2647
- @property
4180
+ @_builtins.property
2648
4181
  @pulumi.getter
2649
4182
  def status(self) -> Optional[pulumi.Input['ValidatingAdmissionPolicyStatusArgs']]:
2650
4183
  """
@@ -2662,16 +4195,11 @@ if not MYPY:
2662
4195
  """
2663
4196
  Validation specifies the CEL expression which is used to apply the validation.
2664
4197
  """
2665
- expression: NotRequired[pulumi.Input[str]]
4198
+ expression: NotRequired[pulumi.Input[_builtins.str]]
2666
4199
  """
2667
- Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
4200
+ Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the Admission request/response, organized into CEL variables as well as some other useful variables:
2668
4201
 
2669
- - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
2670
- For example, a variable named 'foo' can be accessed as 'variables.foo'.
2671
- - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
2672
- See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
2673
- - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
2674
- request resource.
4202
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
2675
4203
 
2676
4204
  The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
2677
4205
 
@@ -2691,15 +4219,15 @@ if not MYPY:
2691
4219
  non-intersecting keys are appended, retaining their partial order.
2692
4220
  Required.
2693
4221
  """
2694
- message: NotRequired[pulumi.Input[str]]
4222
+ message: NotRequired[pulumi.Input[_builtins.str]]
2695
4223
  """
2696
4224
  Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
2697
4225
  """
2698
- message_expression: NotRequired[pulumi.Input[str]]
4226
+ message_expression: NotRequired[pulumi.Input[_builtins.str]]
2699
4227
  """
2700
4228
  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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
2701
4229
  """
2702
- reason: NotRequired[pulumi.Input[str]]
4230
+ reason: NotRequired[pulumi.Input[_builtins.str]]
2703
4231
  """
2704
4232
  Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
2705
4233
  """
@@ -2709,20 +4237,15 @@ elif False:
2709
4237
  @pulumi.input_type
2710
4238
  class ValidationPatchArgs:
2711
4239
  def __init__(__self__, *,
2712
- expression: Optional[pulumi.Input[str]] = None,
2713
- message: Optional[pulumi.Input[str]] = None,
2714
- message_expression: Optional[pulumi.Input[str]] = None,
2715
- reason: Optional[pulumi.Input[str]] = None):
4240
+ expression: Optional[pulumi.Input[_builtins.str]] = None,
4241
+ message: Optional[pulumi.Input[_builtins.str]] = None,
4242
+ message_expression: Optional[pulumi.Input[_builtins.str]] = None,
4243
+ reason: Optional[pulumi.Input[_builtins.str]] = None):
2716
4244
  """
2717
4245
  Validation specifies the CEL expression which is used to apply the validation.
2718
- :param pulumi.Input[str] expression: Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
4246
+ :param pulumi.Input[_builtins.str] expression: Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the Admission request/response, organized into CEL variables as well as some other useful variables:
2719
4247
 
2720
- - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
2721
- For example, a variable named 'foo' can be accessed as 'variables.foo'.
2722
- - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
2723
- See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
2724
- - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
2725
- request resource.
4248
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
2726
4249
 
2727
4250
  The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
2728
4251
 
@@ -2741,9 +4264,9 @@ class ValidationPatchArgs:
2741
4264
  are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with
2742
4265
  non-intersecting keys are appended, retaining their partial order.
2743
4266
  Required.
2744
- :param pulumi.Input[str] message: Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
2745
- :param pulumi.Input[str] message_expression: 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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
2746
- :param pulumi.Input[str] reason: Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
4267
+ :param pulumi.Input[_builtins.str] message: Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
4268
+ :param pulumi.Input[_builtins.str] message_expression: 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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
4269
+ :param pulumi.Input[_builtins.str] reason: Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
2747
4270
  """
2748
4271
  if expression is not None:
2749
4272
  pulumi.set(__self__, "expression", expression)
@@ -2754,18 +4277,13 @@ class ValidationPatchArgs:
2754
4277
  if reason is not None:
2755
4278
  pulumi.set(__self__, "reason", reason)
2756
4279
 
2757
- @property
4280
+ @_builtins.property
2758
4281
  @pulumi.getter
2759
- def expression(self) -> Optional[pulumi.Input[str]]:
4282
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
2760
4283
  """
2761
- Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
4284
+ Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the Admission request/response, organized into CEL variables as well as some other useful variables:
2762
4285
 
2763
- - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
2764
- For example, a variable named 'foo' can be accessed as 'variables.foo'.
2765
- - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
2766
- See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
2767
- - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
2768
- request resource.
4286
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
2769
4287
 
2770
4288
  The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
2771
4289
 
@@ -2788,43 +4306,43 @@ class ValidationPatchArgs:
2788
4306
  return pulumi.get(self, "expression")
2789
4307
 
2790
4308
  @expression.setter
2791
- def expression(self, value: Optional[pulumi.Input[str]]):
4309
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
2792
4310
  pulumi.set(self, "expression", value)
2793
4311
 
2794
- @property
4312
+ @_builtins.property
2795
4313
  @pulumi.getter
2796
- def message(self) -> Optional[pulumi.Input[str]]:
4314
+ def message(self) -> Optional[pulumi.Input[_builtins.str]]:
2797
4315
  """
2798
4316
  Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
2799
4317
  """
2800
4318
  return pulumi.get(self, "message")
2801
4319
 
2802
4320
  @message.setter
2803
- def message(self, value: Optional[pulumi.Input[str]]):
4321
+ def message(self, value: Optional[pulumi.Input[_builtins.str]]):
2804
4322
  pulumi.set(self, "message", value)
2805
4323
 
2806
- @property
4324
+ @_builtins.property
2807
4325
  @pulumi.getter(name="messageExpression")
2808
- def message_expression(self) -> Optional[pulumi.Input[str]]:
4326
+ def message_expression(self) -> Optional[pulumi.Input[_builtins.str]]:
2809
4327
  """
2810
4328
  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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
2811
4329
  """
2812
4330
  return pulumi.get(self, "message_expression")
2813
4331
 
2814
4332
  @message_expression.setter
2815
- def message_expression(self, value: Optional[pulumi.Input[str]]):
4333
+ def message_expression(self, value: Optional[pulumi.Input[_builtins.str]]):
2816
4334
  pulumi.set(self, "message_expression", value)
2817
4335
 
2818
- @property
4336
+ @_builtins.property
2819
4337
  @pulumi.getter
2820
- def reason(self) -> Optional[pulumi.Input[str]]:
4338
+ def reason(self) -> Optional[pulumi.Input[_builtins.str]]:
2821
4339
  """
2822
4340
  Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
2823
4341
  """
2824
4342
  return pulumi.get(self, "reason")
2825
4343
 
2826
4344
  @reason.setter
2827
- def reason(self, value: Optional[pulumi.Input[str]]):
4345
+ def reason(self, value: Optional[pulumi.Input[_builtins.str]]):
2828
4346
  pulumi.set(self, "reason", value)
2829
4347
 
2830
4348
 
@@ -2833,16 +4351,11 @@ if not MYPY:
2833
4351
  """
2834
4352
  Validation specifies the CEL expression which is used to apply the validation.
2835
4353
  """
2836
- expression: pulumi.Input[str]
4354
+ expression: pulumi.Input[_builtins.str]
2837
4355
  """
2838
- Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
4356
+ Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the Admission request/response, organized into CEL variables as well as some other useful variables:
2839
4357
 
2840
- - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
2841
- For example, a variable named 'foo' can be accessed as 'variables.foo'.
2842
- - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
2843
- See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
2844
- - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
2845
- request resource.
4358
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
2846
4359
 
2847
4360
  The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
2848
4361
 
@@ -2862,15 +4375,15 @@ if not MYPY:
2862
4375
  non-intersecting keys are appended, retaining their partial order.
2863
4376
  Required.
2864
4377
  """
2865
- message: NotRequired[pulumi.Input[str]]
4378
+ message: NotRequired[pulumi.Input[_builtins.str]]
2866
4379
  """
2867
4380
  Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
2868
4381
  """
2869
- message_expression: NotRequired[pulumi.Input[str]]
4382
+ message_expression: NotRequired[pulumi.Input[_builtins.str]]
2870
4383
  """
2871
4384
  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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
2872
4385
  """
2873
- reason: NotRequired[pulumi.Input[str]]
4386
+ reason: NotRequired[pulumi.Input[_builtins.str]]
2874
4387
  """
2875
4388
  Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
2876
4389
  """
@@ -2880,20 +4393,15 @@ elif False:
2880
4393
  @pulumi.input_type
2881
4394
  class ValidationArgs:
2882
4395
  def __init__(__self__, *,
2883
- expression: pulumi.Input[str],
2884
- message: Optional[pulumi.Input[str]] = None,
2885
- message_expression: Optional[pulumi.Input[str]] = None,
2886
- reason: Optional[pulumi.Input[str]] = None):
4396
+ expression: pulumi.Input[_builtins.str],
4397
+ message: Optional[pulumi.Input[_builtins.str]] = None,
4398
+ message_expression: Optional[pulumi.Input[_builtins.str]] = None,
4399
+ reason: Optional[pulumi.Input[_builtins.str]] = None):
2887
4400
  """
2888
4401
  Validation specifies the CEL expression which is used to apply the validation.
2889
- :param pulumi.Input[str] expression: Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
4402
+ :param pulumi.Input[_builtins.str] expression: Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the Admission request/response, organized into CEL variables as well as some other useful variables:
2890
4403
 
2891
- - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
2892
- For example, a variable named 'foo' can be accessed as 'variables.foo'.
2893
- - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
2894
- See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
2895
- - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
2896
- request resource.
4404
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
2897
4405
 
2898
4406
  The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
2899
4407
 
@@ -2912,9 +4420,9 @@ class ValidationArgs:
2912
4420
  are overwritten by values in `Y` when the key sets of `X` and `Y` intersect. Elements in `Y` with
2913
4421
  non-intersecting keys are appended, retaining their partial order.
2914
4422
  Required.
2915
- :param pulumi.Input[str] message: Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
2916
- :param pulumi.Input[str] message_expression: 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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
2917
- :param pulumi.Input[str] reason: Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
4423
+ :param pulumi.Input[_builtins.str] message: Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
4424
+ :param pulumi.Input[_builtins.str] message_expression: 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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
4425
+ :param pulumi.Input[_builtins.str] reason: Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
2918
4426
  """
2919
4427
  pulumi.set(__self__, "expression", expression)
2920
4428
  if message is not None:
@@ -2924,18 +4432,13 @@ class ValidationArgs:
2924
4432
  if reason is not None:
2925
4433
  pulumi.set(__self__, "reason", reason)
2926
4434
 
2927
- @property
4435
+ @_builtins.property
2928
4436
  @pulumi.getter
2929
- def expression(self) -> pulumi.Input[str]:
4437
+ def expression(self) -> pulumi.Input[_builtins.str]:
2930
4438
  """
2931
- Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the API request/response, organized into CEL variables as well as some other useful variables:
4439
+ Expression represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec CEL expressions have access to the contents of the Admission request/response, organized into CEL variables as well as some other useful variables:
2932
4440
 
2933
- - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value.
2934
- For example, a variable named 'foo' can be accessed as 'variables.foo'.
2935
- - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request.
2936
- See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz
2937
- - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the
2938
- request resource.
4441
+ 'object' - The object from the incoming request. The value is null for DELETE requests. 'oldObject' - The existing object. The value is null for CREATE requests. 'request' - Attributes of the admission request([ref](/pkg/apis/admission/types.go#AdmissionRequest)). 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind.
2939
4442
 
2940
4443
  The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible.
2941
4444
 
@@ -2958,43 +4461,43 @@ class ValidationArgs:
2958
4461
  return pulumi.get(self, "expression")
2959
4462
 
2960
4463
  @expression.setter
2961
- def expression(self, value: pulumi.Input[str]):
4464
+ def expression(self, value: pulumi.Input[_builtins.str]):
2962
4465
  pulumi.set(self, "expression", value)
2963
4466
 
2964
- @property
4467
+ @_builtins.property
2965
4468
  @pulumi.getter
2966
- def message(self) -> Optional[pulumi.Input[str]]:
4469
+ def message(self) -> Optional[pulumi.Input[_builtins.str]]:
2967
4470
  """
2968
4471
  Message represents the message displayed when validation fails. The message is required if the Expression 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" If the Expression contains line breaks. Message is required. The message must not contain line breaks. If unset, the message is "failed Expression: {Expression}".
2969
4472
  """
2970
4473
  return pulumi.get(self, "message")
2971
4474
 
2972
4475
  @message.setter
2973
- def message(self, value: Optional[pulumi.Input[str]]):
4476
+ def message(self, value: Optional[pulumi.Input[_builtins.str]]):
2974
4477
  pulumi.set(self, "message", value)
2975
4478
 
2976
- @property
4479
+ @_builtins.property
2977
4480
  @pulumi.getter(name="messageExpression")
2978
- def message_expression(self) -> Optional[pulumi.Input[str]]:
4481
+ def message_expression(self) -> Optional[pulumi.Input[_builtins.str]]:
2979
4482
  """
2980
4483
  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 validation, 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 `expression` except for 'authorizer' and 'authorizer.requestResource'. Example: "object.x must be less than max ("+string(params.max)+")"
2981
4484
  """
2982
4485
  return pulumi.get(self, "message_expression")
2983
4486
 
2984
4487
  @message_expression.setter
2985
- def message_expression(self, value: Optional[pulumi.Input[str]]):
4488
+ def message_expression(self, value: Optional[pulumi.Input[_builtins.str]]):
2986
4489
  pulumi.set(self, "message_expression", value)
2987
4490
 
2988
- @property
4491
+ @_builtins.property
2989
4492
  @pulumi.getter
2990
- def reason(self) -> Optional[pulumi.Input[str]]:
4493
+ def reason(self) -> Optional[pulumi.Input[_builtins.str]]:
2991
4494
  """
2992
4495
  Reason represents a machine-readable description of why this validation failed. If this is the first validation in the list to fail, this reason, as well as the corresponding HTTP response code, are used in the HTTP response to the client. The currently supported reasons are: "Unauthorized", "Forbidden", "Invalid", "RequestEntityTooLarge". If not set, StatusReasonInvalid is used in the response to the client.
2993
4496
  """
2994
4497
  return pulumi.get(self, "reason")
2995
4498
 
2996
4499
  @reason.setter
2997
- def reason(self, value: Optional[pulumi.Input[str]]):
4500
+ def reason(self, value: Optional[pulumi.Input[_builtins.str]]):
2998
4501
  pulumi.set(self, "reason", value)
2999
4502
 
3000
4503
 
@@ -3003,11 +4506,11 @@ if not MYPY:
3003
4506
  """
3004
4507
  Variable is the definition of a variable that is used for composition.
3005
4508
  """
3006
- expression: NotRequired[pulumi.Input[str]]
4509
+ expression: NotRequired[pulumi.Input[_builtins.str]]
3007
4510
  """
3008
4511
  Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
3009
4512
  """
3010
- name: NotRequired[pulumi.Input[str]]
4513
+ name: NotRequired[pulumi.Input[_builtins.str]]
3011
4514
  """
3012
4515
  Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
3013
4516
  """
@@ -3017,40 +4520,40 @@ elif False:
3017
4520
  @pulumi.input_type
3018
4521
  class VariablePatchArgs:
3019
4522
  def __init__(__self__, *,
3020
- expression: Optional[pulumi.Input[str]] = None,
3021
- name: Optional[pulumi.Input[str]] = None):
4523
+ expression: Optional[pulumi.Input[_builtins.str]] = None,
4524
+ name: Optional[pulumi.Input[_builtins.str]] = None):
3022
4525
  """
3023
4526
  Variable is the definition of a variable that is used for composition.
3024
- :param pulumi.Input[str] expression: Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
3025
- :param pulumi.Input[str] name: Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
4527
+ :param pulumi.Input[_builtins.str] expression: Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
4528
+ :param pulumi.Input[_builtins.str] name: Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
3026
4529
  """
3027
4530
  if expression is not None:
3028
4531
  pulumi.set(__self__, "expression", expression)
3029
4532
  if name is not None:
3030
4533
  pulumi.set(__self__, "name", name)
3031
4534
 
3032
- @property
4535
+ @_builtins.property
3033
4536
  @pulumi.getter
3034
- def expression(self) -> Optional[pulumi.Input[str]]:
4537
+ def expression(self) -> Optional[pulumi.Input[_builtins.str]]:
3035
4538
  """
3036
4539
  Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
3037
4540
  """
3038
4541
  return pulumi.get(self, "expression")
3039
4542
 
3040
4543
  @expression.setter
3041
- def expression(self, value: Optional[pulumi.Input[str]]):
4544
+ def expression(self, value: Optional[pulumi.Input[_builtins.str]]):
3042
4545
  pulumi.set(self, "expression", value)
3043
4546
 
3044
- @property
4547
+ @_builtins.property
3045
4548
  @pulumi.getter
3046
- def name(self) -> Optional[pulumi.Input[str]]:
4549
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
3047
4550
  """
3048
4551
  Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
3049
4552
  """
3050
4553
  return pulumi.get(self, "name")
3051
4554
 
3052
4555
  @name.setter
3053
- def name(self, value: Optional[pulumi.Input[str]]):
4556
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
3054
4557
  pulumi.set(self, "name", value)
3055
4558
 
3056
4559
 
@@ -3059,11 +4562,11 @@ if not MYPY:
3059
4562
  """
3060
4563
  Variable is the definition of a variable that is used for composition.
3061
4564
  """
3062
- expression: pulumi.Input[str]
4565
+ expression: pulumi.Input[_builtins.str]
3063
4566
  """
3064
4567
  Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
3065
4568
  """
3066
- name: pulumi.Input[str]
4569
+ name: pulumi.Input[_builtins.str]
3067
4570
  """
3068
4571
  Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
3069
4572
  """
@@ -3073,38 +4576,38 @@ elif False:
3073
4576
  @pulumi.input_type
3074
4577
  class VariableArgs:
3075
4578
  def __init__(__self__, *,
3076
- expression: pulumi.Input[str],
3077
- name: pulumi.Input[str]):
4579
+ expression: pulumi.Input[_builtins.str],
4580
+ name: pulumi.Input[_builtins.str]):
3078
4581
  """
3079
4582
  Variable is the definition of a variable that is used for composition.
3080
- :param pulumi.Input[str] expression: Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
3081
- :param pulumi.Input[str] name: Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
4583
+ :param pulumi.Input[_builtins.str] expression: Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
4584
+ :param pulumi.Input[_builtins.str] name: Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
3082
4585
  """
3083
4586
  pulumi.set(__self__, "expression", expression)
3084
4587
  pulumi.set(__self__, "name", name)
3085
4588
 
3086
- @property
4589
+ @_builtins.property
3087
4590
  @pulumi.getter
3088
- def expression(self) -> pulumi.Input[str]:
4591
+ def expression(self) -> pulumi.Input[_builtins.str]:
3089
4592
  """
3090
4593
  Expression is the expression that will be evaluated as the value of the variable. The CEL expression has access to the same identifiers as the CEL expressions in Validation.
3091
4594
  """
3092
4595
  return pulumi.get(self, "expression")
3093
4596
 
3094
4597
  @expression.setter
3095
- def expression(self, value: pulumi.Input[str]):
4598
+ def expression(self, value: pulumi.Input[_builtins.str]):
3096
4599
  pulumi.set(self, "expression", value)
3097
4600
 
3098
- @property
4601
+ @_builtins.property
3099
4602
  @pulumi.getter
3100
- def name(self) -> pulumi.Input[str]:
4603
+ def name(self) -> pulumi.Input[_builtins.str]:
3101
4604
  """
3102
4605
  Name is the name of the variable. The name must be a valid CEL identifier and unique among all variables. The variable can be accessed in other expressions through `variables` For example, if name is "foo", the variable will be available as `variables.foo`
3103
4606
  """
3104
4607
  return pulumi.get(self, "name")
3105
4608
 
3106
4609
  @name.setter
3107
- def name(self, value: pulumi.Input[str]):
4610
+ def name(self, value: pulumi.Input[_builtins.str]):
3108
4611
  pulumi.set(self, "name", value)
3109
4612
 
3110
4613