pulumi-kubernetes 4.10.0a1710288589__py3-none-any.whl → 4.20.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (598) hide show
  1. pulumi_kubernetes/__init__.py +123 -3
  2. pulumi_kubernetes/_inputs.py +63 -6
  3. pulumi_kubernetes/_utilities.py +41 -5
  4. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfiguration.py +11 -6
  5. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationList.py +11 -6
  6. pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationPatch.py +11 -6
  7. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicy.py +226 -0
  8. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBinding.py +224 -0
  9. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingList.py +215 -0
  10. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingPatch.py +236 -0
  11. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyList.py +215 -0
  12. pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyPatch.py +238 -0
  13. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfiguration.py +11 -6
  14. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationList.py +11 -6
  15. pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationPatch.py +11 -6
  16. pulumi_kubernetes/admissionregistration/v1/__init__.py +6 -0
  17. pulumi_kubernetes/admissionregistration/v1/_inputs.py +4571 -939
  18. pulumi_kubernetes/admissionregistration/v1/outputs.py +2880 -470
  19. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicy.py +214 -0
  20. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBinding.py +222 -0
  21. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingList.py +215 -0
  22. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingPatch.py +234 -0
  23. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyList.py +215 -0
  24. pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyPatch.py +226 -0
  25. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicy.py +12 -7
  26. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBinding.py +12 -15
  27. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingList.py +29 -23
  28. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingPatch.py +12 -15
  29. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyList.py +29 -23
  30. pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyPatch.py +12 -7
  31. pulumi_kubernetes/admissionregistration/v1alpha1/__init__.py +6 -0
  32. pulumi_kubernetes/admissionregistration/v1alpha1/_inputs.py +2514 -141
  33. pulumi_kubernetes/admissionregistration/v1alpha1/outputs.py +1370 -246
  34. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfiguration.py +11 -6
  35. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationList.py +11 -6
  36. pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationPatch.py +11 -6
  37. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicy.py +12 -7
  38. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBinding.py +12 -7
  39. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingList.py +29 -23
  40. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingPatch.py +12 -7
  41. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyList.py +29 -23
  42. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyPatch.py +12 -7
  43. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfiguration.py +11 -6
  44. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationList.py +11 -6
  45. pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationPatch.py +11 -6
  46. pulumi_kubernetes/admissionregistration/v1beta1/_inputs.py +1522 -42
  47. pulumi_kubernetes/admissionregistration/v1beta1/outputs.py +9 -4
  48. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinition.py +11 -6
  49. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionList.py +11 -6
  50. pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionPatch.py +11 -6
  51. pulumi_kubernetes/apiextensions/v1/_inputs.py +1175 -12
  52. pulumi_kubernetes/apiextensions/v1/outputs.py +122 -8
  53. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinition.py +10 -5
  54. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionList.py +10 -5
  55. pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionPatch.py +10 -5
  56. pulumi_kubernetes/apiextensions/v1beta1/_inputs.py +903 -6
  57. pulumi_kubernetes/apiextensions/v1beta1/outputs.py +5 -0
  58. pulumi_kubernetes/apiregistration/v1/APIService.py +11 -6
  59. pulumi_kubernetes/apiregistration/v1/APIServiceList.py +11 -6
  60. pulumi_kubernetes/apiregistration/v1/APIServicePatch.py +11 -6
  61. pulumi_kubernetes/apiregistration/v1/_inputs.py +194 -0
  62. pulumi_kubernetes/apiregistration/v1/outputs.py +5 -0
  63. pulumi_kubernetes/apiregistration/v1beta1/APIService.py +10 -5
  64. pulumi_kubernetes/apiregistration/v1beta1/APIServiceList.py +9 -4
  65. pulumi_kubernetes/apiregistration/v1beta1/APIServicePatch.py +10 -5
  66. pulumi_kubernetes/apiregistration/v1beta1/_inputs.py +191 -0
  67. pulumi_kubernetes/apiregistration/v1beta1/outputs.py +5 -0
  68. pulumi_kubernetes/apps/v1/ControllerRevision.py +8 -3
  69. pulumi_kubernetes/apps/v1/ControllerRevisionList.py +11 -6
  70. pulumi_kubernetes/apps/v1/ControllerRevisionPatch.py +8 -3
  71. pulumi_kubernetes/apps/v1/DaemonSet.py +11 -6
  72. pulumi_kubernetes/apps/v1/DaemonSetList.py +11 -6
  73. pulumi_kubernetes/apps/v1/DaemonSetPatch.py +11 -6
  74. pulumi_kubernetes/apps/v1/Deployment.py +11 -6
  75. pulumi_kubernetes/apps/v1/DeploymentList.py +11 -6
  76. pulumi_kubernetes/apps/v1/DeploymentPatch.py +11 -6
  77. pulumi_kubernetes/apps/v1/ReplicaSet.py +11 -6
  78. pulumi_kubernetes/apps/v1/ReplicaSetList.py +11 -6
  79. pulumi_kubernetes/apps/v1/ReplicaSetPatch.py +11 -6
  80. pulumi_kubernetes/apps/v1/StatefulSet.py +11 -6
  81. pulumi_kubernetes/apps/v1/StatefulSetList.py +11 -6
  82. pulumi_kubernetes/apps/v1/StatefulSetPatch.py +11 -6
  83. pulumi_kubernetes/apps/v1/_inputs.py +1057 -8
  84. pulumi_kubernetes/apps/v1/outputs.py +13 -8
  85. pulumi_kubernetes/apps/v1beta1/ControllerRevision.py +8 -3
  86. pulumi_kubernetes/apps/v1beta1/ControllerRevisionList.py +11 -6
  87. pulumi_kubernetes/apps/v1beta1/ControllerRevisionPatch.py +8 -3
  88. pulumi_kubernetes/apps/v1beta1/Deployment.py +11 -6
  89. pulumi_kubernetes/apps/v1beta1/DeploymentList.py +11 -6
  90. pulumi_kubernetes/apps/v1beta1/DeploymentPatch.py +11 -6
  91. pulumi_kubernetes/apps/v1beta1/StatefulSet.py +10 -5
  92. pulumi_kubernetes/apps/v1beta1/StatefulSetList.py +9 -4
  93. pulumi_kubernetes/apps/v1beta1/StatefulSetPatch.py +10 -5
  94. pulumi_kubernetes/apps/v1beta1/_inputs.py +603 -0
  95. pulumi_kubernetes/apps/v1beta1/outputs.py +5 -0
  96. pulumi_kubernetes/apps/v1beta2/ControllerRevision.py +8 -3
  97. pulumi_kubernetes/apps/v1beta2/ControllerRevisionList.py +11 -6
  98. pulumi_kubernetes/apps/v1beta2/ControllerRevisionPatch.py +8 -3
  99. pulumi_kubernetes/apps/v1beta2/DaemonSet.py +11 -6
  100. pulumi_kubernetes/apps/v1beta2/DaemonSetList.py +11 -6
  101. pulumi_kubernetes/apps/v1beta2/DaemonSetPatch.py +11 -6
  102. pulumi_kubernetes/apps/v1beta2/Deployment.py +11 -6
  103. pulumi_kubernetes/apps/v1beta2/DeploymentList.py +11 -6
  104. pulumi_kubernetes/apps/v1beta2/DeploymentPatch.py +11 -6
  105. pulumi_kubernetes/apps/v1beta2/ReplicaSet.py +11 -6
  106. pulumi_kubernetes/apps/v1beta2/ReplicaSetList.py +11 -6
  107. pulumi_kubernetes/apps/v1beta2/ReplicaSetPatch.py +11 -6
  108. pulumi_kubernetes/apps/v1beta2/StatefulSet.py +10 -5
  109. pulumi_kubernetes/apps/v1beta2/StatefulSetList.py +9 -4
  110. pulumi_kubernetes/apps/v1beta2/StatefulSetPatch.py +10 -5
  111. pulumi_kubernetes/apps/v1beta2/_inputs.py +935 -0
  112. pulumi_kubernetes/apps/v1beta2/outputs.py +5 -0
  113. pulumi_kubernetes/auditregistration/v1alpha1/AuditSink.py +10 -5
  114. pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkList.py +10 -5
  115. pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkPatch.py +10 -5
  116. pulumi_kubernetes/auditregistration/v1alpha1/_inputs.py +281 -0
  117. pulumi_kubernetes/auditregistration/v1alpha1/outputs.py +5 -0
  118. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscaler.py +11 -6
  119. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerList.py +11 -6
  120. pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerPatch.py +11 -6
  121. pulumi_kubernetes/autoscaling/v1/_inputs.py +157 -0
  122. pulumi_kubernetes/autoscaling/v1/outputs.py +5 -0
  123. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscaler.py +11 -6
  124. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerList.py +11 -6
  125. pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerPatch.py +11 -6
  126. pulumi_kubernetes/autoscaling/v2/_inputs.py +815 -10
  127. pulumi_kubernetes/autoscaling/v2/outputs.py +17 -12
  128. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscaler.py +11 -6
  129. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerList.py +11 -6
  130. pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerPatch.py +11 -6
  131. pulumi_kubernetes/autoscaling/v2beta1/_inputs.py +652 -0
  132. pulumi_kubernetes/autoscaling/v2beta1/outputs.py +5 -0
  133. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscaler.py +11 -6
  134. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerList.py +11 -6
  135. pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerPatch.py +11 -6
  136. pulumi_kubernetes/autoscaling/v2beta2/_inputs.py +796 -0
  137. pulumi_kubernetes/autoscaling/v2beta2/outputs.py +5 -0
  138. pulumi_kubernetes/batch/v1/CronJob.py +11 -6
  139. pulumi_kubernetes/batch/v1/CronJobList.py +11 -6
  140. pulumi_kubernetes/batch/v1/CronJobPatch.py +11 -6
  141. pulumi_kubernetes/batch/v1/Job.py +11 -6
  142. pulumi_kubernetes/batch/v1/JobList.py +11 -6
  143. pulumi_kubernetes/batch/v1/JobPatch.py +11 -6
  144. pulumi_kubernetes/batch/v1/_inputs.py +1070 -85
  145. pulumi_kubernetes/batch/v1/outputs.py +298 -40
  146. pulumi_kubernetes/batch/v1beta1/CronJob.py +11 -6
  147. pulumi_kubernetes/batch/v1beta1/CronJobList.py +11 -6
  148. pulumi_kubernetes/batch/v1beta1/CronJobPatch.py +11 -6
  149. pulumi_kubernetes/batch/v1beta1/_inputs.py +161 -0
  150. pulumi_kubernetes/batch/v1beta1/outputs.py +5 -0
  151. pulumi_kubernetes/batch/v2alpha1/CronJob.py +11 -6
  152. pulumi_kubernetes/batch/v2alpha1/CronJobList.py +11 -6
  153. pulumi_kubernetes/batch/v2alpha1/CronJobPatch.py +11 -6
  154. pulumi_kubernetes/batch/v2alpha1/_inputs.py +161 -0
  155. pulumi_kubernetes/batch/v2alpha1/outputs.py +5 -0
  156. pulumi_kubernetes/certificates/v1/CertificateSigningRequest.py +10 -5
  157. pulumi_kubernetes/certificates/v1/CertificateSigningRequestList.py +10 -5
  158. pulumi_kubernetes/certificates/v1/CertificateSigningRequestPatch.py +10 -5
  159. pulumi_kubernetes/certificates/v1/_inputs.py +290 -0
  160. pulumi_kubernetes/certificates/v1/outputs.py +5 -0
  161. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundle.py +11 -6
  162. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundleList.py +11 -6
  163. pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundlePatch.py +11 -6
  164. pulumi_kubernetes/certificates/v1alpha1/_inputs.py +94 -0
  165. pulumi_kubernetes/certificates/v1alpha1/outputs.py +5 -0
  166. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequest.py +10 -5
  167. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestList.py +9 -4
  168. pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestPatch.py +10 -5
  169. pulumi_kubernetes/certificates/v1beta1/_inputs.py +165 -0
  170. pulumi_kubernetes/certificates/v1beta1/outputs.py +5 -0
  171. pulumi_kubernetes/coordination/__init__.py +6 -0
  172. pulumi_kubernetes/coordination/v1/Lease.py +11 -6
  173. pulumi_kubernetes/coordination/v1/LeaseList.py +11 -6
  174. pulumi_kubernetes/coordination/v1/LeasePatch.py +11 -6
  175. pulumi_kubernetes/coordination/v1/_inputs.py +180 -10
  176. pulumi_kubernetes/coordination/v1/outputs.py +67 -10
  177. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidate.py +216 -0
  178. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidateList.py +215 -0
  179. pulumi_kubernetes/coordination/v1alpha1/LeaseCandidatePatch.py +228 -0
  180. pulumi_kubernetes/coordination/v1alpha1/__init__.py +12 -0
  181. pulumi_kubernetes/coordination/v1alpha1/_inputs.py +418 -0
  182. pulumi_kubernetes/coordination/v1alpha1/outputs.py +334 -0
  183. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidate.py +216 -0
  184. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidateList.py +215 -0
  185. pulumi_kubernetes/coordination/v1alpha2/LeaseCandidatePatch.py +228 -0
  186. pulumi_kubernetes/coordination/v1alpha2/__init__.py +12 -0
  187. pulumi_kubernetes/coordination/v1alpha2/_inputs.py +393 -0
  188. pulumi_kubernetes/coordination/v1alpha2/outputs.py +313 -0
  189. pulumi_kubernetes/coordination/v1beta1/Lease.py +11 -6
  190. pulumi_kubernetes/coordination/v1beta1/LeaseList.py +11 -6
  191. pulumi_kubernetes/coordination/v1beta1/LeasePatch.py +11 -6
  192. pulumi_kubernetes/coordination/v1beta1/_inputs.py +90 -0
  193. pulumi_kubernetes/coordination/v1beta1/outputs.py +5 -0
  194. pulumi_kubernetes/core/v1/Binding.py +13 -8
  195. pulumi_kubernetes/core/v1/BindingPatch.py +13 -8
  196. pulumi_kubernetes/core/v1/ConfigMap.py +8 -3
  197. pulumi_kubernetes/core/v1/ConfigMapList.py +11 -6
  198. pulumi_kubernetes/core/v1/ConfigMapPatch.py +8 -3
  199. pulumi_kubernetes/core/v1/Endpoints.py +11 -6
  200. pulumi_kubernetes/core/v1/EndpointsList.py +11 -6
  201. pulumi_kubernetes/core/v1/EndpointsPatch.py +11 -6
  202. pulumi_kubernetes/core/v1/Event.py +20 -15
  203. pulumi_kubernetes/core/v1/EventList.py +11 -6
  204. pulumi_kubernetes/core/v1/EventPatch.py +20 -15
  205. pulumi_kubernetes/core/v1/LimitRange.py +11 -6
  206. pulumi_kubernetes/core/v1/LimitRangeList.py +11 -6
  207. pulumi_kubernetes/core/v1/LimitRangePatch.py +11 -6
  208. pulumi_kubernetes/core/v1/Namespace.py +11 -6
  209. pulumi_kubernetes/core/v1/NamespaceList.py +11 -6
  210. pulumi_kubernetes/core/v1/NamespacePatch.py +11 -6
  211. pulumi_kubernetes/core/v1/Node.py +11 -6
  212. pulumi_kubernetes/core/v1/NodeList.py +11 -6
  213. pulumi_kubernetes/core/v1/NodePatch.py +11 -6
  214. pulumi_kubernetes/core/v1/PersistentVolume.py +11 -6
  215. pulumi_kubernetes/core/v1/PersistentVolumeClaim.py +11 -6
  216. pulumi_kubernetes/core/v1/PersistentVolumeClaimList.py +11 -6
  217. pulumi_kubernetes/core/v1/PersistentVolumeClaimPatch.py +11 -6
  218. pulumi_kubernetes/core/v1/PersistentVolumeList.py +11 -6
  219. pulumi_kubernetes/core/v1/PersistentVolumePatch.py +11 -6
  220. pulumi_kubernetes/core/v1/Pod.py +11 -6
  221. pulumi_kubernetes/core/v1/PodList.py +11 -6
  222. pulumi_kubernetes/core/v1/PodPatch.py +11 -6
  223. pulumi_kubernetes/core/v1/PodTemplate.py +11 -6
  224. pulumi_kubernetes/core/v1/PodTemplateList.py +11 -6
  225. pulumi_kubernetes/core/v1/PodTemplatePatch.py +11 -6
  226. pulumi_kubernetes/core/v1/ReplicationController.py +11 -6
  227. pulumi_kubernetes/core/v1/ReplicationControllerList.py +11 -6
  228. pulumi_kubernetes/core/v1/ReplicationControllerPatch.py +11 -6
  229. pulumi_kubernetes/core/v1/ResourceQuota.py +11 -6
  230. pulumi_kubernetes/core/v1/ResourceQuotaList.py +11 -6
  231. pulumi_kubernetes/core/v1/ResourceQuotaPatch.py +11 -6
  232. pulumi_kubernetes/core/v1/Secret.py +8 -3
  233. pulumi_kubernetes/core/v1/SecretList.py +11 -6
  234. pulumi_kubernetes/core/v1/SecretPatch.py +8 -3
  235. pulumi_kubernetes/core/v1/Service.py +17 -28
  236. pulumi_kubernetes/core/v1/ServiceAccount.py +17 -12
  237. pulumi_kubernetes/core/v1/ServiceAccountList.py +11 -6
  238. pulumi_kubernetes/core/v1/ServiceAccountPatch.py +17 -12
  239. pulumi_kubernetes/core/v1/ServiceList.py +11 -6
  240. pulumi_kubernetes/core/v1/ServicePatch.py +17 -28
  241. pulumi_kubernetes/core/v1/_inputs.py +11760 -756
  242. pulumi_kubernetes/core/v1/outputs.py +2131 -448
  243. pulumi_kubernetes/discovery/v1/EndpointSlice.py +14 -9
  244. pulumi_kubernetes/discovery/v1/EndpointSliceList.py +11 -6
  245. pulumi_kubernetes/discovery/v1/EndpointSlicePatch.py +14 -9
  246. pulumi_kubernetes/discovery/v1/_inputs.py +284 -0
  247. pulumi_kubernetes/discovery/v1/outputs.py +5 -0
  248. pulumi_kubernetes/discovery/v1beta1/EndpointSlice.py +14 -9
  249. pulumi_kubernetes/discovery/v1beta1/EndpointSliceList.py +11 -6
  250. pulumi_kubernetes/discovery/v1beta1/EndpointSlicePatch.py +14 -9
  251. pulumi_kubernetes/discovery/v1beta1/_inputs.py +210 -0
  252. pulumi_kubernetes/discovery/v1beta1/outputs.py +5 -0
  253. pulumi_kubernetes/events/v1/Event.py +20 -15
  254. pulumi_kubernetes/events/v1/EventList.py +11 -6
  255. pulumi_kubernetes/events/v1/EventPatch.py +20 -15
  256. pulumi_kubernetes/events/v1/_inputs.py +118 -0
  257. pulumi_kubernetes/events/v1/outputs.py +5 -0
  258. pulumi_kubernetes/events/v1beta1/Event.py +19 -14
  259. pulumi_kubernetes/events/v1beta1/EventList.py +11 -6
  260. pulumi_kubernetes/events/v1beta1/EventPatch.py +19 -14
  261. pulumi_kubernetes/events/v1beta1/_inputs.py +123 -0
  262. pulumi_kubernetes/events/v1beta1/outputs.py +5 -0
  263. pulumi_kubernetes/extensions/v1beta1/DaemonSet.py +11 -6
  264. pulumi_kubernetes/extensions/v1beta1/DaemonSetList.py +11 -6
  265. pulumi_kubernetes/extensions/v1beta1/DaemonSetPatch.py +11 -6
  266. pulumi_kubernetes/extensions/v1beta1/Deployment.py +11 -6
  267. pulumi_kubernetes/extensions/v1beta1/DeploymentList.py +11 -6
  268. pulumi_kubernetes/extensions/v1beta1/DeploymentPatch.py +11 -6
  269. pulumi_kubernetes/extensions/v1beta1/Ingress.py +11 -6
  270. pulumi_kubernetes/extensions/v1beta1/IngressList.py +11 -6
  271. pulumi_kubernetes/extensions/v1beta1/IngressPatch.py +11 -6
  272. pulumi_kubernetes/extensions/v1beta1/NetworkPolicy.py +11 -6
  273. pulumi_kubernetes/extensions/v1beta1/NetworkPolicyList.py +11 -6
  274. pulumi_kubernetes/extensions/v1beta1/NetworkPolicyPatch.py +11 -6
  275. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicy.py +11 -6
  276. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyList.py +11 -6
  277. pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyPatch.py +11 -6
  278. pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py +11 -6
  279. pulumi_kubernetes/extensions/v1beta1/ReplicaSetList.py +11 -6
  280. pulumi_kubernetes/extensions/v1beta1/ReplicaSetPatch.py +11 -6
  281. pulumi_kubernetes/extensions/v1beta1/_inputs.py +1884 -26
  282. pulumi_kubernetes/extensions/v1beta1/outputs.py +5 -0
  283. pulumi_kubernetes/flowcontrol/v1/FlowSchema.py +11 -6
  284. pulumi_kubernetes/flowcontrol/v1/FlowSchemaList.py +11 -6
  285. pulumi_kubernetes/flowcontrol/v1/FlowSchemaPatch.py +11 -6
  286. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfiguration.py +11 -6
  287. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationList.py +11 -6
  288. pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationPatch.py +11 -6
  289. pulumi_kubernetes/flowcontrol/v1/_inputs.py +779 -0
  290. pulumi_kubernetes/flowcontrol/v1/outputs.py +5 -0
  291. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchema.py +11 -6
  292. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaList.py +11 -6
  293. pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaPatch.py +11 -6
  294. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfiguration.py +11 -6
  295. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationList.py +11 -6
  296. pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationPatch.py +11 -6
  297. pulumi_kubernetes/flowcontrol/v1alpha1/_inputs.py +671 -0
  298. pulumi_kubernetes/flowcontrol/v1alpha1/outputs.py +5 -0
  299. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchema.py +11 -6
  300. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaList.py +11 -6
  301. pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaPatch.py +11 -6
  302. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfiguration.py +11 -6
  303. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationList.py +11 -6
  304. pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationPatch.py +11 -6
  305. pulumi_kubernetes/flowcontrol/v1beta1/_inputs.py +671 -0
  306. pulumi_kubernetes/flowcontrol/v1beta1/outputs.py +5 -0
  307. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchema.py +11 -6
  308. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaList.py +11 -6
  309. pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaPatch.py +11 -6
  310. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfiguration.py +11 -6
  311. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationList.py +11 -6
  312. pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationPatch.py +11 -6
  313. pulumi_kubernetes/flowcontrol/v1beta2/_inputs.py +771 -0
  314. pulumi_kubernetes/flowcontrol/v1beta2/outputs.py +5 -0
  315. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchema.py +11 -6
  316. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaList.py +11 -6
  317. pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaPatch.py +11 -6
  318. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfiguration.py +11 -6
  319. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationList.py +11 -6
  320. pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationPatch.py +11 -6
  321. pulumi_kubernetes/flowcontrol/v1beta3/_inputs.py +779 -8
  322. pulumi_kubernetes/flowcontrol/v1beta3/outputs.py +13 -8
  323. pulumi_kubernetes/helm/__init__.py +3 -0
  324. pulumi_kubernetes/helm/v3/Release.py +8 -3
  325. pulumi_kubernetes/helm/v3/_inputs.py +42 -2
  326. pulumi_kubernetes/helm/v3/outputs.py +7 -2
  327. pulumi_kubernetes/helm/v4/Chart.py +721 -0
  328. pulumi_kubernetes/helm/v4/__init__.py +9 -0
  329. pulumi_kubernetes/helm/v4/_inputs.py +216 -0
  330. pulumi_kubernetes/kustomize/__init__.py +8 -0
  331. pulumi_kubernetes/kustomize/v2/Directory.py +219 -0
  332. pulumi_kubernetes/kustomize/v2/__init__.py +8 -0
  333. pulumi_kubernetes/meta/v1/Status.py +11 -6
  334. pulumi_kubernetes/meta/v1/StatusPatch.py +11 -6
  335. pulumi_kubernetes/meta/v1/_inputs.py +596 -0
  336. pulumi_kubernetes/meta/v1/outputs.py +5 -0
  337. pulumi_kubernetes/networking/v1/Ingress.py +11 -6
  338. pulumi_kubernetes/networking/v1/IngressClass.py +11 -6
  339. pulumi_kubernetes/networking/v1/IngressClassList.py +11 -6
  340. pulumi_kubernetes/networking/v1/IngressClassPatch.py +11 -6
  341. pulumi_kubernetes/networking/v1/IngressList.py +11 -6
  342. pulumi_kubernetes/networking/v1/IngressPatch.py +11 -6
  343. pulumi_kubernetes/networking/v1/NetworkPolicy.py +11 -6
  344. pulumi_kubernetes/networking/v1/NetworkPolicyList.py +11 -6
  345. pulumi_kubernetes/networking/v1/NetworkPolicyPatch.py +11 -6
  346. pulumi_kubernetes/networking/v1/_inputs.py +840 -0
  347. pulumi_kubernetes/networking/v1/outputs.py +5 -0
  348. pulumi_kubernetes/networking/v1alpha1/ClusterCIDR.py +11 -6
  349. pulumi_kubernetes/networking/v1alpha1/ClusterCIDRList.py +11 -6
  350. pulumi_kubernetes/networking/v1alpha1/ClusterCIDRPatch.py +11 -6
  351. pulumi_kubernetes/networking/v1alpha1/IPAddress.py +13 -6
  352. pulumi_kubernetes/networking/v1alpha1/IPAddressList.py +11 -6
  353. pulumi_kubernetes/networking/v1alpha1/IPAddressPatch.py +13 -6
  354. pulumi_kubernetes/networking/v1alpha1/ServiceCIDR.py +13 -6
  355. pulumi_kubernetes/networking/v1alpha1/ServiceCIDRList.py +11 -6
  356. pulumi_kubernetes/networking/v1alpha1/ServiceCIDRPatch.py +13 -6
  357. pulumi_kubernetes/networking/v1alpha1/_inputs.py +293 -37
  358. pulumi_kubernetes/networking/v1alpha1/outputs.py +26 -24
  359. pulumi_kubernetes/networking/v1beta1/IPAddress.py +216 -0
  360. pulumi_kubernetes/networking/v1beta1/IPAddressList.py +215 -0
  361. pulumi_kubernetes/networking/v1beta1/IPAddressPatch.py +228 -0
  362. pulumi_kubernetes/networking/v1beta1/Ingress.py +11 -6
  363. pulumi_kubernetes/networking/v1beta1/IngressClass.py +11 -6
  364. pulumi_kubernetes/networking/v1beta1/IngressClassList.py +11 -6
  365. pulumi_kubernetes/networking/v1beta1/IngressClassPatch.py +11 -6
  366. pulumi_kubernetes/networking/v1beta1/IngressList.py +11 -6
  367. pulumi_kubernetes/networking/v1beta1/IngressPatch.py +11 -6
  368. pulumi_kubernetes/networking/v1beta1/ServiceCIDR.py +226 -0
  369. pulumi_kubernetes/networking/v1beta1/ServiceCIDRList.py +215 -0
  370. pulumi_kubernetes/networking/v1beta1/ServiceCIDRPatch.py +238 -0
  371. pulumi_kubernetes/networking/v1beta1/__init__.py +6 -0
  372. pulumi_kubernetes/networking/v1beta1/_inputs.py +984 -11
  373. pulumi_kubernetes/networking/v1beta1/outputs.py +466 -0
  374. pulumi_kubernetes/node/v1/RuntimeClass.py +14 -9
  375. pulumi_kubernetes/node/v1/RuntimeClassList.py +11 -6
  376. pulumi_kubernetes/node/v1/RuntimeClassPatch.py +14 -9
  377. pulumi_kubernetes/node/v1/_inputs.py +101 -0
  378. pulumi_kubernetes/node/v1/outputs.py +5 -0
  379. pulumi_kubernetes/node/v1alpha1/RuntimeClass.py +11 -6
  380. pulumi_kubernetes/node/v1alpha1/RuntimeClassList.py +11 -6
  381. pulumi_kubernetes/node/v1alpha1/RuntimeClassPatch.py +11 -6
  382. pulumi_kubernetes/node/v1alpha1/_inputs.py +134 -0
  383. pulumi_kubernetes/node/v1alpha1/outputs.py +5 -0
  384. pulumi_kubernetes/node/v1beta1/RuntimeClass.py +14 -9
  385. pulumi_kubernetes/node/v1beta1/RuntimeClassList.py +11 -6
  386. pulumi_kubernetes/node/v1beta1/RuntimeClassPatch.py +14 -9
  387. pulumi_kubernetes/node/v1beta1/_inputs.py +100 -0
  388. pulumi_kubernetes/node/v1beta1/outputs.py +5 -0
  389. pulumi_kubernetes/policy/v1/PodDisruptionBudget.py +11 -6
  390. pulumi_kubernetes/policy/v1/PodDisruptionBudgetList.py +11 -6
  391. pulumi_kubernetes/policy/v1/PodDisruptionBudgetPatch.py +11 -6
  392. pulumi_kubernetes/policy/v1/_inputs.py +151 -0
  393. pulumi_kubernetes/policy/v1/outputs.py +5 -0
  394. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudget.py +10 -5
  395. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetList.py +9 -4
  396. pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetPatch.py +10 -5
  397. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicy.py +11 -6
  398. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyList.py +11 -6
  399. pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyPatch.py +11 -6
  400. pulumi_kubernetes/policy/v1beta1/_inputs.py +713 -0
  401. pulumi_kubernetes/policy/v1beta1/outputs.py +5 -0
  402. pulumi_kubernetes/provider.py +82 -6
  403. pulumi_kubernetes/pulumi-plugin.json +2 -1
  404. pulumi_kubernetes/rbac/v1/ClusterRole.py +14 -9
  405. pulumi_kubernetes/rbac/v1/ClusterRoleBinding.py +14 -9
  406. pulumi_kubernetes/rbac/v1/ClusterRoleBindingList.py +11 -6
  407. pulumi_kubernetes/rbac/v1/ClusterRoleBindingPatch.py +14 -9
  408. pulumi_kubernetes/rbac/v1/ClusterRoleList.py +11 -6
  409. pulumi_kubernetes/rbac/v1/ClusterRolePatch.py +14 -9
  410. pulumi_kubernetes/rbac/v1/Role.py +11 -6
  411. pulumi_kubernetes/rbac/v1/RoleBinding.py +14 -9
  412. pulumi_kubernetes/rbac/v1/RoleBindingList.py +11 -6
  413. pulumi_kubernetes/rbac/v1/RoleBindingPatch.py +14 -9
  414. pulumi_kubernetes/rbac/v1/RoleList.py +11 -6
  415. pulumi_kubernetes/rbac/v1/RolePatch.py +11 -6
  416. pulumi_kubernetes/rbac/v1/_inputs.py +295 -0
  417. pulumi_kubernetes/rbac/v1/outputs.py +5 -0
  418. pulumi_kubernetes/rbac/v1alpha1/ClusterRole.py +14 -9
  419. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBinding.py +14 -9
  420. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingList.py +11 -6
  421. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingPatch.py +14 -9
  422. pulumi_kubernetes/rbac/v1alpha1/ClusterRoleList.py +11 -6
  423. pulumi_kubernetes/rbac/v1alpha1/ClusterRolePatch.py +14 -9
  424. pulumi_kubernetes/rbac/v1alpha1/Role.py +11 -6
  425. pulumi_kubernetes/rbac/v1alpha1/RoleBinding.py +14 -9
  426. pulumi_kubernetes/rbac/v1alpha1/RoleBindingList.py +11 -6
  427. pulumi_kubernetes/rbac/v1alpha1/RoleBindingPatch.py +14 -9
  428. pulumi_kubernetes/rbac/v1alpha1/RoleList.py +11 -6
  429. pulumi_kubernetes/rbac/v1alpha1/RolePatch.py +11 -6
  430. pulumi_kubernetes/rbac/v1alpha1/_inputs.py +295 -0
  431. pulumi_kubernetes/rbac/v1alpha1/outputs.py +5 -0
  432. pulumi_kubernetes/rbac/v1beta1/ClusterRole.py +14 -9
  433. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBinding.py +14 -9
  434. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingList.py +11 -6
  435. pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingPatch.py +14 -9
  436. pulumi_kubernetes/rbac/v1beta1/ClusterRoleList.py +11 -6
  437. pulumi_kubernetes/rbac/v1beta1/ClusterRolePatch.py +14 -9
  438. pulumi_kubernetes/rbac/v1beta1/Role.py +11 -6
  439. pulumi_kubernetes/rbac/v1beta1/RoleBinding.py +14 -9
  440. pulumi_kubernetes/rbac/v1beta1/RoleBindingList.py +11 -6
  441. pulumi_kubernetes/rbac/v1beta1/RoleBindingPatch.py +14 -9
  442. pulumi_kubernetes/rbac/v1beta1/RoleList.py +11 -6
  443. pulumi_kubernetes/rbac/v1beta1/RolePatch.py +11 -6
  444. pulumi_kubernetes/rbac/v1beta1/_inputs.py +295 -0
  445. pulumi_kubernetes/rbac/v1beta1/outputs.py +5 -0
  446. pulumi_kubernetes/resource/__init__.py +6 -0
  447. pulumi_kubernetes/resource/v1alpha1/PodScheduling.py +11 -6
  448. pulumi_kubernetes/resource/v1alpha1/PodSchedulingList.py +11 -6
  449. pulumi_kubernetes/resource/v1alpha1/PodSchedulingPatch.py +11 -6
  450. pulumi_kubernetes/resource/v1alpha1/ResourceClaim.py +12 -7
  451. pulumi_kubernetes/resource/v1alpha1/ResourceClaimList.py +11 -6
  452. pulumi_kubernetes/resource/v1alpha1/ResourceClaimPatch.py +12 -7
  453. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplate.py +12 -7
  454. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplateList.py +11 -6
  455. pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplatePatch.py +12 -7
  456. pulumi_kubernetes/resource/v1alpha1/ResourceClass.py +14 -9
  457. pulumi_kubernetes/resource/v1alpha1/ResourceClassList.py +11 -6
  458. pulumi_kubernetes/resource/v1alpha1/ResourceClassPatch.py +14 -9
  459. pulumi_kubernetes/resource/v1alpha1/_inputs.py +458 -0
  460. pulumi_kubernetes/resource/v1alpha1/outputs.py +5 -0
  461. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContext.py +13 -6
  462. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextList.py +11 -6
  463. pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextPatch.py +13 -6
  464. pulumi_kubernetes/resource/v1alpha2/ResourceClaim.py +12 -7
  465. pulumi_kubernetes/resource/v1alpha2/ResourceClaimList.py +11 -6
  466. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParameters.py +280 -0
  467. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersList.py +215 -0
  468. pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersPatch.py +292 -0
  469. pulumi_kubernetes/resource/v1alpha2/ResourceClaimPatch.py +12 -7
  470. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplate.py +12 -7
  471. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplateList.py +11 -6
  472. pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplatePatch.py +12 -7
  473. pulumi_kubernetes/resource/v1alpha2/ResourceClass.py +43 -9
  474. pulumi_kubernetes/resource/v1alpha2/ResourceClassList.py +11 -6
  475. pulumi_kubernetes/resource/v1alpha2/ResourceClassParameters.py +272 -0
  476. pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersList.py +215 -0
  477. pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersPatch.py +284 -0
  478. pulumi_kubernetes/resource/v1alpha2/ResourceClassPatch.py +43 -9
  479. pulumi_kubernetes/resource/v1alpha2/ResourceSlice.py +283 -0
  480. pulumi_kubernetes/resource/v1alpha2/ResourceSliceList.py +215 -0
  481. pulumi_kubernetes/resource/v1alpha2/ResourceSlicePatch.py +294 -0
  482. pulumi_kubernetes/resource/v1alpha2/__init__.py +9 -0
  483. pulumi_kubernetes/resource/v1alpha2/_inputs.py +3177 -634
  484. pulumi_kubernetes/resource/v1alpha2/outputs.py +2628 -880
  485. pulumi_kubernetes/resource/v1alpha3/DeviceClass.py +238 -0
  486. pulumi_kubernetes/resource/v1alpha3/DeviceClassList.py +216 -0
  487. pulumi_kubernetes/resource/v1alpha3/DeviceClassPatch.py +249 -0
  488. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContext.py +231 -0
  489. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextList.py +215 -0
  490. pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextPatch.py +242 -0
  491. pulumi_kubernetes/resource/v1alpha3/ResourceClaim.py +232 -0
  492. pulumi_kubernetes/resource/v1alpha3/ResourceClaimList.py +216 -0
  493. pulumi_kubernetes/resource/v1alpha3/ResourceClaimPatch.py +243 -0
  494. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplate.py +229 -0
  495. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplateList.py +215 -0
  496. pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplatePatch.py +240 -0
  497. pulumi_kubernetes/resource/v1alpha3/ResourceSlice.py +246 -0
  498. pulumi_kubernetes/resource/v1alpha3/ResourceSliceList.py +245 -0
  499. pulumi_kubernetes/resource/v1alpha3/ResourceSlicePatch.py +257 -0
  500. pulumi_kubernetes/resource/v1alpha3/__init__.py +24 -0
  501. pulumi_kubernetes/resource/v1alpha3/_inputs.py +4372 -0
  502. pulumi_kubernetes/resource/v1alpha3/outputs.py +3914 -0
  503. pulumi_kubernetes/resource/v1beta1/DeviceClass.py +237 -0
  504. pulumi_kubernetes/resource/v1beta1/DeviceClassList.py +215 -0
  505. pulumi_kubernetes/resource/v1beta1/DeviceClassPatch.py +248 -0
  506. pulumi_kubernetes/resource/v1beta1/ResourceClaim.py +232 -0
  507. pulumi_kubernetes/resource/v1beta1/ResourceClaimList.py +216 -0
  508. pulumi_kubernetes/resource/v1beta1/ResourceClaimPatch.py +243 -0
  509. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplate.py +229 -0
  510. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplateList.py +215 -0
  511. pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplatePatch.py +240 -0
  512. pulumi_kubernetes/resource/v1beta1/ResourceSlice.py +246 -0
  513. pulumi_kubernetes/resource/v1beta1/ResourceSliceList.py +216 -0
  514. pulumi_kubernetes/resource/v1beta1/ResourceSlicePatch.py +257 -0
  515. pulumi_kubernetes/resource/v1beta1/__init__.py +21 -0
  516. pulumi_kubernetes/resource/v1beta1/_inputs.py +3867 -0
  517. pulumi_kubernetes/resource/v1beta1/outputs.py +3334 -0
  518. pulumi_kubernetes/scheduling/v1/PriorityClass.py +8 -3
  519. pulumi_kubernetes/scheduling/v1/PriorityClassList.py +11 -6
  520. pulumi_kubernetes/scheduling/v1/PriorityClassPatch.py +8 -3
  521. pulumi_kubernetes/scheduling/v1/_inputs.py +44 -0
  522. pulumi_kubernetes/scheduling/v1/outputs.py +5 -0
  523. pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py +8 -3
  524. pulumi_kubernetes/scheduling/v1alpha1/PriorityClassList.py +11 -6
  525. pulumi_kubernetes/scheduling/v1alpha1/PriorityClassPatch.py +8 -3
  526. pulumi_kubernetes/scheduling/v1alpha1/_inputs.py +44 -0
  527. pulumi_kubernetes/scheduling/v1alpha1/outputs.py +5 -0
  528. pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py +8 -3
  529. pulumi_kubernetes/scheduling/v1beta1/PriorityClassList.py +11 -6
  530. pulumi_kubernetes/scheduling/v1beta1/PriorityClassPatch.py +8 -3
  531. pulumi_kubernetes/scheduling/v1beta1/_inputs.py +44 -0
  532. pulumi_kubernetes/scheduling/v1beta1/outputs.py +5 -0
  533. pulumi_kubernetes/settings/v1alpha1/PodPreset.py +9 -4
  534. pulumi_kubernetes/settings/v1alpha1/PodPresetList.py +11 -6
  535. pulumi_kubernetes/settings/v1alpha1/PodPresetPatch.py +9 -4
  536. pulumi_kubernetes/settings/v1alpha1/_inputs.py +84 -0
  537. pulumi_kubernetes/settings/v1alpha1/outputs.py +5 -0
  538. pulumi_kubernetes/storage/v1/CSIDriver.py +11 -6
  539. pulumi_kubernetes/storage/v1/CSIDriverList.py +11 -6
  540. pulumi_kubernetes/storage/v1/CSIDriverPatch.py +11 -6
  541. pulumi_kubernetes/storage/v1/CSINode.py +11 -6
  542. pulumi_kubernetes/storage/v1/CSINodeList.py +11 -6
  543. pulumi_kubernetes/storage/v1/CSINodePatch.py +11 -6
  544. pulumi_kubernetes/storage/v1/CSIStorageCapacity.py +11 -6
  545. pulumi_kubernetes/storage/v1/CSIStorageCapacityList.py +11 -6
  546. pulumi_kubernetes/storage/v1/CSIStorageCapacityPatch.py +11 -6
  547. pulumi_kubernetes/storage/v1/StorageClass.py +11 -6
  548. pulumi_kubernetes/storage/v1/StorageClassList.py +11 -6
  549. pulumi_kubernetes/storage/v1/StorageClassPatch.py +11 -6
  550. pulumi_kubernetes/storage/v1/VolumeAttachment.py +11 -6
  551. pulumi_kubernetes/storage/v1/VolumeAttachmentList.py +11 -6
  552. pulumi_kubernetes/storage/v1/VolumeAttachmentPatch.py +11 -6
  553. pulumi_kubernetes/storage/v1/_inputs.py +624 -10
  554. pulumi_kubernetes/storage/v1/outputs.py +17 -12
  555. pulumi_kubernetes/storage/v1alpha1/VolumeAttachment.py +11 -6
  556. pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentList.py +11 -6
  557. pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentPatch.py +11 -6
  558. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClass.py +10 -3
  559. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassList.py +11 -6
  560. pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassPatch.py +10 -3
  561. pulumi_kubernetes/storage/v1alpha1/_inputs.py +187 -0
  562. pulumi_kubernetes/storage/v1alpha1/outputs.py +5 -0
  563. pulumi_kubernetes/storage/v1beta1/CSIDriver.py +11 -6
  564. pulumi_kubernetes/storage/v1beta1/CSIDriverList.py +11 -6
  565. pulumi_kubernetes/storage/v1beta1/CSIDriverPatch.py +11 -6
  566. pulumi_kubernetes/storage/v1beta1/CSINode.py +11 -6
  567. pulumi_kubernetes/storage/v1beta1/CSINodeList.py +11 -6
  568. pulumi_kubernetes/storage/v1beta1/CSINodePatch.py +11 -6
  569. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacity.py +11 -6
  570. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityList.py +11 -6
  571. pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityPatch.py +11 -6
  572. pulumi_kubernetes/storage/v1beta1/StorageClass.py +11 -6
  573. pulumi_kubernetes/storage/v1beta1/StorageClassList.py +11 -6
  574. pulumi_kubernetes/storage/v1beta1/StorageClassPatch.py +11 -6
  575. pulumi_kubernetes/storage/v1beta1/VolumeAttachment.py +11 -6
  576. pulumi_kubernetes/storage/v1beta1/VolumeAttachmentList.py +11 -6
  577. pulumi_kubernetes/storage/v1beta1/VolumeAttachmentPatch.py +11 -6
  578. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClass.py +252 -0
  579. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassList.py +215 -0
  580. pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassPatch.py +263 -0
  581. pulumi_kubernetes/storage/v1beta1/__init__.py +3 -0
  582. pulumi_kubernetes/storage/v1beta1/_inputs.py +689 -0
  583. pulumi_kubernetes/storage/v1beta1/outputs.py +99 -0
  584. pulumi_kubernetes/storagemigration/__init__.py +14 -0
  585. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigration.py +224 -0
  586. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationList.py +215 -0
  587. pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationPatch.py +236 -0
  588. pulumi_kubernetes/storagemigration/v1alpha1/__init__.py +12 -0
  589. pulumi_kubernetes/storagemigration/v1alpha1/_inputs.py +585 -0
  590. pulumi_kubernetes/storagemigration/v1alpha1/outputs.py +593 -0
  591. pulumi_kubernetes/yaml/v2/ConfigFile.py +81 -4
  592. pulumi_kubernetes/yaml/v2/ConfigGroup.py +123 -42
  593. pulumi_kubernetes/yaml/yaml.py +264 -0
  594. {pulumi_kubernetes-4.10.0a1710288589.dist-info → pulumi_kubernetes-4.20.0.dist-info}/METADATA +8 -7
  595. pulumi_kubernetes-4.20.0.dist-info/RECORD +679 -0
  596. {pulumi_kubernetes-4.10.0a1710288589.dist-info → pulumi_kubernetes-4.20.0.dist-info}/WHEEL +1 -1
  597. pulumi_kubernetes-4.10.0a1710288589.dist-info/RECORD +0 -592
  598. {pulumi_kubernetes-4.10.0a1710288589.dist-info → pulumi_kubernetes-4.20.0.dist-info}/top_level.txt +0 -0
@@ -4,36 +4,143 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from ... import _utilities
11
16
  from ... import core as _core
12
17
  from ... import meta as _meta
13
18
 
14
19
  __all__ = [
15
20
  'AllocationResultArgs',
21
+ 'AllocationResultArgsDict',
22
+ 'DriverAllocationResultArgs',
23
+ 'DriverAllocationResultArgsDict',
24
+ 'DriverRequestsPatchArgs',
25
+ 'DriverRequestsPatchArgsDict',
26
+ 'DriverRequestsArgs',
27
+ 'DriverRequestsArgsDict',
28
+ 'NamedResourcesAllocationResultArgs',
29
+ 'NamedResourcesAllocationResultArgsDict',
30
+ 'NamedResourcesAttributePatchArgs',
31
+ 'NamedResourcesAttributePatchArgsDict',
32
+ 'NamedResourcesAttributeArgs',
33
+ 'NamedResourcesAttributeArgsDict',
34
+ 'NamedResourcesFilterPatchArgs',
35
+ 'NamedResourcesFilterPatchArgsDict',
36
+ 'NamedResourcesFilterArgs',
37
+ 'NamedResourcesFilterArgsDict',
38
+ 'NamedResourcesInstancePatchArgs',
39
+ 'NamedResourcesInstancePatchArgsDict',
40
+ 'NamedResourcesInstanceArgs',
41
+ 'NamedResourcesInstanceArgsDict',
42
+ 'NamedResourcesIntSlicePatchArgs',
43
+ 'NamedResourcesIntSlicePatchArgsDict',
44
+ 'NamedResourcesIntSliceArgs',
45
+ 'NamedResourcesIntSliceArgsDict',
46
+ 'NamedResourcesRequestPatchArgs',
47
+ 'NamedResourcesRequestPatchArgsDict',
48
+ 'NamedResourcesRequestArgs',
49
+ 'NamedResourcesRequestArgsDict',
50
+ 'NamedResourcesResourcesPatchArgs',
51
+ 'NamedResourcesResourcesPatchArgsDict',
52
+ 'NamedResourcesResourcesArgs',
53
+ 'NamedResourcesResourcesArgsDict',
54
+ 'NamedResourcesStringSlicePatchArgs',
55
+ 'NamedResourcesStringSlicePatchArgsDict',
56
+ 'NamedResourcesStringSliceArgs',
57
+ 'NamedResourcesStringSliceArgsDict',
16
58
  'PodSchedulingContextSpecPatchArgs',
59
+ 'PodSchedulingContextSpecPatchArgsDict',
17
60
  'PodSchedulingContextSpecArgs',
61
+ 'PodSchedulingContextSpecArgsDict',
18
62
  'PodSchedulingContextStatusArgs',
63
+ 'PodSchedulingContextStatusArgsDict',
19
64
  'PodSchedulingContextArgs',
65
+ 'PodSchedulingContextArgsDict',
20
66
  'ResourceClaimConsumerReferenceArgs',
67
+ 'ResourceClaimConsumerReferenceArgsDict',
21
68
  'ResourceClaimParametersReferencePatchArgs',
69
+ 'ResourceClaimParametersReferencePatchArgsDict',
22
70
  'ResourceClaimParametersReferenceArgs',
71
+ 'ResourceClaimParametersReferenceArgsDict',
72
+ 'ResourceClaimParametersArgs',
73
+ 'ResourceClaimParametersArgsDict',
23
74
  'ResourceClaimSchedulingStatusArgs',
75
+ 'ResourceClaimSchedulingStatusArgsDict',
24
76
  'ResourceClaimSpecPatchArgs',
77
+ 'ResourceClaimSpecPatchArgsDict',
25
78
  'ResourceClaimSpecArgs',
79
+ 'ResourceClaimSpecArgsDict',
26
80
  'ResourceClaimStatusArgs',
81
+ 'ResourceClaimStatusArgsDict',
27
82
  'ResourceClaimTemplateSpecPatchArgs',
83
+ 'ResourceClaimTemplateSpecPatchArgsDict',
28
84
  'ResourceClaimTemplateSpecArgs',
85
+ 'ResourceClaimTemplateSpecArgsDict',
29
86
  'ResourceClaimTemplateArgs',
87
+ 'ResourceClaimTemplateArgsDict',
30
88
  'ResourceClaimArgs',
89
+ 'ResourceClaimArgsDict',
31
90
  'ResourceClassParametersReferencePatchArgs',
91
+ 'ResourceClassParametersReferencePatchArgsDict',
32
92
  'ResourceClassParametersReferenceArgs',
93
+ 'ResourceClassParametersReferenceArgsDict',
94
+ 'ResourceClassParametersArgs',
95
+ 'ResourceClassParametersArgsDict',
33
96
  'ResourceClassArgs',
97
+ 'ResourceClassArgsDict',
98
+ 'ResourceFilterPatchArgs',
99
+ 'ResourceFilterPatchArgsDict',
100
+ 'ResourceFilterArgs',
101
+ 'ResourceFilterArgsDict',
34
102
  'ResourceHandleArgs',
103
+ 'ResourceHandleArgsDict',
104
+ 'ResourceRequestPatchArgs',
105
+ 'ResourceRequestPatchArgsDict',
106
+ 'ResourceRequestArgs',
107
+ 'ResourceRequestArgsDict',
108
+ 'ResourceSliceArgs',
109
+ 'ResourceSliceArgsDict',
110
+ 'StructuredResourceHandleArgs',
111
+ 'StructuredResourceHandleArgsDict',
112
+ 'VendorParametersPatchArgs',
113
+ 'VendorParametersPatchArgsDict',
114
+ 'VendorParametersArgs',
115
+ 'VendorParametersArgsDict',
35
116
  ]
36
117
 
118
+ MYPY = False
119
+
120
+ if not MYPY:
121
+ class AllocationResultArgsDict(TypedDict):
122
+ """
123
+ AllocationResult contains attributes of an allocated resource.
124
+ """
125
+ available_on_nodes: NotRequired[pulumi.Input['_core.v1.NodeSelectorArgsDict']]
126
+ """
127
+ This field will get set by the resource driver after it has allocated the resource to inform the scheduler where it can schedule Pods using the ResourceClaim.
128
+
129
+ Setting this field is optional. If null, the resource is available everywhere.
130
+ """
131
+ resource_handles: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceHandleArgsDict']]]]
132
+ """
133
+ ResourceHandles contain the state associated with an allocation that should be maintained throughout the lifetime of a claim. Each ResourceHandle contains data that should be passed to a specific kubelet plugin once it lands on a node. This data is returned by the driver after a successful allocation and is opaque to Kubernetes. Driver documentation may explain to users how to interpret this data if needed.
134
+
135
+ Setting this field is optional. It has a maximum size of 32 entries. If null (or empty), it is assumed this allocation will be processed by a single kubelet plugin with no ResourceHandle data attached. The name of the kubelet plugin invoked will match the DriverName set in the ResourceClaimStatus this AllocationResult is embedded in.
136
+ """
137
+ shareable: NotRequired[pulumi.Input[bool]]
138
+ """
139
+ Shareable determines whether the resource supports more than one consumer at a time.
140
+ """
141
+ elif False:
142
+ AllocationResultArgsDict: TypeAlias = Mapping[str, Any]
143
+
37
144
  @pulumi.input_type
38
145
  class AllocationResultArgs:
39
146
  def __init__(__self__, *,
@@ -98,232 +205,241 @@ class AllocationResultArgs:
98
205
  pulumi.set(self, "shareable", value)
99
206
 
100
207
 
208
+ if not MYPY:
209
+ class DriverAllocationResultArgsDict(TypedDict):
210
+ """
211
+ DriverAllocationResult contains vendor parameters and the allocation result for one request.
212
+ """
213
+ named_resources: NotRequired[pulumi.Input['NamedResourcesAllocationResultArgsDict']]
214
+ """
215
+ NamedResources describes the allocation result when using the named resources model.
216
+ """
217
+ vendor_request_parameters: NotRequired[Any]
218
+ """
219
+ VendorRequestParameters are the per-request configuration parameters from the time that the claim was allocated.
220
+ """
221
+ elif False:
222
+ DriverAllocationResultArgsDict: TypeAlias = Mapping[str, Any]
223
+
101
224
  @pulumi.input_type
102
- class PodSchedulingContextSpecPatchArgs:
225
+ class DriverAllocationResultArgs:
103
226
  def __init__(__self__, *,
104
- potential_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
105
- selected_node: Optional[pulumi.Input[str]] = None):
227
+ named_resources: Optional[pulumi.Input['NamedResourcesAllocationResultArgs']] = None,
228
+ vendor_request_parameters: Optional[Any] = None):
106
229
  """
107
- PodSchedulingContextSpec describes where resources for the Pod are needed.
108
- :param pulumi.Input[Sequence[pulumi.Input[str]]] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
109
-
110
- The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
111
- :param pulumi.Input[str] selected_node: SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
230
+ DriverAllocationResult contains vendor parameters and the allocation result for one request.
231
+ :param pulumi.Input['NamedResourcesAllocationResultArgs'] named_resources: NamedResources describes the allocation result when using the named resources model.
232
+ :param Any vendor_request_parameters: VendorRequestParameters are the per-request configuration parameters from the time that the claim was allocated.
112
233
  """
113
- if potential_nodes is not None:
114
- pulumi.set(__self__, "potential_nodes", potential_nodes)
115
- if selected_node is not None:
116
- pulumi.set(__self__, "selected_node", selected_node)
234
+ if named_resources is not None:
235
+ pulumi.set(__self__, "named_resources", named_resources)
236
+ if vendor_request_parameters is not None:
237
+ pulumi.set(__self__, "vendor_request_parameters", vendor_request_parameters)
117
238
 
118
239
  @property
119
- @pulumi.getter(name="potentialNodes")
120
- def potential_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
240
+ @pulumi.getter(name="namedResources")
241
+ def named_resources(self) -> Optional[pulumi.Input['NamedResourcesAllocationResultArgs']]:
121
242
  """
122
- PotentialNodes lists nodes where the Pod might be able to run.
123
-
124
- The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
243
+ NamedResources describes the allocation result when using the named resources model.
125
244
  """
126
- return pulumi.get(self, "potential_nodes")
245
+ return pulumi.get(self, "named_resources")
127
246
 
128
- @potential_nodes.setter
129
- def potential_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
130
- pulumi.set(self, "potential_nodes", value)
247
+ @named_resources.setter
248
+ def named_resources(self, value: Optional[pulumi.Input['NamedResourcesAllocationResultArgs']]):
249
+ pulumi.set(self, "named_resources", value)
131
250
 
132
251
  @property
133
- @pulumi.getter(name="selectedNode")
134
- def selected_node(self) -> Optional[pulumi.Input[str]]:
252
+ @pulumi.getter(name="vendorRequestParameters")
253
+ def vendor_request_parameters(self) -> Optional[Any]:
135
254
  """
136
- SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
255
+ VendorRequestParameters are the per-request configuration parameters from the time that the claim was allocated.
137
256
  """
138
- return pulumi.get(self, "selected_node")
257
+ return pulumi.get(self, "vendor_request_parameters")
258
+
259
+ @vendor_request_parameters.setter
260
+ def vendor_request_parameters(self, value: Optional[Any]):
261
+ pulumi.set(self, "vendor_request_parameters", value)
139
262
 
140
- @selected_node.setter
141
- def selected_node(self, value: Optional[pulumi.Input[str]]):
142
- pulumi.set(self, "selected_node", value)
143
263
 
264
+ if not MYPY:
265
+ class DriverRequestsPatchArgsDict(TypedDict):
266
+ """
267
+ DriverRequests describes all resources that are needed from one particular driver.
268
+ """
269
+ driver_name: NotRequired[pulumi.Input[str]]
270
+ """
271
+ DriverName is the name used by the DRA driver kubelet plugin.
272
+ """
273
+ requests: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceRequestPatchArgsDict']]]]
274
+ """
275
+ Requests describes all resources that are needed from the driver.
276
+ """
277
+ vendor_parameters: NotRequired[Any]
278
+ """
279
+ VendorParameters are arbitrary setup parameters for all requests of the claim. They are ignored while allocating the claim.
280
+ """
281
+ elif False:
282
+ DriverRequestsPatchArgsDict: TypeAlias = Mapping[str, Any]
144
283
 
145
284
  @pulumi.input_type
146
- class PodSchedulingContextSpecArgs:
285
+ class DriverRequestsPatchArgs:
147
286
  def __init__(__self__, *,
148
- potential_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
149
- selected_node: Optional[pulumi.Input[str]] = None):
287
+ driver_name: Optional[pulumi.Input[str]] = None,
288
+ requests: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceRequestPatchArgs']]]] = None,
289
+ vendor_parameters: Optional[Any] = None):
150
290
  """
151
- PodSchedulingContextSpec describes where resources for the Pod are needed.
152
- :param pulumi.Input[Sequence[pulumi.Input[str]]] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
153
-
154
- The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
155
- :param pulumi.Input[str] selected_node: SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
291
+ DriverRequests describes all resources that are needed from one particular driver.
292
+ :param pulumi.Input[str] driver_name: DriverName is the name used by the DRA driver kubelet plugin.
293
+ :param pulumi.Input[Sequence[pulumi.Input['ResourceRequestPatchArgs']]] requests: Requests describes all resources that are needed from the driver.
294
+ :param Any vendor_parameters: VendorParameters are arbitrary setup parameters for all requests of the claim. They are ignored while allocating the claim.
156
295
  """
157
- if potential_nodes is not None:
158
- pulumi.set(__self__, "potential_nodes", potential_nodes)
159
- if selected_node is not None:
160
- pulumi.set(__self__, "selected_node", selected_node)
296
+ if driver_name is not None:
297
+ pulumi.set(__self__, "driver_name", driver_name)
298
+ if requests is not None:
299
+ pulumi.set(__self__, "requests", requests)
300
+ if vendor_parameters is not None:
301
+ pulumi.set(__self__, "vendor_parameters", vendor_parameters)
161
302
 
162
303
  @property
163
- @pulumi.getter(name="potentialNodes")
164
- def potential_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
304
+ @pulumi.getter(name="driverName")
305
+ def driver_name(self) -> Optional[pulumi.Input[str]]:
165
306
  """
166
- PotentialNodes lists nodes where the Pod might be able to run.
307
+ DriverName is the name used by the DRA driver kubelet plugin.
308
+ """
309
+ return pulumi.get(self, "driver_name")
167
310
 
168
- The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
311
+ @driver_name.setter
312
+ def driver_name(self, value: Optional[pulumi.Input[str]]):
313
+ pulumi.set(self, "driver_name", value)
314
+
315
+ @property
316
+ @pulumi.getter
317
+ def requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceRequestPatchArgs']]]]:
169
318
  """
170
- return pulumi.get(self, "potential_nodes")
319
+ Requests describes all resources that are needed from the driver.
320
+ """
321
+ return pulumi.get(self, "requests")
171
322
 
172
- @potential_nodes.setter
173
- def potential_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
174
- pulumi.set(self, "potential_nodes", value)
323
+ @requests.setter
324
+ def requests(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceRequestPatchArgs']]]]):
325
+ pulumi.set(self, "requests", value)
175
326
 
176
327
  @property
177
- @pulumi.getter(name="selectedNode")
178
- def selected_node(self) -> Optional[pulumi.Input[str]]:
328
+ @pulumi.getter(name="vendorParameters")
329
+ def vendor_parameters(self) -> Optional[Any]:
179
330
  """
180
- SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
331
+ VendorParameters are arbitrary setup parameters for all requests of the claim. They are ignored while allocating the claim.
181
332
  """
182
- return pulumi.get(self, "selected_node")
333
+ return pulumi.get(self, "vendor_parameters")
183
334
 
184
- @selected_node.setter
185
- def selected_node(self, value: Optional[pulumi.Input[str]]):
186
- pulumi.set(self, "selected_node", value)
335
+ @vendor_parameters.setter
336
+ def vendor_parameters(self, value: Optional[Any]):
337
+ pulumi.set(self, "vendor_parameters", value)
187
338
 
188
339
 
189
- @pulumi.input_type
190
- class PodSchedulingContextStatusArgs:
191
- def __init__(__self__, *,
192
- resource_claims: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]]] = None):
340
+ if not MYPY:
341
+ class DriverRequestsArgsDict(TypedDict):
193
342
  """
194
- PodSchedulingContextStatus describes where resources for the Pod can be allocated.
195
- :param pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]] resource_claims: ResourceClaims describes resource availability for each pod.spec.resourceClaim entry where the corresponding ResourceClaim uses "WaitForFirstConsumer" allocation mode.
343
+ DriverRequests describes all resources that are needed from one particular driver.
196
344
  """
197
- if resource_claims is not None:
198
- pulumi.set(__self__, "resource_claims", resource_claims)
199
-
200
- @property
201
- @pulumi.getter(name="resourceClaims")
202
- def resource_claims(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]]]:
345
+ driver_name: NotRequired[pulumi.Input[str]]
203
346
  """
204
- ResourceClaims describes resource availability for each pod.spec.resourceClaim entry where the corresponding ResourceClaim uses "WaitForFirstConsumer" allocation mode.
347
+ DriverName is the name used by the DRA driver kubelet plugin.
205
348
  """
206
- return pulumi.get(self, "resource_claims")
207
-
208
- @resource_claims.setter
209
- def resource_claims(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]]]):
210
- pulumi.set(self, "resource_claims", value)
211
-
349
+ requests: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceRequestArgsDict']]]]
350
+ """
351
+ Requests describes all resources that are needed from the driver.
352
+ """
353
+ vendor_parameters: NotRequired[Any]
354
+ """
355
+ VendorParameters are arbitrary setup parameters for all requests of the claim. They are ignored while allocating the claim.
356
+ """
357
+ elif False:
358
+ DriverRequestsArgsDict: TypeAlias = Mapping[str, Any]
212
359
 
213
360
  @pulumi.input_type
214
- class PodSchedulingContextArgs:
361
+ class DriverRequestsArgs:
215
362
  def __init__(__self__, *,
216
- spec: pulumi.Input['PodSchedulingContextSpecArgs'],
217
- api_version: Optional[pulumi.Input[str]] = None,
218
- kind: Optional[pulumi.Input[str]] = None,
219
- metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
220
- status: Optional[pulumi.Input['PodSchedulingContextStatusArgs']] = None):
363
+ driver_name: Optional[pulumi.Input[str]] = None,
364
+ requests: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceRequestArgs']]]] = None,
365
+ vendor_parameters: Optional[Any] = None):
221
366
  """
222
- PodSchedulingContext objects hold information that is needed to schedule a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation mode.
223
-
224
- This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
225
- :param pulumi.Input['PodSchedulingContextSpecArgs'] spec: Spec describes where resources for the Pod are needed.
226
- :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
227
- :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
228
- :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
229
- :param pulumi.Input['PodSchedulingContextStatusArgs'] status: Status describes where resources for the Pod can be allocated.
367
+ DriverRequests describes all resources that are needed from one particular driver.
368
+ :param pulumi.Input[str] driver_name: DriverName is the name used by the DRA driver kubelet plugin.
369
+ :param pulumi.Input[Sequence[pulumi.Input['ResourceRequestArgs']]] requests: Requests describes all resources that are needed from the driver.
370
+ :param Any vendor_parameters: VendorParameters are arbitrary setup parameters for all requests of the claim. They are ignored while allocating the claim.
230
371
  """
231
- pulumi.set(__self__, "spec", spec)
232
- if api_version is not None:
233
- pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
234
- if kind is not None:
235
- pulumi.set(__self__, "kind", 'PodSchedulingContext')
236
- if metadata is not None:
237
- pulumi.set(__self__, "metadata", metadata)
238
- if status is not None:
239
- pulumi.set(__self__, "status", status)
372
+ if driver_name is not None:
373
+ pulumi.set(__self__, "driver_name", driver_name)
374
+ if requests is not None:
375
+ pulumi.set(__self__, "requests", requests)
376
+ if vendor_parameters is not None:
377
+ pulumi.set(__self__, "vendor_parameters", vendor_parameters)
240
378
 
241
379
  @property
242
- @pulumi.getter
243
- def spec(self) -> pulumi.Input['PodSchedulingContextSpecArgs']:
380
+ @pulumi.getter(name="driverName")
381
+ def driver_name(self) -> Optional[pulumi.Input[str]]:
244
382
  """
245
- Spec describes where resources for the Pod are needed.
383
+ DriverName is the name used by the DRA driver kubelet plugin.
246
384
  """
247
- return pulumi.get(self, "spec")
385
+ return pulumi.get(self, "driver_name")
248
386
 
249
- @spec.setter
250
- def spec(self, value: pulumi.Input['PodSchedulingContextSpecArgs']):
251
- pulumi.set(self, "spec", value)
387
+ @driver_name.setter
388
+ def driver_name(self, value: Optional[pulumi.Input[str]]):
389
+ pulumi.set(self, "driver_name", value)
252
390
 
253
391
  @property
254
- @pulumi.getter(name="apiVersion")
255
- def api_version(self) -> Optional[pulumi.Input[str]]:
392
+ @pulumi.getter
393
+ def requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceRequestArgs']]]]:
256
394
  """
257
- 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
395
+ Requests describes all resources that are needed from the driver.
258
396
  """
259
- return pulumi.get(self, "api_version")
397
+ return pulumi.get(self, "requests")
260
398
 
261
- @api_version.setter
262
- def api_version(self, value: Optional[pulumi.Input[str]]):
263
- pulumi.set(self, "api_version", value)
399
+ @requests.setter
400
+ def requests(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceRequestArgs']]]]):
401
+ pulumi.set(self, "requests", value)
264
402
 
265
403
  @property
266
- @pulumi.getter
267
- def kind(self) -> Optional[pulumi.Input[str]]:
404
+ @pulumi.getter(name="vendorParameters")
405
+ def vendor_parameters(self) -> Optional[Any]:
268
406
  """
269
- 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
407
+ VendorParameters are arbitrary setup parameters for all requests of the claim. They are ignored while allocating the claim.
270
408
  """
271
- return pulumi.get(self, "kind")
409
+ return pulumi.get(self, "vendor_parameters")
272
410
 
273
- @kind.setter
274
- def kind(self, value: Optional[pulumi.Input[str]]):
275
- pulumi.set(self, "kind", value)
411
+ @vendor_parameters.setter
412
+ def vendor_parameters(self, value: Optional[Any]):
413
+ pulumi.set(self, "vendor_parameters", value)
276
414
 
277
- @property
278
- @pulumi.getter
279
- def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
415
+
416
+ if not MYPY:
417
+ class NamedResourcesAllocationResultArgsDict(TypedDict):
280
418
  """
281
- Standard object metadata
419
+ NamedResourcesAllocationResult is used in AllocationResultModel.
282
420
  """
283
- return pulumi.get(self, "metadata")
284
-
285
- @metadata.setter
286
- def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
287
- pulumi.set(self, "metadata", value)
288
-
289
- @property
290
- @pulumi.getter
291
- def status(self) -> Optional[pulumi.Input['PodSchedulingContextStatusArgs']]:
421
+ name: pulumi.Input[str]
292
422
  """
293
- Status describes where resources for the Pod can be allocated.
423
+ Name is the name of the selected resource instance.
294
424
  """
295
- return pulumi.get(self, "status")
296
-
297
- @status.setter
298
- def status(self, value: Optional[pulumi.Input['PodSchedulingContextStatusArgs']]):
299
- pulumi.set(self, "status", value)
300
-
425
+ elif False:
426
+ NamedResourcesAllocationResultArgsDict: TypeAlias = Mapping[str, Any]
301
427
 
302
428
  @pulumi.input_type
303
- class ResourceClaimConsumerReferenceArgs:
429
+ class NamedResourcesAllocationResultArgs:
304
430
  def __init__(__self__, *,
305
- name: pulumi.Input[str],
306
- resource: pulumi.Input[str],
307
- uid: pulumi.Input[str],
308
- api_group: Optional[pulumi.Input[str]] = None):
431
+ name: pulumi.Input[str]):
309
432
  """
310
- ResourceClaimConsumerReference contains enough information to let you locate the consumer of a ResourceClaim. The user must be a resource in the same namespace as the ResourceClaim.
311
- :param pulumi.Input[str] name: Name is the name of resource being referenced.
312
- :param pulumi.Input[str] resource: Resource is the type of resource being referenced, for example "pods".
313
- :param pulumi.Input[str] uid: UID identifies exactly one incarnation of the resource.
314
- :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
433
+ NamedResourcesAllocationResult is used in AllocationResultModel.
434
+ :param pulumi.Input[str] name: Name is the name of the selected resource instance.
315
435
  """
316
436
  pulumi.set(__self__, "name", name)
317
- pulumi.set(__self__, "resource", resource)
318
- pulumi.set(__self__, "uid", uid)
319
- if api_group is not None:
320
- pulumi.set(__self__, "api_group", api_group)
321
437
 
322
438
  @property
323
439
  @pulumi.getter
324
440
  def name(self) -> pulumi.Input[str]:
325
441
  """
326
- Name is the name of resource being referenced.
442
+ Name is the name of the selected resource instance.
327
443
  """
328
444
  return pulumi.get(self, "name")
329
445
 
@@ -331,516 +447,2470 @@ class ResourceClaimConsumerReferenceArgs:
331
447
  def name(self, value: pulumi.Input[str]):
332
448
  pulumi.set(self, "name", value)
333
449
 
450
+
451
+ if not MYPY:
452
+ class NamedResourcesAttributePatchArgsDict(TypedDict):
453
+ """
454
+ NamedResourcesAttribute is a combination of an attribute name and its value.
455
+ """
456
+ bool: NotRequired[pulumi.Input[bool]]
457
+ """
458
+ BoolValue is a true/false value.
459
+ """
460
+ int: NotRequired[pulumi.Input[int]]
461
+ """
462
+ IntValue is a 64-bit integer.
463
+ """
464
+ int_slice: NotRequired[pulumi.Input['NamedResourcesIntSlicePatchArgsDict']]
465
+ """
466
+ IntSliceValue is an array of 64-bit integers.
467
+ """
468
+ name: NotRequired[pulumi.Input[str]]
469
+ """
470
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
471
+ """
472
+ quantity: NotRequired[pulumi.Input[str]]
473
+ """
474
+ QuantityValue is a quantity.
475
+ """
476
+ string: NotRequired[pulumi.Input[str]]
477
+ """
478
+ StringValue is a string.
479
+ """
480
+ string_slice: NotRequired[pulumi.Input['NamedResourcesStringSlicePatchArgsDict']]
481
+ """
482
+ StringSliceValue is an array of strings.
483
+ """
484
+ version: NotRequired[pulumi.Input[str]]
485
+ """
486
+ VersionValue is a semantic version according to semver.org spec 2.0.0.
487
+ """
488
+ elif False:
489
+ NamedResourcesAttributePatchArgsDict: TypeAlias = Mapping[str, Any]
490
+
491
+ @pulumi.input_type
492
+ class NamedResourcesAttributePatchArgs:
493
+ def __init__(__self__, *,
494
+ bool: Optional[pulumi.Input[bool]] = None,
495
+ int: Optional[pulumi.Input[int]] = None,
496
+ int_slice: Optional[pulumi.Input['NamedResourcesIntSlicePatchArgs']] = None,
497
+ name: Optional[pulumi.Input[str]] = None,
498
+ quantity: Optional[pulumi.Input[str]] = None,
499
+ string: Optional[pulumi.Input[str]] = None,
500
+ string_slice: Optional[pulumi.Input['NamedResourcesStringSlicePatchArgs']] = None,
501
+ version: Optional[pulumi.Input[str]] = None):
502
+ """
503
+ NamedResourcesAttribute is a combination of an attribute name and its value.
504
+ :param pulumi.Input[bool] bool: BoolValue is a true/false value.
505
+ :param pulumi.Input[int] int: IntValue is a 64-bit integer.
506
+ :param pulumi.Input['NamedResourcesIntSlicePatchArgs'] int_slice: IntSliceValue is an array of 64-bit integers.
507
+ :param pulumi.Input[str] name: Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
508
+ :param pulumi.Input[str] quantity: QuantityValue is a quantity.
509
+ :param pulumi.Input[str] string: StringValue is a string.
510
+ :param pulumi.Input['NamedResourcesStringSlicePatchArgs'] string_slice: StringSliceValue is an array of strings.
511
+ :param pulumi.Input[str] version: VersionValue is a semantic version according to semver.org spec 2.0.0.
512
+ """
513
+ if bool is not None:
514
+ pulumi.set(__self__, "bool", bool)
515
+ if int is not None:
516
+ pulumi.set(__self__, "int", int)
517
+ if int_slice is not None:
518
+ pulumi.set(__self__, "int_slice", int_slice)
519
+ if name is not None:
520
+ pulumi.set(__self__, "name", name)
521
+ if quantity is not None:
522
+ pulumi.set(__self__, "quantity", quantity)
523
+ if string is not None:
524
+ pulumi.set(__self__, "string", string)
525
+ if string_slice is not None:
526
+ pulumi.set(__self__, "string_slice", string_slice)
527
+ if version is not None:
528
+ pulumi.set(__self__, "version", version)
529
+
334
530
  @property
335
531
  @pulumi.getter
336
- def resource(self) -> pulumi.Input[str]:
532
+ def bool(self) -> Optional[pulumi.Input[bool]]:
337
533
  """
338
- Resource is the type of resource being referenced, for example "pods".
534
+ BoolValue is a true/false value.
339
535
  """
340
- return pulumi.get(self, "resource")
536
+ return pulumi.get(self, "bool")
341
537
 
342
- @resource.setter
343
- def resource(self, value: pulumi.Input[str]):
344
- pulumi.set(self, "resource", value)
538
+ @bool.setter
539
+ def bool(self, value: Optional[pulumi.Input[bool]]):
540
+ pulumi.set(self, "bool", value)
345
541
 
346
542
  @property
347
543
  @pulumi.getter
348
- def uid(self) -> pulumi.Input[str]:
544
+ def int(self) -> Optional[pulumi.Input[int]]:
349
545
  """
350
- UID identifies exactly one incarnation of the resource.
546
+ IntValue is a 64-bit integer.
351
547
  """
352
- return pulumi.get(self, "uid")
548
+ return pulumi.get(self, "int")
353
549
 
354
- @uid.setter
355
- def uid(self, value: pulumi.Input[str]):
356
- pulumi.set(self, "uid", value)
550
+ @int.setter
551
+ def int(self, value: Optional[pulumi.Input[int]]):
552
+ pulumi.set(self, "int", value)
357
553
 
358
554
  @property
359
- @pulumi.getter(name="apiGroup")
360
- def api_group(self) -> Optional[pulumi.Input[str]]:
555
+ @pulumi.getter(name="intSlice")
556
+ def int_slice(self) -> Optional[pulumi.Input['NamedResourcesIntSlicePatchArgs']]:
361
557
  """
362
- APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
558
+ IntSliceValue is an array of 64-bit integers.
363
559
  """
364
- return pulumi.get(self, "api_group")
365
-
366
- @api_group.setter
367
- def api_group(self, value: Optional[pulumi.Input[str]]):
368
- pulumi.set(self, "api_group", value)
560
+ return pulumi.get(self, "int_slice")
369
561
 
562
+ @int_slice.setter
563
+ def int_slice(self, value: Optional[pulumi.Input['NamedResourcesIntSlicePatchArgs']]):
564
+ pulumi.set(self, "int_slice", value)
370
565
 
371
- @pulumi.input_type
372
- class ResourceClaimParametersReferencePatchArgs:
373
- def __init__(__self__, *,
374
- api_group: Optional[pulumi.Input[str]] = None,
375
- kind: Optional[pulumi.Input[str]] = None,
376
- name: Optional[pulumi.Input[str]] = None):
566
+ @property
567
+ @pulumi.getter
568
+ def name(self) -> Optional[pulumi.Input[str]]:
377
569
  """
378
- ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.
379
- :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
380
- :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
381
- :param pulumi.Input[str] name: Name is the name of resource being referenced.
570
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
382
571
  """
383
- if api_group is not None:
384
- pulumi.set(__self__, "api_group", api_group)
385
- if kind is not None:
386
- pulumi.set(__self__, "kind", kind)
387
- if name is not None:
388
- pulumi.set(__self__, "name", name)
572
+ return pulumi.get(self, "name")
573
+
574
+ @name.setter
575
+ def name(self, value: Optional[pulumi.Input[str]]):
576
+ pulumi.set(self, "name", value)
389
577
 
390
578
  @property
391
- @pulumi.getter(name="apiGroup")
392
- def api_group(self) -> Optional[pulumi.Input[str]]:
579
+ @pulumi.getter
580
+ def quantity(self) -> Optional[pulumi.Input[str]]:
393
581
  """
394
- APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
582
+ QuantityValue is a quantity.
395
583
  """
396
- return pulumi.get(self, "api_group")
584
+ return pulumi.get(self, "quantity")
397
585
 
398
- @api_group.setter
399
- def api_group(self, value: Optional[pulumi.Input[str]]):
400
- pulumi.set(self, "api_group", value)
586
+ @quantity.setter
587
+ def quantity(self, value: Optional[pulumi.Input[str]]):
588
+ pulumi.set(self, "quantity", value)
401
589
 
402
590
  @property
403
591
  @pulumi.getter
404
- def kind(self) -> Optional[pulumi.Input[str]]:
592
+ def string(self) -> Optional[pulumi.Input[str]]:
405
593
  """
406
- Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
594
+ StringValue is a string.
407
595
  """
408
- return pulumi.get(self, "kind")
596
+ return pulumi.get(self, "string")
409
597
 
410
- @kind.setter
411
- def kind(self, value: Optional[pulumi.Input[str]]):
412
- pulumi.set(self, "kind", value)
598
+ @string.setter
599
+ def string(self, value: Optional[pulumi.Input[str]]):
600
+ pulumi.set(self, "string", value)
601
+
602
+ @property
603
+ @pulumi.getter(name="stringSlice")
604
+ def string_slice(self) -> Optional[pulumi.Input['NamedResourcesStringSlicePatchArgs']]:
605
+ """
606
+ StringSliceValue is an array of strings.
607
+ """
608
+ return pulumi.get(self, "string_slice")
609
+
610
+ @string_slice.setter
611
+ def string_slice(self, value: Optional[pulumi.Input['NamedResourcesStringSlicePatchArgs']]):
612
+ pulumi.set(self, "string_slice", value)
413
613
 
414
614
  @property
415
615
  @pulumi.getter
416
- def name(self) -> Optional[pulumi.Input[str]]:
616
+ def version(self) -> Optional[pulumi.Input[str]]:
417
617
  """
418
- Name is the name of resource being referenced.
618
+ VersionValue is a semantic version according to semver.org spec 2.0.0.
419
619
  """
420
- return pulumi.get(self, "name")
620
+ return pulumi.get(self, "version")
621
+
622
+ @version.setter
623
+ def version(self, value: Optional[pulumi.Input[str]]):
624
+ pulumi.set(self, "version", value)
421
625
 
422
- @name.setter
423
- def name(self, value: Optional[pulumi.Input[str]]):
424
- pulumi.set(self, "name", value)
425
626
 
627
+ if not MYPY:
628
+ class NamedResourcesAttributeArgsDict(TypedDict):
629
+ """
630
+ NamedResourcesAttribute is a combination of an attribute name and its value.
631
+ """
632
+ name: pulumi.Input[str]
633
+ """
634
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
635
+ """
636
+ bool: NotRequired[pulumi.Input[bool]]
637
+ """
638
+ BoolValue is a true/false value.
639
+ """
640
+ int: NotRequired[pulumi.Input[int]]
641
+ """
642
+ IntValue is a 64-bit integer.
643
+ """
644
+ int_slice: NotRequired[pulumi.Input['NamedResourcesIntSliceArgsDict']]
645
+ """
646
+ IntSliceValue is an array of 64-bit integers.
647
+ """
648
+ quantity: NotRequired[pulumi.Input[str]]
649
+ """
650
+ QuantityValue is a quantity.
651
+ """
652
+ string: NotRequired[pulumi.Input[str]]
653
+ """
654
+ StringValue is a string.
655
+ """
656
+ string_slice: NotRequired[pulumi.Input['NamedResourcesStringSliceArgsDict']]
657
+ """
658
+ StringSliceValue is an array of strings.
659
+ """
660
+ version: NotRequired[pulumi.Input[str]]
661
+ """
662
+ VersionValue is a semantic version according to semver.org spec 2.0.0.
663
+ """
664
+ elif False:
665
+ NamedResourcesAttributeArgsDict: TypeAlias = Mapping[str, Any]
426
666
 
427
667
  @pulumi.input_type
428
- class ResourceClaimParametersReferenceArgs:
668
+ class NamedResourcesAttributeArgs:
429
669
  def __init__(__self__, *,
430
- kind: pulumi.Input[str],
431
670
  name: pulumi.Input[str],
432
- api_group: Optional[pulumi.Input[str]] = None):
433
- """
434
- ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.
435
- :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
436
- :param pulumi.Input[str] name: Name is the name of resource being referenced.
437
- :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
671
+ bool: Optional[pulumi.Input[bool]] = None,
672
+ int: Optional[pulumi.Input[int]] = None,
673
+ int_slice: Optional[pulumi.Input['NamedResourcesIntSliceArgs']] = None,
674
+ quantity: Optional[pulumi.Input[str]] = None,
675
+ string: Optional[pulumi.Input[str]] = None,
676
+ string_slice: Optional[pulumi.Input['NamedResourcesStringSliceArgs']] = None,
677
+ version: Optional[pulumi.Input[str]] = None):
678
+ """
679
+ NamedResourcesAttribute is a combination of an attribute name and its value.
680
+ :param pulumi.Input[str] name: Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
681
+ :param pulumi.Input[bool] bool: BoolValue is a true/false value.
682
+ :param pulumi.Input[int] int: IntValue is a 64-bit integer.
683
+ :param pulumi.Input['NamedResourcesIntSliceArgs'] int_slice: IntSliceValue is an array of 64-bit integers.
684
+ :param pulumi.Input[str] quantity: QuantityValue is a quantity.
685
+ :param pulumi.Input[str] string: StringValue is a string.
686
+ :param pulumi.Input['NamedResourcesStringSliceArgs'] string_slice: StringSliceValue is an array of strings.
687
+ :param pulumi.Input[str] version: VersionValue is a semantic version according to semver.org spec 2.0.0.
438
688
  """
439
- pulumi.set(__self__, "kind", kind)
440
689
  pulumi.set(__self__, "name", name)
441
- if api_group is not None:
442
- pulumi.set(__self__, "api_group", api_group)
690
+ if bool is not None:
691
+ pulumi.set(__self__, "bool", bool)
692
+ if int is not None:
693
+ pulumi.set(__self__, "int", int)
694
+ if int_slice is not None:
695
+ pulumi.set(__self__, "int_slice", int_slice)
696
+ if quantity is not None:
697
+ pulumi.set(__self__, "quantity", quantity)
698
+ if string is not None:
699
+ pulumi.set(__self__, "string", string)
700
+ if string_slice is not None:
701
+ pulumi.set(__self__, "string_slice", string_slice)
702
+ if version is not None:
703
+ pulumi.set(__self__, "version", version)
443
704
 
444
705
  @property
445
706
  @pulumi.getter
446
- def kind(self) -> pulumi.Input[str]:
707
+ def name(self) -> pulumi.Input[str]:
447
708
  """
448
- Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
709
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
449
710
  """
450
- return pulumi.get(self, "kind")
711
+ return pulumi.get(self, "name")
451
712
 
452
- @kind.setter
453
- def kind(self, value: pulumi.Input[str]):
454
- pulumi.set(self, "kind", value)
713
+ @name.setter
714
+ def name(self, value: pulumi.Input[str]):
715
+ pulumi.set(self, "name", value)
455
716
 
456
717
  @property
457
718
  @pulumi.getter
458
- def name(self) -> pulumi.Input[str]:
719
+ def bool(self) -> Optional[pulumi.Input[bool]]:
459
720
  """
460
- Name is the name of resource being referenced.
721
+ BoolValue is a true/false value.
461
722
  """
462
- return pulumi.get(self, "name")
723
+ return pulumi.get(self, "bool")
463
724
 
464
- @name.setter
465
- def name(self, value: pulumi.Input[str]):
466
- pulumi.set(self, "name", value)
725
+ @bool.setter
726
+ def bool(self, value: Optional[pulumi.Input[bool]]):
727
+ pulumi.set(self, "bool", value)
467
728
 
468
729
  @property
469
- @pulumi.getter(name="apiGroup")
470
- def api_group(self) -> Optional[pulumi.Input[str]]:
730
+ @pulumi.getter
731
+ def int(self) -> Optional[pulumi.Input[int]]:
471
732
  """
472
- APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
733
+ IntValue is a 64-bit integer.
473
734
  """
474
- return pulumi.get(self, "api_group")
735
+ return pulumi.get(self, "int")
475
736
 
476
- @api_group.setter
477
- def api_group(self, value: Optional[pulumi.Input[str]]):
478
- pulumi.set(self, "api_group", value)
737
+ @int.setter
738
+ def int(self, value: Optional[pulumi.Input[int]]):
739
+ pulumi.set(self, "int", value)
740
+
741
+ @property
742
+ @pulumi.getter(name="intSlice")
743
+ def int_slice(self) -> Optional[pulumi.Input['NamedResourcesIntSliceArgs']]:
744
+ """
745
+ IntSliceValue is an array of 64-bit integers.
746
+ """
747
+ return pulumi.get(self, "int_slice")
479
748
 
749
+ @int_slice.setter
750
+ def int_slice(self, value: Optional[pulumi.Input['NamedResourcesIntSliceArgs']]):
751
+ pulumi.set(self, "int_slice", value)
480
752
 
481
- @pulumi.input_type
482
- class ResourceClaimSchedulingStatusArgs:
483
- def __init__(__self__, *,
484
- name: Optional[pulumi.Input[str]] = None,
485
- unsuitable_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
753
+ @property
754
+ @pulumi.getter
755
+ def quantity(self) -> Optional[pulumi.Input[str]]:
486
756
  """
487
- ResourceClaimSchedulingStatus contains information about one particular ResourceClaim with "WaitForFirstConsumer" allocation mode.
488
- :param pulumi.Input[str] name: Name matches the pod.spec.resourceClaims[*].Name field.
489
- :param pulumi.Input[Sequence[pulumi.Input[str]]] unsuitable_nodes: UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
490
-
491
- The size of this field is limited to 128, the same as for PodSchedulingSpec.PotentialNodes. This may get increased in the future, but not reduced.
757
+ QuantityValue is a quantity.
492
758
  """
493
- if name is not None:
494
- pulumi.set(__self__, "name", name)
495
- if unsuitable_nodes is not None:
496
- pulumi.set(__self__, "unsuitable_nodes", unsuitable_nodes)
759
+ return pulumi.get(self, "quantity")
760
+
761
+ @quantity.setter
762
+ def quantity(self, value: Optional[pulumi.Input[str]]):
763
+ pulumi.set(self, "quantity", value)
497
764
 
498
765
  @property
499
766
  @pulumi.getter
500
- def name(self) -> Optional[pulumi.Input[str]]:
767
+ def string(self) -> Optional[pulumi.Input[str]]:
501
768
  """
502
- Name matches the pod.spec.resourceClaims[*].Name field.
769
+ StringValue is a string.
503
770
  """
504
- return pulumi.get(self, "name")
771
+ return pulumi.get(self, "string")
505
772
 
506
- @name.setter
507
- def name(self, value: Optional[pulumi.Input[str]]):
508
- pulumi.set(self, "name", value)
773
+ @string.setter
774
+ def string(self, value: Optional[pulumi.Input[str]]):
775
+ pulumi.set(self, "string", value)
509
776
 
510
777
  @property
511
- @pulumi.getter(name="unsuitableNodes")
512
- def unsuitable_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
778
+ @pulumi.getter(name="stringSlice")
779
+ def string_slice(self) -> Optional[pulumi.Input['NamedResourcesStringSliceArgs']]:
513
780
  """
514
- UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
781
+ StringSliceValue is an array of strings.
782
+ """
783
+ return pulumi.get(self, "string_slice")
515
784
 
516
- The size of this field is limited to 128, the same as for PodSchedulingSpec.PotentialNodes. This may get increased in the future, but not reduced.
785
+ @string_slice.setter
786
+ def string_slice(self, value: Optional[pulumi.Input['NamedResourcesStringSliceArgs']]):
787
+ pulumi.set(self, "string_slice", value)
788
+
789
+ @property
790
+ @pulumi.getter
791
+ def version(self) -> Optional[pulumi.Input[str]]:
517
792
  """
518
- return pulumi.get(self, "unsuitable_nodes")
793
+ VersionValue is a semantic version according to semver.org spec 2.0.0.
794
+ """
795
+ return pulumi.get(self, "version")
519
796
 
520
- @unsuitable_nodes.setter
521
- def unsuitable_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
522
- pulumi.set(self, "unsuitable_nodes", value)
797
+ @version.setter
798
+ def version(self, value: Optional[pulumi.Input[str]]):
799
+ pulumi.set(self, "version", value)
800
+
801
+
802
+ if not MYPY:
803
+ class NamedResourcesFilterPatchArgsDict(TypedDict):
804
+ """
805
+ NamedResourcesFilter is used in ResourceFilterModel.
806
+ """
807
+ selector: NotRequired[pulumi.Input[str]]
808
+ """
809
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
810
+
811
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
523
812
 
813
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
814
+ attributes.stringslice["b"].isSorted()
815
+ """
816
+ elif False:
817
+ NamedResourcesFilterPatchArgsDict: TypeAlias = Mapping[str, Any]
524
818
 
525
819
  @pulumi.input_type
526
- class ResourceClaimSpecPatchArgs:
820
+ class NamedResourcesFilterPatchArgs:
527
821
  def __init__(__self__, *,
528
- allocation_mode: Optional[pulumi.Input[str]] = None,
529
- parameters_ref: Optional[pulumi.Input['ResourceClaimParametersReferencePatchArgs']] = None,
530
- resource_class_name: Optional[pulumi.Input[str]] = None):
822
+ selector: Optional[pulumi.Input[str]] = None):
531
823
  """
532
- ResourceClaimSpec defines how a resource is to be allocated.
533
- :param pulumi.Input[str] allocation_mode: Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
534
- :param pulumi.Input['ResourceClaimParametersReferencePatchArgs'] parameters_ref: ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
824
+ NamedResourcesFilter is used in ResourceFilterModel.
825
+ :param pulumi.Input[str] selector: Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
535
826
 
536
- The object must be in the same namespace as the ResourceClaim.
537
- :param pulumi.Input[str] resource_class_name: ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
827
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
828
+
829
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
830
+ attributes.stringslice["b"].isSorted()
538
831
  """
539
- if allocation_mode is not None:
540
- pulumi.set(__self__, "allocation_mode", allocation_mode)
541
- if parameters_ref is not None:
542
- pulumi.set(__self__, "parameters_ref", parameters_ref)
543
- if resource_class_name is not None:
544
- pulumi.set(__self__, "resource_class_name", resource_class_name)
832
+ if selector is not None:
833
+ pulumi.set(__self__, "selector", selector)
545
834
 
546
835
  @property
547
- @pulumi.getter(name="allocationMode")
548
- def allocation_mode(self) -> Optional[pulumi.Input[str]]:
549
- """
550
- Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
836
+ @pulumi.getter
837
+ def selector(self) -> Optional[pulumi.Input[str]]:
551
838
  """
552
- return pulumi.get(self, "allocation_mode")
839
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
553
840
 
554
- @allocation_mode.setter
555
- def allocation_mode(self, value: Optional[pulumi.Input[str]]):
556
- pulumi.set(self, "allocation_mode", value)
841
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
557
842
 
558
- @property
559
- @pulumi.getter(name="parametersRef")
560
- def parameters_ref(self) -> Optional[pulumi.Input['ResourceClaimParametersReferencePatchArgs']]:
843
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
844
+ attributes.stringslice["b"].isSorted()
561
845
  """
562
- ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
846
+ return pulumi.get(self, "selector")
563
847
 
564
- The object must be in the same namespace as the ResourceClaim.
565
- """
566
- return pulumi.get(self, "parameters_ref")
848
+ @selector.setter
849
+ def selector(self, value: Optional[pulumi.Input[str]]):
850
+ pulumi.set(self, "selector", value)
567
851
 
568
- @parameters_ref.setter
569
- def parameters_ref(self, value: Optional[pulumi.Input['ResourceClaimParametersReferencePatchArgs']]):
570
- pulumi.set(self, "parameters_ref", value)
571
852
 
572
- @property
573
- @pulumi.getter(name="resourceClassName")
574
- def resource_class_name(self) -> Optional[pulumi.Input[str]]:
853
+ if not MYPY:
854
+ class NamedResourcesFilterArgsDict(TypedDict):
575
855
  """
576
- ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
856
+ NamedResourcesFilter is used in ResourceFilterModel.
577
857
  """
578
- return pulumi.get(self, "resource_class_name")
858
+ selector: pulumi.Input[str]
859
+ """
860
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
579
861
 
580
- @resource_class_name.setter
581
- def resource_class_name(self, value: Optional[pulumi.Input[str]]):
582
- pulumi.set(self, "resource_class_name", value)
862
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
583
863
 
864
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
865
+ attributes.stringslice["b"].isSorted()
866
+ """
867
+ elif False:
868
+ NamedResourcesFilterArgsDict: TypeAlias = Mapping[str, Any]
584
869
 
585
870
  @pulumi.input_type
586
- class ResourceClaimSpecArgs:
871
+ class NamedResourcesFilterArgs:
587
872
  def __init__(__self__, *,
588
- resource_class_name: pulumi.Input[str],
589
- allocation_mode: Optional[pulumi.Input[str]] = None,
590
- parameters_ref: Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']] = None):
873
+ selector: pulumi.Input[str]):
591
874
  """
592
- ResourceClaimSpec defines how a resource is to be allocated.
593
- :param pulumi.Input[str] resource_class_name: ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
594
- :param pulumi.Input[str] allocation_mode: Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
595
- :param pulumi.Input['ResourceClaimParametersReferenceArgs'] parameters_ref: ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
875
+ NamedResourcesFilter is used in ResourceFilterModel.
876
+ :param pulumi.Input[str] selector: Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
596
877
 
597
- The object must be in the same namespace as the ResourceClaim.
878
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
879
+
880
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
881
+ attributes.stringslice["b"].isSorted()
598
882
  """
599
- pulumi.set(__self__, "resource_class_name", resource_class_name)
600
- if allocation_mode is not None:
601
- pulumi.set(__self__, "allocation_mode", allocation_mode)
602
- if parameters_ref is not None:
603
- pulumi.set(__self__, "parameters_ref", parameters_ref)
883
+ pulumi.set(__self__, "selector", selector)
604
884
 
605
885
  @property
606
- @pulumi.getter(name="resourceClassName")
607
- def resource_class_name(self) -> pulumi.Input[str]:
886
+ @pulumi.getter
887
+ def selector(self) -> pulumi.Input[str]:
608
888
  """
609
- ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
889
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
890
+
891
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
892
+
893
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
894
+ attributes.stringslice["b"].isSorted()
610
895
  """
611
- return pulumi.get(self, "resource_class_name")
896
+ return pulumi.get(self, "selector")
612
897
 
613
- @resource_class_name.setter
614
- def resource_class_name(self, value: pulumi.Input[str]):
615
- pulumi.set(self, "resource_class_name", value)
898
+ @selector.setter
899
+ def selector(self, value: pulumi.Input[str]):
900
+ pulumi.set(self, "selector", value)
616
901
 
617
- @property
618
- @pulumi.getter(name="allocationMode")
619
- def allocation_mode(self) -> Optional[pulumi.Input[str]]:
902
+
903
+ if not MYPY:
904
+ class NamedResourcesInstancePatchArgsDict(TypedDict):
620
905
  """
621
- Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
906
+ NamedResourcesInstance represents one individual hardware instance that can be selected based on its attributes.
622
907
  """
623
- return pulumi.get(self, "allocation_mode")
908
+ attributes: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributePatchArgsDict']]]]
909
+ """
910
+ Attributes defines the attributes of this resource instance. The name of each attribute must be unique.
911
+ """
912
+ name: NotRequired[pulumi.Input[str]]
913
+ """
914
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
915
+ """
916
+ elif False:
917
+ NamedResourcesInstancePatchArgsDict: TypeAlias = Mapping[str, Any]
624
918
 
625
- @allocation_mode.setter
626
- def allocation_mode(self, value: Optional[pulumi.Input[str]]):
627
- pulumi.set(self, "allocation_mode", value)
919
+ @pulumi.input_type
920
+ class NamedResourcesInstancePatchArgs:
921
+ def __init__(__self__, *,
922
+ attributes: Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributePatchArgs']]]] = None,
923
+ name: Optional[pulumi.Input[str]] = None):
924
+ """
925
+ NamedResourcesInstance represents one individual hardware instance that can be selected based on its attributes.
926
+ :param pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributePatchArgs']]] attributes: Attributes defines the attributes of this resource instance. The name of each attribute must be unique.
927
+ :param pulumi.Input[str] name: Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
928
+ """
929
+ if attributes is not None:
930
+ pulumi.set(__self__, "attributes", attributes)
931
+ if name is not None:
932
+ pulumi.set(__self__, "name", name)
628
933
 
629
934
  @property
630
- @pulumi.getter(name="parametersRef")
631
- def parameters_ref(self) -> Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']]:
935
+ @pulumi.getter
936
+ def attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributePatchArgs']]]]:
632
937
  """
633
- ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
634
-
635
- The object must be in the same namespace as the ResourceClaim.
938
+ Attributes defines the attributes of this resource instance. The name of each attribute must be unique.
636
939
  """
637
- return pulumi.get(self, "parameters_ref")
940
+ return pulumi.get(self, "attributes")
638
941
 
639
- @parameters_ref.setter
640
- def parameters_ref(self, value: Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']]):
641
- pulumi.set(self, "parameters_ref", value)
942
+ @attributes.setter
943
+ def attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributePatchArgs']]]]):
944
+ pulumi.set(self, "attributes", value)
945
+
946
+ @property
947
+ @pulumi.getter
948
+ def name(self) -> Optional[pulumi.Input[str]]:
949
+ """
950
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
951
+ """
952
+ return pulumi.get(self, "name")
642
953
 
954
+ @name.setter
955
+ def name(self, value: Optional[pulumi.Input[str]]):
956
+ pulumi.set(self, "name", value)
957
+
958
+
959
+ if not MYPY:
960
+ class NamedResourcesInstanceArgsDict(TypedDict):
961
+ """
962
+ NamedResourcesInstance represents one individual hardware instance that can be selected based on its attributes.
963
+ """
964
+ name: pulumi.Input[str]
965
+ """
966
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
967
+ """
968
+ attributes: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributeArgsDict']]]]
969
+ """
970
+ Attributes defines the attributes of this resource instance. The name of each attribute must be unique.
971
+ """
972
+ elif False:
973
+ NamedResourcesInstanceArgsDict: TypeAlias = Mapping[str, Any]
643
974
 
644
975
  @pulumi.input_type
645
- class ResourceClaimStatusArgs:
976
+ class NamedResourcesInstanceArgs:
646
977
  def __init__(__self__, *,
647
- allocation: Optional[pulumi.Input['AllocationResultArgs']] = None,
648
- deallocation_requested: Optional[pulumi.Input[bool]] = None,
649
- driver_name: Optional[pulumi.Input[str]] = None,
650
- reserved_for: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]]] = None):
978
+ name: pulumi.Input[str],
979
+ attributes: Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributeArgs']]]] = None):
651
980
  """
652
- ResourceClaimStatus tracks whether the resource has been allocated and what the resulting attributes are.
653
- :param pulumi.Input['AllocationResultArgs'] allocation: Allocation is set by the resource driver once a resource or set of resources has been allocated successfully. If this is not specified, the resources have not been allocated yet.
654
- :param pulumi.Input[bool] deallocation_requested: DeallocationRequested indicates that a ResourceClaim is to be deallocated.
655
-
656
- The driver then must deallocate this claim and reset the field together with clearing the Allocation field.
657
-
658
- While DeallocationRequested is set, no new consumers may be added to ReservedFor.
659
- :param pulumi.Input[str] driver_name: DriverName is a copy of the driver name from the ResourceClass at the time when allocation started.
660
- :param pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]] reserved_for: ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started.
661
-
662
- There can be at most 32 such reservations. This may get increased in the future, but not reduced.
981
+ NamedResourcesInstance represents one individual hardware instance that can be selected based on its attributes.
982
+ :param pulumi.Input[str] name: Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
983
+ :param pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributeArgs']]] attributes: Attributes defines the attributes of this resource instance. The name of each attribute must be unique.
663
984
  """
664
- if allocation is not None:
665
- pulumi.set(__self__, "allocation", allocation)
666
- if deallocation_requested is not None:
667
- pulumi.set(__self__, "deallocation_requested", deallocation_requested)
668
- if driver_name is not None:
669
- pulumi.set(__self__, "driver_name", driver_name)
670
- if reserved_for is not None:
671
- pulumi.set(__self__, "reserved_for", reserved_for)
985
+ pulumi.set(__self__, "name", name)
986
+ if attributes is not None:
987
+ pulumi.set(__self__, "attributes", attributes)
672
988
 
673
989
  @property
674
990
  @pulumi.getter
675
- def allocation(self) -> Optional[pulumi.Input['AllocationResultArgs']]:
991
+ def name(self) -> pulumi.Input[str]:
676
992
  """
677
- Allocation is set by the resource driver once a resource or set of resources has been allocated successfully. If this is not specified, the resources have not been allocated yet.
993
+ Name is unique identifier among all resource instances managed by the driver on the node. It must be a DNS subdomain.
678
994
  """
679
- return pulumi.get(self, "allocation")
995
+ return pulumi.get(self, "name")
680
996
 
681
- @allocation.setter
682
- def allocation(self, value: Optional[pulumi.Input['AllocationResultArgs']]):
683
- pulumi.set(self, "allocation", value)
997
+ @name.setter
998
+ def name(self, value: pulumi.Input[str]):
999
+ pulumi.set(self, "name", value)
684
1000
 
685
1001
  @property
686
- @pulumi.getter(name="deallocationRequested")
687
- def deallocation_requested(self) -> Optional[pulumi.Input[bool]]:
1002
+ @pulumi.getter
1003
+ def attributes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributeArgs']]]]:
688
1004
  """
689
- DeallocationRequested indicates that a ResourceClaim is to be deallocated.
1005
+ Attributes defines the attributes of this resource instance. The name of each attribute must be unique.
1006
+ """
1007
+ return pulumi.get(self, "attributes")
690
1008
 
691
- The driver then must deallocate this claim and reset the field together with clearing the Allocation field.
1009
+ @attributes.setter
1010
+ def attributes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesAttributeArgs']]]]):
1011
+ pulumi.set(self, "attributes", value)
692
1012
 
693
- While DeallocationRequested is set, no new consumers may be added to ReservedFor.
1013
+
1014
+ if not MYPY:
1015
+ class NamedResourcesIntSlicePatchArgsDict(TypedDict):
694
1016
  """
695
- return pulumi.get(self, "deallocation_requested")
1017
+ NamedResourcesIntSlice contains a slice of 64-bit integers.
1018
+ """
1019
+ ints: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]]
1020
+ """
1021
+ Ints is the slice of 64-bit integers.
1022
+ """
1023
+ elif False:
1024
+ NamedResourcesIntSlicePatchArgsDict: TypeAlias = Mapping[str, Any]
696
1025
 
697
- @deallocation_requested.setter
698
- def deallocation_requested(self, value: Optional[pulumi.Input[bool]]):
699
- pulumi.set(self, "deallocation_requested", value)
1026
+ @pulumi.input_type
1027
+ class NamedResourcesIntSlicePatchArgs:
1028
+ def __init__(__self__, *,
1029
+ ints: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None):
1030
+ """
1031
+ NamedResourcesIntSlice contains a slice of 64-bit integers.
1032
+ :param pulumi.Input[Sequence[pulumi.Input[int]]] ints: Ints is the slice of 64-bit integers.
1033
+ """
1034
+ if ints is not None:
1035
+ pulumi.set(__self__, "ints", ints)
700
1036
 
701
1037
  @property
702
- @pulumi.getter(name="driverName")
703
- def driver_name(self) -> Optional[pulumi.Input[str]]:
1038
+ @pulumi.getter
1039
+ def ints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
704
1040
  """
705
- DriverName is a copy of the driver name from the ResourceClass at the time when allocation started.
1041
+ Ints is the slice of 64-bit integers.
706
1042
  """
707
- return pulumi.get(self, "driver_name")
1043
+ return pulumi.get(self, "ints")
708
1044
 
709
- @driver_name.setter
710
- def driver_name(self, value: Optional[pulumi.Input[str]]):
711
- pulumi.set(self, "driver_name", value)
1045
+ @ints.setter
1046
+ def ints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]):
1047
+ pulumi.set(self, "ints", value)
1048
+
1049
+
1050
+ if not MYPY:
1051
+ class NamedResourcesIntSliceArgsDict(TypedDict):
1052
+ """
1053
+ NamedResourcesIntSlice contains a slice of 64-bit integers.
1054
+ """
1055
+ ints: pulumi.Input[Sequence[pulumi.Input[int]]]
1056
+ """
1057
+ Ints is the slice of 64-bit integers.
1058
+ """
1059
+ elif False:
1060
+ NamedResourcesIntSliceArgsDict: TypeAlias = Mapping[str, Any]
1061
+
1062
+ @pulumi.input_type
1063
+ class NamedResourcesIntSliceArgs:
1064
+ def __init__(__self__, *,
1065
+ ints: pulumi.Input[Sequence[pulumi.Input[int]]]):
1066
+ """
1067
+ NamedResourcesIntSlice contains a slice of 64-bit integers.
1068
+ :param pulumi.Input[Sequence[pulumi.Input[int]]] ints: Ints is the slice of 64-bit integers.
1069
+ """
1070
+ pulumi.set(__self__, "ints", ints)
712
1071
 
713
1072
  @property
714
- @pulumi.getter(name="reservedFor")
715
- def reserved_for(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]]]:
1073
+ @pulumi.getter
1074
+ def ints(self) -> pulumi.Input[Sequence[pulumi.Input[int]]]:
716
1075
  """
717
- ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started.
1076
+ Ints is the slice of 64-bit integers.
1077
+ """
1078
+ return pulumi.get(self, "ints")
718
1079
 
719
- There can be at most 32 such reservations. This may get increased in the future, but not reduced.
1080
+ @ints.setter
1081
+ def ints(self, value: pulumi.Input[Sequence[pulumi.Input[int]]]):
1082
+ pulumi.set(self, "ints", value)
1083
+
1084
+
1085
+ if not MYPY:
1086
+ class NamedResourcesRequestPatchArgsDict(TypedDict):
720
1087
  """
721
- return pulumi.get(self, "reserved_for")
1088
+ NamedResourcesRequest is used in ResourceRequestModel.
1089
+ """
1090
+ selector: NotRequired[pulumi.Input[str]]
1091
+ """
1092
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
722
1093
 
723
- @reserved_for.setter
724
- def reserved_for(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]]]):
725
- pulumi.set(self, "reserved_for", value)
1094
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
726
1095
 
1096
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
1097
+ attributes.stringslice["b"].isSorted()
1098
+ """
1099
+ elif False:
1100
+ NamedResourcesRequestPatchArgsDict: TypeAlias = Mapping[str, Any]
727
1101
 
728
1102
  @pulumi.input_type
729
- class ResourceClaimTemplateSpecPatchArgs:
1103
+ class NamedResourcesRequestPatchArgs:
730
1104
  def __init__(__self__, *,
731
- metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaPatchArgs']] = None,
732
- spec: Optional[pulumi.Input['ResourceClaimSpecPatchArgs']] = None):
1105
+ selector: Optional[pulumi.Input[str]] = None):
733
1106
  """
734
- ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
735
- :param pulumi.Input['_meta.v1.ObjectMetaPatchArgs'] metadata: ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
736
- :param pulumi.Input['ResourceClaimSpecPatchArgs'] spec: Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
1107
+ NamedResourcesRequest is used in ResourceRequestModel.
1108
+ :param pulumi.Input[str] selector: Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
1109
+
1110
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
1111
+
1112
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
1113
+ attributes.stringslice["b"].isSorted()
737
1114
  """
738
- if metadata is not None:
739
- pulumi.set(__self__, "metadata", metadata)
740
- if spec is not None:
741
- pulumi.set(__self__, "spec", spec)
1115
+ if selector is not None:
1116
+ pulumi.set(__self__, "selector", selector)
742
1117
 
743
1118
  @property
744
1119
  @pulumi.getter
745
- def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaPatchArgs']]:
1120
+ def selector(self) -> Optional[pulumi.Input[str]]:
746
1121
  """
747
- ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
1122
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
1123
+
1124
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
1125
+
1126
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
1127
+ attributes.stringslice["b"].isSorted()
748
1128
  """
749
- return pulumi.get(self, "metadata")
1129
+ return pulumi.get(self, "selector")
750
1130
 
751
- @metadata.setter
752
- def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaPatchArgs']]):
753
- pulumi.set(self, "metadata", value)
1131
+ @selector.setter
1132
+ def selector(self, value: Optional[pulumi.Input[str]]):
1133
+ pulumi.set(self, "selector", value)
1134
+
1135
+
1136
+ if not MYPY:
1137
+ class NamedResourcesRequestArgsDict(TypedDict):
1138
+ """
1139
+ NamedResourcesRequest is used in ResourceRequestModel.
1140
+ """
1141
+ selector: pulumi.Input[str]
1142
+ """
1143
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
1144
+
1145
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
1146
+
1147
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
1148
+ attributes.stringslice["b"].isSorted()
1149
+ """
1150
+ elif False:
1151
+ NamedResourcesRequestArgsDict: TypeAlias = Mapping[str, Any]
1152
+
1153
+ @pulumi.input_type
1154
+ class NamedResourcesRequestArgs:
1155
+ def __init__(__self__, *,
1156
+ selector: pulumi.Input[str]):
1157
+ """
1158
+ NamedResourcesRequest is used in ResourceRequestModel.
1159
+ :param pulumi.Input[str] selector: Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
1160
+
1161
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
1162
+
1163
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
1164
+ attributes.stringslice["b"].isSorted()
1165
+ """
1166
+ pulumi.set(__self__, "selector", selector)
754
1167
 
755
1168
  @property
756
1169
  @pulumi.getter
757
- def spec(self) -> Optional[pulumi.Input['ResourceClaimSpecPatchArgs']]:
1170
+ def selector(self) -> pulumi.Input[str]:
758
1171
  """
759
- Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
1172
+ Selector is a CEL expression which must evaluate to true if a resource instance is suitable. The language is as defined in https://kubernetes.io/docs/reference/using-api/cel/
1173
+
1174
+ In addition, for each type NamedResourcesin AttributeValue there is a map that resolves to the corresponding value of the instance under evaluation. For example:
1175
+
1176
+ attributes.quantity["a"].isGreaterThan(quantity("0")) &&
1177
+ attributes.stringslice["b"].isSorted()
760
1178
  """
761
- return pulumi.get(self, "spec")
1179
+ return pulumi.get(self, "selector")
762
1180
 
763
- @spec.setter
764
- def spec(self, value: Optional[pulumi.Input['ResourceClaimSpecPatchArgs']]):
765
- pulumi.set(self, "spec", value)
1181
+ @selector.setter
1182
+ def selector(self, value: pulumi.Input[str]):
1183
+ pulumi.set(self, "selector", value)
766
1184
 
767
1185
 
1186
+ if not MYPY:
1187
+ class NamedResourcesResourcesPatchArgsDict(TypedDict):
1188
+ """
1189
+ NamedResourcesResources is used in ResourceModel.
1190
+ """
1191
+ instances: NotRequired[pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstancePatchArgsDict']]]]
1192
+ """
1193
+ The list of all individual resources instances currently available.
1194
+ """
1195
+ elif False:
1196
+ NamedResourcesResourcesPatchArgsDict: TypeAlias = Mapping[str, Any]
1197
+
768
1198
  @pulumi.input_type
769
- class ResourceClaimTemplateSpecArgs:
1199
+ class NamedResourcesResourcesPatchArgs:
770
1200
  def __init__(__self__, *,
771
- spec: pulumi.Input['ResourceClaimSpecArgs'],
772
- metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None):
1201
+ instances: Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstancePatchArgs']]]] = None):
773
1202
  """
774
- ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
775
- :param pulumi.Input['ResourceClaimSpecArgs'] spec: Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
776
- :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
1203
+ NamedResourcesResources is used in ResourceModel.
1204
+ :param pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstancePatchArgs']]] instances: The list of all individual resources instances currently available.
777
1205
  """
778
- pulumi.set(__self__, "spec", spec)
779
- if metadata is not None:
780
- pulumi.set(__self__, "metadata", metadata)
1206
+ if instances is not None:
1207
+ pulumi.set(__self__, "instances", instances)
781
1208
 
782
1209
  @property
783
1210
  @pulumi.getter
784
- def spec(self) -> pulumi.Input['ResourceClaimSpecArgs']:
1211
+ def instances(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstancePatchArgs']]]]:
785
1212
  """
786
- Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
1213
+ The list of all individual resources instances currently available.
787
1214
  """
788
- return pulumi.get(self, "spec")
1215
+ return pulumi.get(self, "instances")
789
1216
 
790
- @spec.setter
791
- def spec(self, value: pulumi.Input['ResourceClaimSpecArgs']):
792
- pulumi.set(self, "spec", value)
1217
+ @instances.setter
1218
+ def instances(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstancePatchArgs']]]]):
1219
+ pulumi.set(self, "instances", value)
1220
+
1221
+
1222
+ if not MYPY:
1223
+ class NamedResourcesResourcesArgsDict(TypedDict):
1224
+ """
1225
+ NamedResourcesResources is used in ResourceModel.
1226
+ """
1227
+ instances: pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstanceArgsDict']]]
1228
+ """
1229
+ The list of all individual resources instances currently available.
1230
+ """
1231
+ elif False:
1232
+ NamedResourcesResourcesArgsDict: TypeAlias = Mapping[str, Any]
1233
+
1234
+ @pulumi.input_type
1235
+ class NamedResourcesResourcesArgs:
1236
+ def __init__(__self__, *,
1237
+ instances: pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstanceArgs']]]):
1238
+ """
1239
+ NamedResourcesResources is used in ResourceModel.
1240
+ :param pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstanceArgs']]] instances: The list of all individual resources instances currently available.
1241
+ """
1242
+ pulumi.set(__self__, "instances", instances)
793
1243
 
794
1244
  @property
795
1245
  @pulumi.getter
796
- def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
1246
+ def instances(self) -> pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstanceArgs']]]:
1247
+ """
1248
+ The list of all individual resources instances currently available.
1249
+ """
1250
+ return pulumi.get(self, "instances")
1251
+
1252
+ @instances.setter
1253
+ def instances(self, value: pulumi.Input[Sequence[pulumi.Input['NamedResourcesInstanceArgs']]]):
1254
+ pulumi.set(self, "instances", value)
1255
+
1256
+
1257
+ if not MYPY:
1258
+ class NamedResourcesStringSlicePatchArgsDict(TypedDict):
1259
+ """
1260
+ NamedResourcesStringSlice contains a slice of strings.
1261
+ """
1262
+ strings: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1263
+ """
1264
+ Strings is the slice of strings.
1265
+ """
1266
+ elif False:
1267
+ NamedResourcesStringSlicePatchArgsDict: TypeAlias = Mapping[str, Any]
1268
+
1269
+ @pulumi.input_type
1270
+ class NamedResourcesStringSlicePatchArgs:
1271
+ def __init__(__self__, *,
1272
+ strings: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
1273
+ """
1274
+ NamedResourcesStringSlice contains a slice of strings.
1275
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] strings: Strings is the slice of strings.
1276
+ """
1277
+ if strings is not None:
1278
+ pulumi.set(__self__, "strings", strings)
1279
+
1280
+ @property
1281
+ @pulumi.getter
1282
+ def strings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1283
+ """
1284
+ Strings is the slice of strings.
1285
+ """
1286
+ return pulumi.get(self, "strings")
1287
+
1288
+ @strings.setter
1289
+ def strings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1290
+ pulumi.set(self, "strings", value)
1291
+
1292
+
1293
+ if not MYPY:
1294
+ class NamedResourcesStringSliceArgsDict(TypedDict):
1295
+ """
1296
+ NamedResourcesStringSlice contains a slice of strings.
1297
+ """
1298
+ strings: pulumi.Input[Sequence[pulumi.Input[str]]]
1299
+ """
1300
+ Strings is the slice of strings.
1301
+ """
1302
+ elif False:
1303
+ NamedResourcesStringSliceArgsDict: TypeAlias = Mapping[str, Any]
1304
+
1305
+ @pulumi.input_type
1306
+ class NamedResourcesStringSliceArgs:
1307
+ def __init__(__self__, *,
1308
+ strings: pulumi.Input[Sequence[pulumi.Input[str]]]):
1309
+ """
1310
+ NamedResourcesStringSlice contains a slice of strings.
1311
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] strings: Strings is the slice of strings.
1312
+ """
1313
+ pulumi.set(__self__, "strings", strings)
1314
+
1315
+ @property
1316
+ @pulumi.getter
1317
+ def strings(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
1318
+ """
1319
+ Strings is the slice of strings.
1320
+ """
1321
+ return pulumi.get(self, "strings")
1322
+
1323
+ @strings.setter
1324
+ def strings(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
1325
+ pulumi.set(self, "strings", value)
1326
+
1327
+
1328
+ if not MYPY:
1329
+ class PodSchedulingContextSpecPatchArgsDict(TypedDict):
1330
+ """
1331
+ PodSchedulingContextSpec describes where resources for the Pod are needed.
1332
+ """
1333
+ potential_nodes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1334
+ """
1335
+ PotentialNodes lists nodes where the Pod might be able to run.
1336
+
1337
+ The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
1338
+ """
1339
+ selected_node: NotRequired[pulumi.Input[str]]
1340
+ """
1341
+ SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
1342
+ """
1343
+ elif False:
1344
+ PodSchedulingContextSpecPatchArgsDict: TypeAlias = Mapping[str, Any]
1345
+
1346
+ @pulumi.input_type
1347
+ class PodSchedulingContextSpecPatchArgs:
1348
+ def __init__(__self__, *,
1349
+ potential_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1350
+ selected_node: Optional[pulumi.Input[str]] = None):
1351
+ """
1352
+ PodSchedulingContextSpec describes where resources for the Pod are needed.
1353
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
1354
+
1355
+ The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
1356
+ :param pulumi.Input[str] selected_node: SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
1357
+ """
1358
+ if potential_nodes is not None:
1359
+ pulumi.set(__self__, "potential_nodes", potential_nodes)
1360
+ if selected_node is not None:
1361
+ pulumi.set(__self__, "selected_node", selected_node)
1362
+
1363
+ @property
1364
+ @pulumi.getter(name="potentialNodes")
1365
+ def potential_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1366
+ """
1367
+ PotentialNodes lists nodes where the Pod might be able to run.
1368
+
1369
+ The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
1370
+ """
1371
+ return pulumi.get(self, "potential_nodes")
1372
+
1373
+ @potential_nodes.setter
1374
+ def potential_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1375
+ pulumi.set(self, "potential_nodes", value)
1376
+
1377
+ @property
1378
+ @pulumi.getter(name="selectedNode")
1379
+ def selected_node(self) -> Optional[pulumi.Input[str]]:
1380
+ """
1381
+ SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
1382
+ """
1383
+ return pulumi.get(self, "selected_node")
1384
+
1385
+ @selected_node.setter
1386
+ def selected_node(self, value: Optional[pulumi.Input[str]]):
1387
+ pulumi.set(self, "selected_node", value)
1388
+
1389
+
1390
+ if not MYPY:
1391
+ class PodSchedulingContextSpecArgsDict(TypedDict):
1392
+ """
1393
+ PodSchedulingContextSpec describes where resources for the Pod are needed.
1394
+ """
1395
+ potential_nodes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1396
+ """
1397
+ PotentialNodes lists nodes where the Pod might be able to run.
1398
+
1399
+ The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
1400
+ """
1401
+ selected_node: NotRequired[pulumi.Input[str]]
1402
+ """
1403
+ SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
1404
+ """
1405
+ elif False:
1406
+ PodSchedulingContextSpecArgsDict: TypeAlias = Mapping[str, Any]
1407
+
1408
+ @pulumi.input_type
1409
+ class PodSchedulingContextSpecArgs:
1410
+ def __init__(__self__, *,
1411
+ potential_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1412
+ selected_node: Optional[pulumi.Input[str]] = None):
1413
+ """
1414
+ PodSchedulingContextSpec describes where resources for the Pod are needed.
1415
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
1416
+
1417
+ The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
1418
+ :param pulumi.Input[str] selected_node: SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
1419
+ """
1420
+ if potential_nodes is not None:
1421
+ pulumi.set(__self__, "potential_nodes", potential_nodes)
1422
+ if selected_node is not None:
1423
+ pulumi.set(__self__, "selected_node", selected_node)
1424
+
1425
+ @property
1426
+ @pulumi.getter(name="potentialNodes")
1427
+ def potential_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
1428
+ """
1429
+ PotentialNodes lists nodes where the Pod might be able to run.
1430
+
1431
+ The size of this field is limited to 128. This is large enough for many clusters. Larger clusters may need more attempts to find a node that suits all pending resources. This may get increased in the future, but not reduced.
1432
+ """
1433
+ return pulumi.get(self, "potential_nodes")
1434
+
1435
+ @potential_nodes.setter
1436
+ def potential_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
1437
+ pulumi.set(self, "potential_nodes", value)
1438
+
1439
+ @property
1440
+ @pulumi.getter(name="selectedNode")
1441
+ def selected_node(self) -> Optional[pulumi.Input[str]]:
1442
+ """
1443
+ SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
1444
+ """
1445
+ return pulumi.get(self, "selected_node")
1446
+
1447
+ @selected_node.setter
1448
+ def selected_node(self, value: Optional[pulumi.Input[str]]):
1449
+ pulumi.set(self, "selected_node", value)
1450
+
1451
+
1452
+ if not MYPY:
1453
+ class PodSchedulingContextStatusArgsDict(TypedDict):
1454
+ """
1455
+ PodSchedulingContextStatus describes where resources for the Pod can be allocated.
1456
+ """
1457
+ resource_claims: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgsDict']]]]
1458
+ """
1459
+ ResourceClaims describes resource availability for each pod.spec.resourceClaim entry where the corresponding ResourceClaim uses "WaitForFirstConsumer" allocation mode.
1460
+ """
1461
+ elif False:
1462
+ PodSchedulingContextStatusArgsDict: TypeAlias = Mapping[str, Any]
1463
+
1464
+ @pulumi.input_type
1465
+ class PodSchedulingContextStatusArgs:
1466
+ def __init__(__self__, *,
1467
+ resource_claims: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]]] = None):
1468
+ """
1469
+ PodSchedulingContextStatus describes where resources for the Pod can be allocated.
1470
+ :param pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]] resource_claims: ResourceClaims describes resource availability for each pod.spec.resourceClaim entry where the corresponding ResourceClaim uses "WaitForFirstConsumer" allocation mode.
1471
+ """
1472
+ if resource_claims is not None:
1473
+ pulumi.set(__self__, "resource_claims", resource_claims)
1474
+
1475
+ @property
1476
+ @pulumi.getter(name="resourceClaims")
1477
+ def resource_claims(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]]]:
1478
+ """
1479
+ ResourceClaims describes resource availability for each pod.spec.resourceClaim entry where the corresponding ResourceClaim uses "WaitForFirstConsumer" allocation mode.
1480
+ """
1481
+ return pulumi.get(self, "resource_claims")
1482
+
1483
+ @resource_claims.setter
1484
+ def resource_claims(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimSchedulingStatusArgs']]]]):
1485
+ pulumi.set(self, "resource_claims", value)
1486
+
1487
+
1488
+ if not MYPY:
1489
+ class PodSchedulingContextArgsDict(TypedDict):
1490
+ """
1491
+ PodSchedulingContext objects hold information that is needed to schedule a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation mode.
1492
+
1493
+ This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
1494
+ """
1495
+ spec: pulumi.Input['PodSchedulingContextSpecArgsDict']
1496
+ """
1497
+ Spec describes where resources for the Pod are needed.
1498
+ """
1499
+ api_version: NotRequired[pulumi.Input[str]]
1500
+ """
1501
+ 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
1502
+ """
1503
+ kind: NotRequired[pulumi.Input[str]]
1504
+ """
1505
+ 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
1506
+ """
1507
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
1508
+ """
1509
+ Standard object metadata
1510
+ """
1511
+ status: NotRequired[pulumi.Input['PodSchedulingContextStatusArgsDict']]
1512
+ """
1513
+ Status describes where resources for the Pod can be allocated.
1514
+ """
1515
+ elif False:
1516
+ PodSchedulingContextArgsDict: TypeAlias = Mapping[str, Any]
1517
+
1518
+ @pulumi.input_type
1519
+ class PodSchedulingContextArgs:
1520
+ def __init__(__self__, *,
1521
+ spec: pulumi.Input['PodSchedulingContextSpecArgs'],
1522
+ api_version: Optional[pulumi.Input[str]] = None,
1523
+ kind: Optional[pulumi.Input[str]] = None,
1524
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
1525
+ status: Optional[pulumi.Input['PodSchedulingContextStatusArgs']] = None):
1526
+ """
1527
+ PodSchedulingContext objects hold information that is needed to schedule a Pod with ResourceClaims that use "WaitForFirstConsumer" allocation mode.
1528
+
1529
+ This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
1530
+ :param pulumi.Input['PodSchedulingContextSpecArgs'] spec: Spec describes where resources for the Pod are needed.
1531
+ :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
1532
+ :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
1533
+ :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
1534
+ :param pulumi.Input['PodSchedulingContextStatusArgs'] status: Status describes where resources for the Pod can be allocated.
1535
+ """
1536
+ pulumi.set(__self__, "spec", spec)
1537
+ if api_version is not None:
1538
+ pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
1539
+ if kind is not None:
1540
+ pulumi.set(__self__, "kind", 'PodSchedulingContext')
1541
+ if metadata is not None:
1542
+ pulumi.set(__self__, "metadata", metadata)
1543
+ if status is not None:
1544
+ pulumi.set(__self__, "status", status)
1545
+
1546
+ @property
1547
+ @pulumi.getter
1548
+ def spec(self) -> pulumi.Input['PodSchedulingContextSpecArgs']:
1549
+ """
1550
+ Spec describes where resources for the Pod are needed.
1551
+ """
1552
+ return pulumi.get(self, "spec")
1553
+
1554
+ @spec.setter
1555
+ def spec(self, value: pulumi.Input['PodSchedulingContextSpecArgs']):
1556
+ pulumi.set(self, "spec", value)
1557
+
1558
+ @property
1559
+ @pulumi.getter(name="apiVersion")
1560
+ def api_version(self) -> Optional[pulumi.Input[str]]:
1561
+ """
1562
+ 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
1563
+ """
1564
+ return pulumi.get(self, "api_version")
1565
+
1566
+ @api_version.setter
1567
+ def api_version(self, value: Optional[pulumi.Input[str]]):
1568
+ pulumi.set(self, "api_version", value)
1569
+
1570
+ @property
1571
+ @pulumi.getter
1572
+ def kind(self) -> Optional[pulumi.Input[str]]:
1573
+ """
1574
+ 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
1575
+ """
1576
+ return pulumi.get(self, "kind")
1577
+
1578
+ @kind.setter
1579
+ def kind(self, value: Optional[pulumi.Input[str]]):
1580
+ pulumi.set(self, "kind", value)
1581
+
1582
+ @property
1583
+ @pulumi.getter
1584
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
1585
+ """
1586
+ Standard object metadata
1587
+ """
1588
+ return pulumi.get(self, "metadata")
1589
+
1590
+ @metadata.setter
1591
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
1592
+ pulumi.set(self, "metadata", value)
1593
+
1594
+ @property
1595
+ @pulumi.getter
1596
+ def status(self) -> Optional[pulumi.Input['PodSchedulingContextStatusArgs']]:
1597
+ """
1598
+ Status describes where resources for the Pod can be allocated.
1599
+ """
1600
+ return pulumi.get(self, "status")
1601
+
1602
+ @status.setter
1603
+ def status(self, value: Optional[pulumi.Input['PodSchedulingContextStatusArgs']]):
1604
+ pulumi.set(self, "status", value)
1605
+
1606
+
1607
+ if not MYPY:
1608
+ class ResourceClaimConsumerReferenceArgsDict(TypedDict):
1609
+ """
1610
+ ResourceClaimConsumerReference contains enough information to let you locate the consumer of a ResourceClaim. The user must be a resource in the same namespace as the ResourceClaim.
1611
+ """
1612
+ name: pulumi.Input[str]
1613
+ """
1614
+ Name is the name of resource being referenced.
1615
+ """
1616
+ resource: pulumi.Input[str]
1617
+ """
1618
+ Resource is the type of resource being referenced, for example "pods".
1619
+ """
1620
+ uid: pulumi.Input[str]
1621
+ """
1622
+ UID identifies exactly one incarnation of the resource.
1623
+ """
1624
+ api_group: NotRequired[pulumi.Input[str]]
1625
+ """
1626
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1627
+ """
1628
+ elif False:
1629
+ ResourceClaimConsumerReferenceArgsDict: TypeAlias = Mapping[str, Any]
1630
+
1631
+ @pulumi.input_type
1632
+ class ResourceClaimConsumerReferenceArgs:
1633
+ def __init__(__self__, *,
1634
+ name: pulumi.Input[str],
1635
+ resource: pulumi.Input[str],
1636
+ uid: pulumi.Input[str],
1637
+ api_group: Optional[pulumi.Input[str]] = None):
1638
+ """
1639
+ ResourceClaimConsumerReference contains enough information to let you locate the consumer of a ResourceClaim. The user must be a resource in the same namespace as the ResourceClaim.
1640
+ :param pulumi.Input[str] name: Name is the name of resource being referenced.
1641
+ :param pulumi.Input[str] resource: Resource is the type of resource being referenced, for example "pods".
1642
+ :param pulumi.Input[str] uid: UID identifies exactly one incarnation of the resource.
1643
+ :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1644
+ """
1645
+ pulumi.set(__self__, "name", name)
1646
+ pulumi.set(__self__, "resource", resource)
1647
+ pulumi.set(__self__, "uid", uid)
1648
+ if api_group is not None:
1649
+ pulumi.set(__self__, "api_group", api_group)
1650
+
1651
+ @property
1652
+ @pulumi.getter
1653
+ def name(self) -> pulumi.Input[str]:
1654
+ """
1655
+ Name is the name of resource being referenced.
1656
+ """
1657
+ return pulumi.get(self, "name")
1658
+
1659
+ @name.setter
1660
+ def name(self, value: pulumi.Input[str]):
1661
+ pulumi.set(self, "name", value)
1662
+
1663
+ @property
1664
+ @pulumi.getter
1665
+ def resource(self) -> pulumi.Input[str]:
1666
+ """
1667
+ Resource is the type of resource being referenced, for example "pods".
1668
+ """
1669
+ return pulumi.get(self, "resource")
1670
+
1671
+ @resource.setter
1672
+ def resource(self, value: pulumi.Input[str]):
1673
+ pulumi.set(self, "resource", value)
1674
+
1675
+ @property
1676
+ @pulumi.getter
1677
+ def uid(self) -> pulumi.Input[str]:
1678
+ """
1679
+ UID identifies exactly one incarnation of the resource.
1680
+ """
1681
+ return pulumi.get(self, "uid")
1682
+
1683
+ @uid.setter
1684
+ def uid(self, value: pulumi.Input[str]):
1685
+ pulumi.set(self, "uid", value)
1686
+
1687
+ @property
1688
+ @pulumi.getter(name="apiGroup")
1689
+ def api_group(self) -> Optional[pulumi.Input[str]]:
1690
+ """
1691
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1692
+ """
1693
+ return pulumi.get(self, "api_group")
1694
+
1695
+ @api_group.setter
1696
+ def api_group(self, value: Optional[pulumi.Input[str]]):
1697
+ pulumi.set(self, "api_group", value)
1698
+
1699
+
1700
+ if not MYPY:
1701
+ class ResourceClaimParametersReferencePatchArgsDict(TypedDict):
1702
+ """
1703
+ ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.
1704
+ """
1705
+ api_group: NotRequired[pulumi.Input[str]]
1706
+ """
1707
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1708
+ """
1709
+ kind: NotRequired[pulumi.Input[str]]
1710
+ """
1711
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
1712
+ """
1713
+ name: NotRequired[pulumi.Input[str]]
1714
+ """
1715
+ Name is the name of resource being referenced.
1716
+ """
1717
+ elif False:
1718
+ ResourceClaimParametersReferencePatchArgsDict: TypeAlias = Mapping[str, Any]
1719
+
1720
+ @pulumi.input_type
1721
+ class ResourceClaimParametersReferencePatchArgs:
1722
+ def __init__(__self__, *,
1723
+ api_group: Optional[pulumi.Input[str]] = None,
1724
+ kind: Optional[pulumi.Input[str]] = None,
1725
+ name: Optional[pulumi.Input[str]] = None):
1726
+ """
1727
+ ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.
1728
+ :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1729
+ :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
1730
+ :param pulumi.Input[str] name: Name is the name of resource being referenced.
1731
+ """
1732
+ if api_group is not None:
1733
+ pulumi.set(__self__, "api_group", api_group)
1734
+ if kind is not None:
1735
+ pulumi.set(__self__, "kind", kind)
1736
+ if name is not None:
1737
+ pulumi.set(__self__, "name", name)
1738
+
1739
+ @property
1740
+ @pulumi.getter(name="apiGroup")
1741
+ def api_group(self) -> Optional[pulumi.Input[str]]:
1742
+ """
1743
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1744
+ """
1745
+ return pulumi.get(self, "api_group")
1746
+
1747
+ @api_group.setter
1748
+ def api_group(self, value: Optional[pulumi.Input[str]]):
1749
+ pulumi.set(self, "api_group", value)
1750
+
1751
+ @property
1752
+ @pulumi.getter
1753
+ def kind(self) -> Optional[pulumi.Input[str]]:
1754
+ """
1755
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
1756
+ """
1757
+ return pulumi.get(self, "kind")
1758
+
1759
+ @kind.setter
1760
+ def kind(self, value: Optional[pulumi.Input[str]]):
1761
+ pulumi.set(self, "kind", value)
1762
+
1763
+ @property
1764
+ @pulumi.getter
1765
+ def name(self) -> Optional[pulumi.Input[str]]:
1766
+ """
1767
+ Name is the name of resource being referenced.
1768
+ """
1769
+ return pulumi.get(self, "name")
1770
+
1771
+ @name.setter
1772
+ def name(self, value: Optional[pulumi.Input[str]]):
1773
+ pulumi.set(self, "name", value)
1774
+
1775
+
1776
+ if not MYPY:
1777
+ class ResourceClaimParametersReferenceArgsDict(TypedDict):
1778
+ """
1779
+ ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.
1780
+ """
1781
+ kind: pulumi.Input[str]
1782
+ """
1783
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
1784
+ """
1785
+ name: pulumi.Input[str]
1786
+ """
1787
+ Name is the name of resource being referenced.
1788
+ """
1789
+ api_group: NotRequired[pulumi.Input[str]]
1790
+ """
1791
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1792
+ """
1793
+ elif False:
1794
+ ResourceClaimParametersReferenceArgsDict: TypeAlias = Mapping[str, Any]
1795
+
1796
+ @pulumi.input_type
1797
+ class ResourceClaimParametersReferenceArgs:
1798
+ def __init__(__self__, *,
1799
+ kind: pulumi.Input[str],
1800
+ name: pulumi.Input[str],
1801
+ api_group: Optional[pulumi.Input[str]] = None):
1802
+ """
1803
+ ResourceClaimParametersReference contains enough information to let you locate the parameters for a ResourceClaim. The object must be in the same namespace as the ResourceClaim.
1804
+ :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
1805
+ :param pulumi.Input[str] name: Name is the name of resource being referenced.
1806
+ :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1807
+ """
1808
+ pulumi.set(__self__, "kind", kind)
1809
+ pulumi.set(__self__, "name", name)
1810
+ if api_group is not None:
1811
+ pulumi.set(__self__, "api_group", api_group)
1812
+
1813
+ @property
1814
+ @pulumi.getter
1815
+ def kind(self) -> pulumi.Input[str]:
1816
+ """
1817
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata, for example "ConfigMap".
1818
+ """
1819
+ return pulumi.get(self, "kind")
1820
+
1821
+ @kind.setter
1822
+ def kind(self, value: pulumi.Input[str]):
1823
+ pulumi.set(self, "kind", value)
1824
+
1825
+ @property
1826
+ @pulumi.getter
1827
+ def name(self) -> pulumi.Input[str]:
1828
+ """
1829
+ Name is the name of resource being referenced.
1830
+ """
1831
+ return pulumi.get(self, "name")
1832
+
1833
+ @name.setter
1834
+ def name(self, value: pulumi.Input[str]):
1835
+ pulumi.set(self, "name", value)
1836
+
1837
+ @property
1838
+ @pulumi.getter(name="apiGroup")
1839
+ def api_group(self) -> Optional[pulumi.Input[str]]:
1840
+ """
1841
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1842
+ """
1843
+ return pulumi.get(self, "api_group")
1844
+
1845
+ @api_group.setter
1846
+ def api_group(self, value: Optional[pulumi.Input[str]]):
1847
+ pulumi.set(self, "api_group", value)
1848
+
1849
+
1850
+ if not MYPY:
1851
+ class ResourceClaimParametersArgsDict(TypedDict):
1852
+ """
1853
+ ResourceClaimParameters defines resource requests for a ResourceClaim in an in-tree format understood by Kubernetes.
1854
+ """
1855
+ api_version: NotRequired[pulumi.Input[str]]
1856
+ """
1857
+ 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
1858
+ """
1859
+ driver_requests: NotRequired[pulumi.Input[Sequence[pulumi.Input['DriverRequestsArgsDict']]]]
1860
+ """
1861
+ DriverRequests describes all resources that are needed for the allocated claim. A single claim may use resources coming from different drivers. For each driver, this array has at most one entry which then may have one or more per-driver requests.
1862
+
1863
+ May be empty, in which case the claim can always be allocated.
1864
+ """
1865
+ generated_from: NotRequired[pulumi.Input['ResourceClaimParametersReferenceArgsDict']]
1866
+ """
1867
+ If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the claim parameters when the parameter reference of the claim refers to some unknown type.
1868
+ """
1869
+ kind: NotRequired[pulumi.Input[str]]
1870
+ """
1871
+ 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
1872
+ """
1873
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
1874
+ """
1875
+ Standard object metadata
1876
+ """
1877
+ shareable: NotRequired[pulumi.Input[bool]]
1878
+ """
1879
+ Shareable indicates whether the allocated claim is meant to be shareable by multiple consumers at the same time.
1880
+ """
1881
+ elif False:
1882
+ ResourceClaimParametersArgsDict: TypeAlias = Mapping[str, Any]
1883
+
1884
+ @pulumi.input_type
1885
+ class ResourceClaimParametersArgs:
1886
+ def __init__(__self__, *,
1887
+ api_version: Optional[pulumi.Input[str]] = None,
1888
+ driver_requests: Optional[pulumi.Input[Sequence[pulumi.Input['DriverRequestsArgs']]]] = None,
1889
+ generated_from: Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']] = None,
1890
+ kind: Optional[pulumi.Input[str]] = None,
1891
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
1892
+ shareable: Optional[pulumi.Input[bool]] = None):
1893
+ """
1894
+ ResourceClaimParameters defines resource requests for a ResourceClaim in an in-tree format understood by Kubernetes.
1895
+ :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
1896
+ :param pulumi.Input[Sequence[pulumi.Input['DriverRequestsArgs']]] driver_requests: DriverRequests describes all resources that are needed for the allocated claim. A single claim may use resources coming from different drivers. For each driver, this array has at most one entry which then may have one or more per-driver requests.
1897
+
1898
+ May be empty, in which case the claim can always be allocated.
1899
+ :param pulumi.Input['ResourceClaimParametersReferenceArgs'] generated_from: If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the claim parameters when the parameter reference of the claim refers to some unknown type.
1900
+ :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
1901
+ :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
1902
+ :param pulumi.Input[bool] shareable: Shareable indicates whether the allocated claim is meant to be shareable by multiple consumers at the same time.
1903
+ """
1904
+ if api_version is not None:
1905
+ pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
1906
+ if driver_requests is not None:
1907
+ pulumi.set(__self__, "driver_requests", driver_requests)
1908
+ if generated_from is not None:
1909
+ pulumi.set(__self__, "generated_from", generated_from)
1910
+ if kind is not None:
1911
+ pulumi.set(__self__, "kind", 'ResourceClaimParameters')
1912
+ if metadata is not None:
1913
+ pulumi.set(__self__, "metadata", metadata)
1914
+ if shareable is not None:
1915
+ pulumi.set(__self__, "shareable", shareable)
1916
+
1917
+ @property
1918
+ @pulumi.getter(name="apiVersion")
1919
+ def api_version(self) -> Optional[pulumi.Input[str]]:
1920
+ """
1921
+ 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
1922
+ """
1923
+ return pulumi.get(self, "api_version")
1924
+
1925
+ @api_version.setter
1926
+ def api_version(self, value: Optional[pulumi.Input[str]]):
1927
+ pulumi.set(self, "api_version", value)
1928
+
1929
+ @property
1930
+ @pulumi.getter(name="driverRequests")
1931
+ def driver_requests(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['DriverRequestsArgs']]]]:
1932
+ """
1933
+ DriverRequests describes all resources that are needed for the allocated claim. A single claim may use resources coming from different drivers. For each driver, this array has at most one entry which then may have one or more per-driver requests.
1934
+
1935
+ May be empty, in which case the claim can always be allocated.
1936
+ """
1937
+ return pulumi.get(self, "driver_requests")
1938
+
1939
+ @driver_requests.setter
1940
+ def driver_requests(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['DriverRequestsArgs']]]]):
1941
+ pulumi.set(self, "driver_requests", value)
1942
+
1943
+ @property
1944
+ @pulumi.getter(name="generatedFrom")
1945
+ def generated_from(self) -> Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']]:
1946
+ """
1947
+ If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the claim parameters when the parameter reference of the claim refers to some unknown type.
1948
+ """
1949
+ return pulumi.get(self, "generated_from")
1950
+
1951
+ @generated_from.setter
1952
+ def generated_from(self, value: Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']]):
1953
+ pulumi.set(self, "generated_from", value)
1954
+
1955
+ @property
1956
+ @pulumi.getter
1957
+ def kind(self) -> Optional[pulumi.Input[str]]:
1958
+ """
1959
+ 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
1960
+ """
1961
+ return pulumi.get(self, "kind")
1962
+
1963
+ @kind.setter
1964
+ def kind(self, value: Optional[pulumi.Input[str]]):
1965
+ pulumi.set(self, "kind", value)
1966
+
1967
+ @property
1968
+ @pulumi.getter
1969
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
1970
+ """
1971
+ Standard object metadata
1972
+ """
1973
+ return pulumi.get(self, "metadata")
1974
+
1975
+ @metadata.setter
1976
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
1977
+ pulumi.set(self, "metadata", value)
1978
+
1979
+ @property
1980
+ @pulumi.getter
1981
+ def shareable(self) -> Optional[pulumi.Input[bool]]:
1982
+ """
1983
+ Shareable indicates whether the allocated claim is meant to be shareable by multiple consumers at the same time.
1984
+ """
1985
+ return pulumi.get(self, "shareable")
1986
+
1987
+ @shareable.setter
1988
+ def shareable(self, value: Optional[pulumi.Input[bool]]):
1989
+ pulumi.set(self, "shareable", value)
1990
+
1991
+
1992
+ if not MYPY:
1993
+ class ResourceClaimSchedulingStatusArgsDict(TypedDict):
1994
+ """
1995
+ ResourceClaimSchedulingStatus contains information about one particular ResourceClaim with "WaitForFirstConsumer" allocation mode.
1996
+ """
1997
+ name: NotRequired[pulumi.Input[str]]
1998
+ """
1999
+ Name matches the pod.spec.resourceClaims[*].Name field.
2000
+ """
2001
+ unsuitable_nodes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2002
+ """
2003
+ UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
2004
+
2005
+ The size of this field is limited to 128, the same as for PodSchedulingSpec.PotentialNodes. This may get increased in the future, but not reduced.
2006
+ """
2007
+ elif False:
2008
+ ResourceClaimSchedulingStatusArgsDict: TypeAlias = Mapping[str, Any]
2009
+
2010
+ @pulumi.input_type
2011
+ class ResourceClaimSchedulingStatusArgs:
2012
+ def __init__(__self__, *,
2013
+ name: Optional[pulumi.Input[str]] = None,
2014
+ unsuitable_nodes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
2015
+ """
2016
+ ResourceClaimSchedulingStatus contains information about one particular ResourceClaim with "WaitForFirstConsumer" allocation mode.
2017
+ :param pulumi.Input[str] name: Name matches the pod.spec.resourceClaims[*].Name field.
2018
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] unsuitable_nodes: UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
2019
+
2020
+ The size of this field is limited to 128, the same as for PodSchedulingSpec.PotentialNodes. This may get increased in the future, but not reduced.
2021
+ """
2022
+ if name is not None:
2023
+ pulumi.set(__self__, "name", name)
2024
+ if unsuitable_nodes is not None:
2025
+ pulumi.set(__self__, "unsuitable_nodes", unsuitable_nodes)
2026
+
2027
+ @property
2028
+ @pulumi.getter
2029
+ def name(self) -> Optional[pulumi.Input[str]]:
2030
+ """
2031
+ Name matches the pod.spec.resourceClaims[*].Name field.
2032
+ """
2033
+ return pulumi.get(self, "name")
2034
+
2035
+ @name.setter
2036
+ def name(self, value: Optional[pulumi.Input[str]]):
2037
+ pulumi.set(self, "name", value)
2038
+
2039
+ @property
2040
+ @pulumi.getter(name="unsuitableNodes")
2041
+ def unsuitable_nodes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2042
+ """
2043
+ UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
2044
+
2045
+ The size of this field is limited to 128, the same as for PodSchedulingSpec.PotentialNodes. This may get increased in the future, but not reduced.
2046
+ """
2047
+ return pulumi.get(self, "unsuitable_nodes")
2048
+
2049
+ @unsuitable_nodes.setter
2050
+ def unsuitable_nodes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2051
+ pulumi.set(self, "unsuitable_nodes", value)
2052
+
2053
+
2054
+ if not MYPY:
2055
+ class ResourceClaimSpecPatchArgsDict(TypedDict):
2056
+ """
2057
+ ResourceClaimSpec defines how a resource is to be allocated.
2058
+ """
2059
+ allocation_mode: NotRequired[pulumi.Input[str]]
2060
+ """
2061
+ Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
2062
+ """
2063
+ parameters_ref: NotRequired[pulumi.Input['ResourceClaimParametersReferencePatchArgsDict']]
2064
+ """
2065
+ ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
2066
+
2067
+ The object must be in the same namespace as the ResourceClaim.
2068
+ """
2069
+ resource_class_name: NotRequired[pulumi.Input[str]]
2070
+ """
2071
+ ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
2072
+ """
2073
+ elif False:
2074
+ ResourceClaimSpecPatchArgsDict: TypeAlias = Mapping[str, Any]
2075
+
2076
+ @pulumi.input_type
2077
+ class ResourceClaimSpecPatchArgs:
2078
+ def __init__(__self__, *,
2079
+ allocation_mode: Optional[pulumi.Input[str]] = None,
2080
+ parameters_ref: Optional[pulumi.Input['ResourceClaimParametersReferencePatchArgs']] = None,
2081
+ resource_class_name: Optional[pulumi.Input[str]] = None):
2082
+ """
2083
+ ResourceClaimSpec defines how a resource is to be allocated.
2084
+ :param pulumi.Input[str] allocation_mode: Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
2085
+ :param pulumi.Input['ResourceClaimParametersReferencePatchArgs'] parameters_ref: ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
2086
+
2087
+ The object must be in the same namespace as the ResourceClaim.
2088
+ :param pulumi.Input[str] resource_class_name: ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
2089
+ """
2090
+ if allocation_mode is not None:
2091
+ pulumi.set(__self__, "allocation_mode", allocation_mode)
2092
+ if parameters_ref is not None:
2093
+ pulumi.set(__self__, "parameters_ref", parameters_ref)
2094
+ if resource_class_name is not None:
2095
+ pulumi.set(__self__, "resource_class_name", resource_class_name)
2096
+
2097
+ @property
2098
+ @pulumi.getter(name="allocationMode")
2099
+ def allocation_mode(self) -> Optional[pulumi.Input[str]]:
2100
+ """
2101
+ Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
2102
+ """
2103
+ return pulumi.get(self, "allocation_mode")
2104
+
2105
+ @allocation_mode.setter
2106
+ def allocation_mode(self, value: Optional[pulumi.Input[str]]):
2107
+ pulumi.set(self, "allocation_mode", value)
2108
+
2109
+ @property
2110
+ @pulumi.getter(name="parametersRef")
2111
+ def parameters_ref(self) -> Optional[pulumi.Input['ResourceClaimParametersReferencePatchArgs']]:
2112
+ """
2113
+ ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
2114
+
2115
+ The object must be in the same namespace as the ResourceClaim.
2116
+ """
2117
+ return pulumi.get(self, "parameters_ref")
2118
+
2119
+ @parameters_ref.setter
2120
+ def parameters_ref(self, value: Optional[pulumi.Input['ResourceClaimParametersReferencePatchArgs']]):
2121
+ pulumi.set(self, "parameters_ref", value)
2122
+
2123
+ @property
2124
+ @pulumi.getter(name="resourceClassName")
2125
+ def resource_class_name(self) -> Optional[pulumi.Input[str]]:
2126
+ """
2127
+ ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
2128
+ """
2129
+ return pulumi.get(self, "resource_class_name")
2130
+
2131
+ @resource_class_name.setter
2132
+ def resource_class_name(self, value: Optional[pulumi.Input[str]]):
2133
+ pulumi.set(self, "resource_class_name", value)
2134
+
2135
+
2136
+ if not MYPY:
2137
+ class ResourceClaimSpecArgsDict(TypedDict):
2138
+ """
2139
+ ResourceClaimSpec defines how a resource is to be allocated.
2140
+ """
2141
+ resource_class_name: pulumi.Input[str]
2142
+ """
2143
+ ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
2144
+ """
2145
+ allocation_mode: NotRequired[pulumi.Input[str]]
2146
+ """
2147
+ Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
2148
+ """
2149
+ parameters_ref: NotRequired[pulumi.Input['ResourceClaimParametersReferenceArgsDict']]
2150
+ """
2151
+ ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
2152
+
2153
+ The object must be in the same namespace as the ResourceClaim.
2154
+ """
2155
+ elif False:
2156
+ ResourceClaimSpecArgsDict: TypeAlias = Mapping[str, Any]
2157
+
2158
+ @pulumi.input_type
2159
+ class ResourceClaimSpecArgs:
2160
+ def __init__(__self__, *,
2161
+ resource_class_name: pulumi.Input[str],
2162
+ allocation_mode: Optional[pulumi.Input[str]] = None,
2163
+ parameters_ref: Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']] = None):
2164
+ """
2165
+ ResourceClaimSpec defines how a resource is to be allocated.
2166
+ :param pulumi.Input[str] resource_class_name: ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
2167
+ :param pulumi.Input[str] allocation_mode: Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
2168
+ :param pulumi.Input['ResourceClaimParametersReferenceArgs'] parameters_ref: ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
2169
+
2170
+ The object must be in the same namespace as the ResourceClaim.
2171
+ """
2172
+ pulumi.set(__self__, "resource_class_name", resource_class_name)
2173
+ if allocation_mode is not None:
2174
+ pulumi.set(__self__, "allocation_mode", allocation_mode)
2175
+ if parameters_ref is not None:
2176
+ pulumi.set(__self__, "parameters_ref", parameters_ref)
2177
+
2178
+ @property
2179
+ @pulumi.getter(name="resourceClassName")
2180
+ def resource_class_name(self) -> pulumi.Input[str]:
2181
+ """
2182
+ ResourceClassName references the driver and additional parameters via the name of a ResourceClass that was created as part of the driver deployment.
2183
+ """
2184
+ return pulumi.get(self, "resource_class_name")
2185
+
2186
+ @resource_class_name.setter
2187
+ def resource_class_name(self, value: pulumi.Input[str]):
2188
+ pulumi.set(self, "resource_class_name", value)
2189
+
2190
+ @property
2191
+ @pulumi.getter(name="allocationMode")
2192
+ def allocation_mode(self) -> Optional[pulumi.Input[str]]:
2193
+ """
2194
+ Allocation can start immediately or when a Pod wants to use the resource. "WaitForFirstConsumer" is the default.
2195
+ """
2196
+ return pulumi.get(self, "allocation_mode")
2197
+
2198
+ @allocation_mode.setter
2199
+ def allocation_mode(self, value: Optional[pulumi.Input[str]]):
2200
+ pulumi.set(self, "allocation_mode", value)
2201
+
2202
+ @property
2203
+ @pulumi.getter(name="parametersRef")
2204
+ def parameters_ref(self) -> Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']]:
2205
+ """
2206
+ ParametersRef references a separate object with arbitrary parameters that will be used by the driver when allocating a resource for the claim.
2207
+
2208
+ The object must be in the same namespace as the ResourceClaim.
2209
+ """
2210
+ return pulumi.get(self, "parameters_ref")
2211
+
2212
+ @parameters_ref.setter
2213
+ def parameters_ref(self, value: Optional[pulumi.Input['ResourceClaimParametersReferenceArgs']]):
2214
+ pulumi.set(self, "parameters_ref", value)
2215
+
2216
+
2217
+ if not MYPY:
2218
+ class ResourceClaimStatusArgsDict(TypedDict):
2219
+ """
2220
+ ResourceClaimStatus tracks whether the resource has been allocated and what the resulting attributes are.
2221
+ """
2222
+ allocation: NotRequired[pulumi.Input['AllocationResultArgsDict']]
2223
+ """
2224
+ Allocation is set by the resource driver once a resource or set of resources has been allocated successfully. If this is not specified, the resources have not been allocated yet.
2225
+ """
2226
+ deallocation_requested: NotRequired[pulumi.Input[bool]]
2227
+ """
2228
+ DeallocationRequested indicates that a ResourceClaim is to be deallocated.
2229
+
2230
+ The driver then must deallocate this claim and reset the field together with clearing the Allocation field.
2231
+
2232
+ While DeallocationRequested is set, no new consumers may be added to ReservedFor.
2233
+ """
2234
+ driver_name: NotRequired[pulumi.Input[str]]
2235
+ """
2236
+ DriverName is a copy of the driver name from the ResourceClass at the time when allocation started.
2237
+ """
2238
+ reserved_for: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgsDict']]]]
2239
+ """
2240
+ ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started.
2241
+
2242
+ There can be at most 32 such reservations. This may get increased in the future, but not reduced.
2243
+ """
2244
+ elif False:
2245
+ ResourceClaimStatusArgsDict: TypeAlias = Mapping[str, Any]
2246
+
2247
+ @pulumi.input_type
2248
+ class ResourceClaimStatusArgs:
2249
+ def __init__(__self__, *,
2250
+ allocation: Optional[pulumi.Input['AllocationResultArgs']] = None,
2251
+ deallocation_requested: Optional[pulumi.Input[bool]] = None,
2252
+ driver_name: Optional[pulumi.Input[str]] = None,
2253
+ reserved_for: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]]] = None):
2254
+ """
2255
+ ResourceClaimStatus tracks whether the resource has been allocated and what the resulting attributes are.
2256
+ :param pulumi.Input['AllocationResultArgs'] allocation: Allocation is set by the resource driver once a resource or set of resources has been allocated successfully. If this is not specified, the resources have not been allocated yet.
2257
+ :param pulumi.Input[bool] deallocation_requested: DeallocationRequested indicates that a ResourceClaim is to be deallocated.
2258
+
2259
+ The driver then must deallocate this claim and reset the field together with clearing the Allocation field.
2260
+
2261
+ While DeallocationRequested is set, no new consumers may be added to ReservedFor.
2262
+ :param pulumi.Input[str] driver_name: DriverName is a copy of the driver name from the ResourceClass at the time when allocation started.
2263
+ :param pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]] reserved_for: ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started.
2264
+
2265
+ There can be at most 32 such reservations. This may get increased in the future, but not reduced.
2266
+ """
2267
+ if allocation is not None:
2268
+ pulumi.set(__self__, "allocation", allocation)
2269
+ if deallocation_requested is not None:
2270
+ pulumi.set(__self__, "deallocation_requested", deallocation_requested)
2271
+ if driver_name is not None:
2272
+ pulumi.set(__self__, "driver_name", driver_name)
2273
+ if reserved_for is not None:
2274
+ pulumi.set(__self__, "reserved_for", reserved_for)
2275
+
2276
+ @property
2277
+ @pulumi.getter
2278
+ def allocation(self) -> Optional[pulumi.Input['AllocationResultArgs']]:
2279
+ """
2280
+ Allocation is set by the resource driver once a resource or set of resources has been allocated successfully. If this is not specified, the resources have not been allocated yet.
2281
+ """
2282
+ return pulumi.get(self, "allocation")
2283
+
2284
+ @allocation.setter
2285
+ def allocation(self, value: Optional[pulumi.Input['AllocationResultArgs']]):
2286
+ pulumi.set(self, "allocation", value)
2287
+
2288
+ @property
2289
+ @pulumi.getter(name="deallocationRequested")
2290
+ def deallocation_requested(self) -> Optional[pulumi.Input[bool]]:
2291
+ """
2292
+ DeallocationRequested indicates that a ResourceClaim is to be deallocated.
2293
+
2294
+ The driver then must deallocate this claim and reset the field together with clearing the Allocation field.
2295
+
2296
+ While DeallocationRequested is set, no new consumers may be added to ReservedFor.
2297
+ """
2298
+ return pulumi.get(self, "deallocation_requested")
2299
+
2300
+ @deallocation_requested.setter
2301
+ def deallocation_requested(self, value: Optional[pulumi.Input[bool]]):
2302
+ pulumi.set(self, "deallocation_requested", value)
2303
+
2304
+ @property
2305
+ @pulumi.getter(name="driverName")
2306
+ def driver_name(self) -> Optional[pulumi.Input[str]]:
2307
+ """
2308
+ DriverName is a copy of the driver name from the ResourceClass at the time when allocation started.
2309
+ """
2310
+ return pulumi.get(self, "driver_name")
2311
+
2312
+ @driver_name.setter
2313
+ def driver_name(self, value: Optional[pulumi.Input[str]]):
2314
+ pulumi.set(self, "driver_name", value)
2315
+
2316
+ @property
2317
+ @pulumi.getter(name="reservedFor")
2318
+ def reserved_for(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]]]:
2319
+ """
2320
+ ReservedFor indicates which entities are currently allowed to use the claim. A Pod which references a ResourceClaim which is not reserved for that Pod will not be started.
2321
+
2322
+ There can be at most 32 such reservations. This may get increased in the future, but not reduced.
2323
+ """
2324
+ return pulumi.get(self, "reserved_for")
2325
+
2326
+ @reserved_for.setter
2327
+ def reserved_for(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceClaimConsumerReferenceArgs']]]]):
2328
+ pulumi.set(self, "reserved_for", value)
2329
+
2330
+
2331
+ if not MYPY:
2332
+ class ResourceClaimTemplateSpecPatchArgsDict(TypedDict):
2333
+ """
2334
+ ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
2335
+ """
2336
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaPatchArgsDict']]
2337
+ """
2338
+ ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
2339
+ """
2340
+ spec: NotRequired[pulumi.Input['ResourceClaimSpecPatchArgsDict']]
2341
+ """
2342
+ Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
2343
+ """
2344
+ elif False:
2345
+ ResourceClaimTemplateSpecPatchArgsDict: TypeAlias = Mapping[str, Any]
2346
+
2347
+ @pulumi.input_type
2348
+ class ResourceClaimTemplateSpecPatchArgs:
2349
+ def __init__(__self__, *,
2350
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaPatchArgs']] = None,
2351
+ spec: Optional[pulumi.Input['ResourceClaimSpecPatchArgs']] = None):
2352
+ """
2353
+ ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
2354
+ :param pulumi.Input['_meta.v1.ObjectMetaPatchArgs'] metadata: ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
2355
+ :param pulumi.Input['ResourceClaimSpecPatchArgs'] spec: Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
2356
+ """
2357
+ if metadata is not None:
2358
+ pulumi.set(__self__, "metadata", metadata)
2359
+ if spec is not None:
2360
+ pulumi.set(__self__, "spec", spec)
2361
+
2362
+ @property
2363
+ @pulumi.getter
2364
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaPatchArgs']]:
2365
+ """
2366
+ ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
2367
+ """
2368
+ return pulumi.get(self, "metadata")
2369
+
2370
+ @metadata.setter
2371
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaPatchArgs']]):
2372
+ pulumi.set(self, "metadata", value)
2373
+
2374
+ @property
2375
+ @pulumi.getter
2376
+ def spec(self) -> Optional[pulumi.Input['ResourceClaimSpecPatchArgs']]:
2377
+ """
2378
+ Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
2379
+ """
2380
+ return pulumi.get(self, "spec")
2381
+
2382
+ @spec.setter
2383
+ def spec(self, value: Optional[pulumi.Input['ResourceClaimSpecPatchArgs']]):
2384
+ pulumi.set(self, "spec", value)
2385
+
2386
+
2387
+ if not MYPY:
2388
+ class ResourceClaimTemplateSpecArgsDict(TypedDict):
2389
+ """
2390
+ ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
2391
+ """
2392
+ spec: pulumi.Input['ResourceClaimSpecArgsDict']
2393
+ """
2394
+ Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
2395
+ """
2396
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
2397
+ """
2398
+ ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
2399
+ """
2400
+ elif False:
2401
+ ResourceClaimTemplateSpecArgsDict: TypeAlias = Mapping[str, Any]
2402
+
2403
+ @pulumi.input_type
2404
+ class ResourceClaimTemplateSpecArgs:
2405
+ def __init__(__self__, *,
2406
+ spec: pulumi.Input['ResourceClaimSpecArgs'],
2407
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None):
2408
+ """
2409
+ ResourceClaimTemplateSpec contains the metadata and fields for a ResourceClaim.
2410
+ :param pulumi.Input['ResourceClaimSpecArgs'] spec: Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
2411
+ :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
2412
+ """
2413
+ pulumi.set(__self__, "spec", spec)
2414
+ if metadata is not None:
2415
+ pulumi.set(__self__, "metadata", metadata)
2416
+
2417
+ @property
2418
+ @pulumi.getter
2419
+ def spec(self) -> pulumi.Input['ResourceClaimSpecArgs']:
2420
+ """
2421
+ Spec for the ResourceClaim. The entire content is copied unchanged into the ResourceClaim that gets created from this template. The same fields as in a ResourceClaim are also valid here.
2422
+ """
2423
+ return pulumi.get(self, "spec")
2424
+
2425
+ @spec.setter
2426
+ def spec(self, value: pulumi.Input['ResourceClaimSpecArgs']):
2427
+ pulumi.set(self, "spec", value)
2428
+
2429
+ @property
2430
+ @pulumi.getter
2431
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
2432
+ """
2433
+ ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
2434
+ """
2435
+ return pulumi.get(self, "metadata")
2436
+
2437
+ @metadata.setter
2438
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
2439
+ pulumi.set(self, "metadata", value)
2440
+
2441
+
2442
+ if not MYPY:
2443
+ class ResourceClaimTemplateArgsDict(TypedDict):
2444
+ """
2445
+ ResourceClaimTemplate is used to produce ResourceClaim objects.
2446
+ """
2447
+ spec: pulumi.Input['ResourceClaimTemplateSpecArgsDict']
2448
+ """
2449
+ Describes the ResourceClaim that is to be generated.
2450
+
2451
+ This field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore.
2452
+ """
2453
+ api_version: NotRequired[pulumi.Input[str]]
2454
+ """
2455
+ 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
2456
+ """
2457
+ kind: NotRequired[pulumi.Input[str]]
2458
+ """
2459
+ 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
2460
+ """
2461
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
2462
+ """
2463
+ Standard object metadata
2464
+ """
2465
+ elif False:
2466
+ ResourceClaimTemplateArgsDict: TypeAlias = Mapping[str, Any]
2467
+
2468
+ @pulumi.input_type
2469
+ class ResourceClaimTemplateArgs:
2470
+ def __init__(__self__, *,
2471
+ spec: pulumi.Input['ResourceClaimTemplateSpecArgs'],
2472
+ api_version: Optional[pulumi.Input[str]] = None,
2473
+ kind: Optional[pulumi.Input[str]] = None,
2474
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None):
2475
+ """
2476
+ ResourceClaimTemplate is used to produce ResourceClaim objects.
2477
+ :param pulumi.Input['ResourceClaimTemplateSpecArgs'] spec: Describes the ResourceClaim that is to be generated.
2478
+
2479
+ This field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore.
2480
+ :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
2481
+ :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
2482
+ :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
2483
+ """
2484
+ pulumi.set(__self__, "spec", spec)
2485
+ if api_version is not None:
2486
+ pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
2487
+ if kind is not None:
2488
+ pulumi.set(__self__, "kind", 'ResourceClaimTemplate')
2489
+ if metadata is not None:
2490
+ pulumi.set(__self__, "metadata", metadata)
2491
+
2492
+ @property
2493
+ @pulumi.getter
2494
+ def spec(self) -> pulumi.Input['ResourceClaimTemplateSpecArgs']:
2495
+ """
2496
+ Describes the ResourceClaim that is to be generated.
2497
+
2498
+ This field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore.
2499
+ """
2500
+ return pulumi.get(self, "spec")
2501
+
2502
+ @spec.setter
2503
+ def spec(self, value: pulumi.Input['ResourceClaimTemplateSpecArgs']):
2504
+ pulumi.set(self, "spec", value)
2505
+
2506
+ @property
2507
+ @pulumi.getter(name="apiVersion")
2508
+ def api_version(self) -> Optional[pulumi.Input[str]]:
2509
+ """
2510
+ 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
2511
+ """
2512
+ return pulumi.get(self, "api_version")
2513
+
2514
+ @api_version.setter
2515
+ def api_version(self, value: Optional[pulumi.Input[str]]):
2516
+ pulumi.set(self, "api_version", value)
2517
+
2518
+ @property
2519
+ @pulumi.getter
2520
+ def kind(self) -> Optional[pulumi.Input[str]]:
2521
+ """
2522
+ 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
2523
+ """
2524
+ return pulumi.get(self, "kind")
2525
+
2526
+ @kind.setter
2527
+ def kind(self, value: Optional[pulumi.Input[str]]):
2528
+ pulumi.set(self, "kind", value)
2529
+
2530
+ @property
2531
+ @pulumi.getter
2532
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
2533
+ """
2534
+ Standard object metadata
2535
+ """
2536
+ return pulumi.get(self, "metadata")
2537
+
2538
+ @metadata.setter
2539
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
2540
+ pulumi.set(self, "metadata", value)
2541
+
2542
+
2543
+ if not MYPY:
2544
+ class ResourceClaimArgsDict(TypedDict):
2545
+ """
2546
+ ResourceClaim describes which resources are needed by a resource consumer. Its status tracks whether the resource has been allocated and what the resulting attributes are.
2547
+
2548
+ This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
2549
+ """
2550
+ spec: pulumi.Input['ResourceClaimSpecArgsDict']
2551
+ """
2552
+ Spec describes the desired attributes of a resource that then needs to be allocated. It can only be set once when creating the ResourceClaim.
2553
+ """
2554
+ api_version: NotRequired[pulumi.Input[str]]
2555
+ """
2556
+ 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
2557
+ """
2558
+ kind: NotRequired[pulumi.Input[str]]
2559
+ """
2560
+ 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
2561
+ """
2562
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
2563
+ """
2564
+ Standard object metadata
2565
+ """
2566
+ status: NotRequired[pulumi.Input['ResourceClaimStatusArgsDict']]
2567
+ """
2568
+ Status describes whether the resource is available and with which attributes.
2569
+ """
2570
+ elif False:
2571
+ ResourceClaimArgsDict: TypeAlias = Mapping[str, Any]
2572
+
2573
+ @pulumi.input_type
2574
+ class ResourceClaimArgs:
2575
+ def __init__(__self__, *,
2576
+ spec: pulumi.Input['ResourceClaimSpecArgs'],
2577
+ api_version: Optional[pulumi.Input[str]] = None,
2578
+ kind: Optional[pulumi.Input[str]] = None,
2579
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
2580
+ status: Optional[pulumi.Input['ResourceClaimStatusArgs']] = None):
2581
+ """
2582
+ ResourceClaim describes which resources are needed by a resource consumer. Its status tracks whether the resource has been allocated and what the resulting attributes are.
2583
+
2584
+ This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
2585
+ :param pulumi.Input['ResourceClaimSpecArgs'] spec: Spec describes the desired attributes of a resource that then needs to be allocated. It can only be set once when creating the ResourceClaim.
2586
+ :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
2587
+ :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
2588
+ :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
2589
+ :param pulumi.Input['ResourceClaimStatusArgs'] status: Status describes whether the resource is available and with which attributes.
2590
+ """
2591
+ pulumi.set(__self__, "spec", spec)
2592
+ if api_version is not None:
2593
+ pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
2594
+ if kind is not None:
2595
+ pulumi.set(__self__, "kind", 'ResourceClaim')
2596
+ if metadata is not None:
2597
+ pulumi.set(__self__, "metadata", metadata)
2598
+ if status is not None:
2599
+ pulumi.set(__self__, "status", status)
2600
+
2601
+ @property
2602
+ @pulumi.getter
2603
+ def spec(self) -> pulumi.Input['ResourceClaimSpecArgs']:
2604
+ """
2605
+ Spec describes the desired attributes of a resource that then needs to be allocated. It can only be set once when creating the ResourceClaim.
2606
+ """
2607
+ return pulumi.get(self, "spec")
2608
+
2609
+ @spec.setter
2610
+ def spec(self, value: pulumi.Input['ResourceClaimSpecArgs']):
2611
+ pulumi.set(self, "spec", value)
2612
+
2613
+ @property
2614
+ @pulumi.getter(name="apiVersion")
2615
+ def api_version(self) -> Optional[pulumi.Input[str]]:
2616
+ """
2617
+ 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
2618
+ """
2619
+ return pulumi.get(self, "api_version")
2620
+
2621
+ @api_version.setter
2622
+ def api_version(self, value: Optional[pulumi.Input[str]]):
2623
+ pulumi.set(self, "api_version", value)
2624
+
2625
+ @property
2626
+ @pulumi.getter
2627
+ def kind(self) -> Optional[pulumi.Input[str]]:
2628
+ """
2629
+ 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
2630
+ """
2631
+ return pulumi.get(self, "kind")
2632
+
2633
+ @kind.setter
2634
+ def kind(self, value: Optional[pulumi.Input[str]]):
2635
+ pulumi.set(self, "kind", value)
2636
+
2637
+ @property
2638
+ @pulumi.getter
2639
+ def metadata(self) -> Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]:
2640
+ """
2641
+ Standard object metadata
2642
+ """
2643
+ return pulumi.get(self, "metadata")
2644
+
2645
+ @metadata.setter
2646
+ def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
2647
+ pulumi.set(self, "metadata", value)
2648
+
2649
+ @property
2650
+ @pulumi.getter
2651
+ def status(self) -> Optional[pulumi.Input['ResourceClaimStatusArgs']]:
2652
+ """
2653
+ Status describes whether the resource is available and with which attributes.
2654
+ """
2655
+ return pulumi.get(self, "status")
2656
+
2657
+ @status.setter
2658
+ def status(self, value: Optional[pulumi.Input['ResourceClaimStatusArgs']]):
2659
+ pulumi.set(self, "status", value)
2660
+
2661
+
2662
+ if not MYPY:
2663
+ class ResourceClassParametersReferencePatchArgsDict(TypedDict):
2664
+ """
2665
+ ResourceClassParametersReference contains enough information to let you locate the parameters for a ResourceClass.
2666
+ """
2667
+ api_group: NotRequired[pulumi.Input[str]]
2668
+ """
2669
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
2670
+ """
2671
+ kind: NotRequired[pulumi.Input[str]]
2672
+ """
2673
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
2674
+ """
2675
+ name: NotRequired[pulumi.Input[str]]
2676
+ """
2677
+ Name is the name of resource being referenced.
2678
+ """
2679
+ namespace: NotRequired[pulumi.Input[str]]
2680
+ """
2681
+ Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
2682
+ """
2683
+ elif False:
2684
+ ResourceClassParametersReferencePatchArgsDict: TypeAlias = Mapping[str, Any]
2685
+
2686
+ @pulumi.input_type
2687
+ class ResourceClassParametersReferencePatchArgs:
2688
+ def __init__(__self__, *,
2689
+ api_group: Optional[pulumi.Input[str]] = None,
2690
+ kind: Optional[pulumi.Input[str]] = None,
2691
+ name: Optional[pulumi.Input[str]] = None,
2692
+ namespace: Optional[pulumi.Input[str]] = None):
2693
+ """
2694
+ ResourceClassParametersReference contains enough information to let you locate the parameters for a ResourceClass.
2695
+ :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
2696
+ :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
2697
+ :param pulumi.Input[str] name: Name is the name of resource being referenced.
2698
+ :param pulumi.Input[str] namespace: Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
2699
+ """
2700
+ if api_group is not None:
2701
+ pulumi.set(__self__, "api_group", api_group)
2702
+ if kind is not None:
2703
+ pulumi.set(__self__, "kind", kind)
2704
+ if name is not None:
2705
+ pulumi.set(__self__, "name", name)
2706
+ if namespace is not None:
2707
+ pulumi.set(__self__, "namespace", namespace)
2708
+
2709
+ @property
2710
+ @pulumi.getter(name="apiGroup")
2711
+ def api_group(self) -> Optional[pulumi.Input[str]]:
2712
+ """
2713
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
2714
+ """
2715
+ return pulumi.get(self, "api_group")
2716
+
2717
+ @api_group.setter
2718
+ def api_group(self, value: Optional[pulumi.Input[str]]):
2719
+ pulumi.set(self, "api_group", value)
2720
+
2721
+ @property
2722
+ @pulumi.getter
2723
+ def kind(self) -> Optional[pulumi.Input[str]]:
2724
+ """
2725
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
2726
+ """
2727
+ return pulumi.get(self, "kind")
2728
+
2729
+ @kind.setter
2730
+ def kind(self, value: Optional[pulumi.Input[str]]):
2731
+ pulumi.set(self, "kind", value)
2732
+
2733
+ @property
2734
+ @pulumi.getter
2735
+ def name(self) -> Optional[pulumi.Input[str]]:
2736
+ """
2737
+ Name is the name of resource being referenced.
2738
+ """
2739
+ return pulumi.get(self, "name")
2740
+
2741
+ @name.setter
2742
+ def name(self, value: Optional[pulumi.Input[str]]):
2743
+ pulumi.set(self, "name", value)
2744
+
2745
+ @property
2746
+ @pulumi.getter
2747
+ def namespace(self) -> Optional[pulumi.Input[str]]:
2748
+ """
2749
+ Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
2750
+ """
2751
+ return pulumi.get(self, "namespace")
2752
+
2753
+ @namespace.setter
2754
+ def namespace(self, value: Optional[pulumi.Input[str]]):
2755
+ pulumi.set(self, "namespace", value)
2756
+
2757
+
2758
+ if not MYPY:
2759
+ class ResourceClassParametersReferenceArgsDict(TypedDict):
2760
+ """
2761
+ ResourceClassParametersReference contains enough information to let you locate the parameters for a ResourceClass.
2762
+ """
2763
+ kind: pulumi.Input[str]
2764
+ """
2765
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
2766
+ """
2767
+ name: pulumi.Input[str]
2768
+ """
2769
+ Name is the name of resource being referenced.
2770
+ """
2771
+ api_group: NotRequired[pulumi.Input[str]]
2772
+ """
2773
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
2774
+ """
2775
+ namespace: NotRequired[pulumi.Input[str]]
2776
+ """
2777
+ Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
2778
+ """
2779
+ elif False:
2780
+ ResourceClassParametersReferenceArgsDict: TypeAlias = Mapping[str, Any]
2781
+
2782
+ @pulumi.input_type
2783
+ class ResourceClassParametersReferenceArgs:
2784
+ def __init__(__self__, *,
2785
+ kind: pulumi.Input[str],
2786
+ name: pulumi.Input[str],
2787
+ api_group: Optional[pulumi.Input[str]] = None,
2788
+ namespace: Optional[pulumi.Input[str]] = None):
2789
+ """
2790
+ ResourceClassParametersReference contains enough information to let you locate the parameters for a ResourceClass.
2791
+ :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
2792
+ :param pulumi.Input[str] name: Name is the name of resource being referenced.
2793
+ :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
2794
+ :param pulumi.Input[str] namespace: Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
2795
+ """
2796
+ pulumi.set(__self__, "kind", kind)
2797
+ pulumi.set(__self__, "name", name)
2798
+ if api_group is not None:
2799
+ pulumi.set(__self__, "api_group", api_group)
2800
+ if namespace is not None:
2801
+ pulumi.set(__self__, "namespace", namespace)
2802
+
2803
+ @property
2804
+ @pulumi.getter
2805
+ def kind(self) -> pulumi.Input[str]:
2806
+ """
2807
+ Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
2808
+ """
2809
+ return pulumi.get(self, "kind")
2810
+
2811
+ @kind.setter
2812
+ def kind(self, value: pulumi.Input[str]):
2813
+ pulumi.set(self, "kind", value)
2814
+
2815
+ @property
2816
+ @pulumi.getter
2817
+ def name(self) -> pulumi.Input[str]:
2818
+ """
2819
+ Name is the name of resource being referenced.
2820
+ """
2821
+ return pulumi.get(self, "name")
2822
+
2823
+ @name.setter
2824
+ def name(self, value: pulumi.Input[str]):
2825
+ pulumi.set(self, "name", value)
2826
+
2827
+ @property
2828
+ @pulumi.getter(name="apiGroup")
2829
+ def api_group(self) -> Optional[pulumi.Input[str]]:
2830
+ """
2831
+ APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
2832
+ """
2833
+ return pulumi.get(self, "api_group")
2834
+
2835
+ @api_group.setter
2836
+ def api_group(self, value: Optional[pulumi.Input[str]]):
2837
+ pulumi.set(self, "api_group", value)
2838
+
2839
+ @property
2840
+ @pulumi.getter
2841
+ def namespace(self) -> Optional[pulumi.Input[str]]:
2842
+ """
2843
+ Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
2844
+ """
2845
+ return pulumi.get(self, "namespace")
2846
+
2847
+ @namespace.setter
2848
+ def namespace(self, value: Optional[pulumi.Input[str]]):
2849
+ pulumi.set(self, "namespace", value)
2850
+
2851
+
2852
+ if not MYPY:
2853
+ class ResourceClassParametersArgsDict(TypedDict):
2854
+ """
2855
+ ResourceClassParameters defines resource requests for a ResourceClass in an in-tree format understood by Kubernetes.
2856
+ """
2857
+ api_version: NotRequired[pulumi.Input[str]]
2858
+ """
2859
+ 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
2860
+ """
2861
+ filters: NotRequired[pulumi.Input[Sequence[pulumi.Input['ResourceFilterArgsDict']]]]
2862
+ """
2863
+ Filters describes additional contraints that must be met when using the class.
2864
+ """
2865
+ generated_from: NotRequired[pulumi.Input['ResourceClassParametersReferenceArgsDict']]
2866
+ """
2867
+ If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the class parameters when the parameter reference of the class refers to some unknown type.
2868
+ """
2869
+ kind: NotRequired[pulumi.Input[str]]
2870
+ """
2871
+ 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
2872
+ """
2873
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
2874
+ """
2875
+ Standard object metadata
2876
+ """
2877
+ vendor_parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['VendorParametersArgsDict']]]]
797
2878
  """
798
- ObjectMeta may contain labels and annotations that will be copied into the PVC when creating it. No other fields are allowed and will be rejected during validation.
2879
+ VendorParameters are arbitrary setup parameters for all claims using this class. They are ignored while allocating the claim. There must not be more than one entry per driver.
799
2880
  """
800
- return pulumi.get(self, "metadata")
801
-
802
- @metadata.setter
803
- def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
804
- pulumi.set(self, "metadata", value)
805
-
2881
+ elif False:
2882
+ ResourceClassParametersArgsDict: TypeAlias = Mapping[str, Any]
806
2883
 
807
2884
  @pulumi.input_type
808
- class ResourceClaimTemplateArgs:
2885
+ class ResourceClassParametersArgs:
809
2886
  def __init__(__self__, *,
810
- spec: pulumi.Input['ResourceClaimTemplateSpecArgs'],
811
2887
  api_version: Optional[pulumi.Input[str]] = None,
2888
+ filters: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceFilterArgs']]]] = None,
2889
+ generated_from: Optional[pulumi.Input['ResourceClassParametersReferenceArgs']] = None,
812
2890
  kind: Optional[pulumi.Input[str]] = None,
813
- metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None):
2891
+ metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
2892
+ vendor_parameters: Optional[pulumi.Input[Sequence[pulumi.Input['VendorParametersArgs']]]] = None):
814
2893
  """
815
- ResourceClaimTemplate is used to produce ResourceClaim objects.
816
- :param pulumi.Input['ResourceClaimTemplateSpecArgs'] spec: Describes the ResourceClaim that is to be generated.
817
-
818
- This field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore.
2894
+ ResourceClassParameters defines resource requests for a ResourceClass in an in-tree format understood by Kubernetes.
819
2895
  :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
2896
+ :param pulumi.Input[Sequence[pulumi.Input['ResourceFilterArgs']]] filters: Filters describes additional contraints that must be met when using the class.
2897
+ :param pulumi.Input['ResourceClassParametersReferenceArgs'] generated_from: If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the class parameters when the parameter reference of the class refers to some unknown type.
820
2898
  :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
821
2899
  :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
2900
+ :param pulumi.Input[Sequence[pulumi.Input['VendorParametersArgs']]] vendor_parameters: VendorParameters are arbitrary setup parameters for all claims using this class. They are ignored while allocating the claim. There must not be more than one entry per driver.
822
2901
  """
823
- pulumi.set(__self__, "spec", spec)
824
2902
  if api_version is not None:
825
2903
  pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
2904
+ if filters is not None:
2905
+ pulumi.set(__self__, "filters", filters)
2906
+ if generated_from is not None:
2907
+ pulumi.set(__self__, "generated_from", generated_from)
826
2908
  if kind is not None:
827
- pulumi.set(__self__, "kind", 'ResourceClaimTemplate')
2909
+ pulumi.set(__self__, "kind", 'ResourceClassParameters')
828
2910
  if metadata is not None:
829
2911
  pulumi.set(__self__, "metadata", metadata)
830
-
831
- @property
832
- @pulumi.getter
833
- def spec(self) -> pulumi.Input['ResourceClaimTemplateSpecArgs']:
834
- """
835
- Describes the ResourceClaim that is to be generated.
836
-
837
- This field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore.
838
- """
839
- return pulumi.get(self, "spec")
840
-
841
- @spec.setter
842
- def spec(self, value: pulumi.Input['ResourceClaimTemplateSpecArgs']):
843
- pulumi.set(self, "spec", value)
2912
+ if vendor_parameters is not None:
2913
+ pulumi.set(__self__, "vendor_parameters", vendor_parameters)
844
2914
 
845
2915
  @property
846
2916
  @pulumi.getter(name="apiVersion")
@@ -854,6 +2924,30 @@ class ResourceClaimTemplateArgs:
854
2924
  def api_version(self, value: Optional[pulumi.Input[str]]):
855
2925
  pulumi.set(self, "api_version", value)
856
2926
 
2927
+ @property
2928
+ @pulumi.getter
2929
+ def filters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ResourceFilterArgs']]]]:
2930
+ """
2931
+ Filters describes additional contraints that must be met when using the class.
2932
+ """
2933
+ return pulumi.get(self, "filters")
2934
+
2935
+ @filters.setter
2936
+ def filters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ResourceFilterArgs']]]]):
2937
+ pulumi.set(self, "filters", value)
2938
+
2939
+ @property
2940
+ @pulumi.getter(name="generatedFrom")
2941
+ def generated_from(self) -> Optional[pulumi.Input['ResourceClassParametersReferenceArgs']]:
2942
+ """
2943
+ If this object was created from some other resource, then this links back to that resource. This field is used to find the in-tree representation of the class parameters when the parameter reference of the class refers to some unknown type.
2944
+ """
2945
+ return pulumi.get(self, "generated_from")
2946
+
2947
+ @generated_from.setter
2948
+ def generated_from(self, value: Optional[pulumi.Input['ResourceClassParametersReferenceArgs']]):
2949
+ pulumi.set(self, "generated_from", value)
2950
+
857
2951
  @property
858
2952
  @pulumi.getter
859
2953
  def kind(self) -> Optional[pulumi.Input[str]]:
@@ -878,46 +2972,114 @@ class ResourceClaimTemplateArgs:
878
2972
  def metadata(self, value: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']]):
879
2973
  pulumi.set(self, "metadata", value)
880
2974
 
2975
+ @property
2976
+ @pulumi.getter(name="vendorParameters")
2977
+ def vendor_parameters(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['VendorParametersArgs']]]]:
2978
+ """
2979
+ VendorParameters are arbitrary setup parameters for all claims using this class. They are ignored while allocating the claim. There must not be more than one entry per driver.
2980
+ """
2981
+ return pulumi.get(self, "vendor_parameters")
2982
+
2983
+ @vendor_parameters.setter
2984
+ def vendor_parameters(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['VendorParametersArgs']]]]):
2985
+ pulumi.set(self, "vendor_parameters", value)
2986
+
2987
+
2988
+ if not MYPY:
2989
+ class ResourceClassArgsDict(TypedDict):
2990
+ """
2991
+ ResourceClass is used by administrators to influence how resources are allocated.
2992
+
2993
+ This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
2994
+ """
2995
+ driver_name: pulumi.Input[str]
2996
+ """
2997
+ DriverName defines the name of the dynamic resource driver that is used for allocation of a ResourceClaim that uses this class.
2998
+
2999
+ Resource drivers have a unique name in forward domain order (acme.example.com).
3000
+ """
3001
+ api_version: NotRequired[pulumi.Input[str]]
3002
+ """
3003
+ 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
3004
+ """
3005
+ kind: NotRequired[pulumi.Input[str]]
3006
+ """
3007
+ 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
3008
+ """
3009
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
3010
+ """
3011
+ Standard object metadata
3012
+ """
3013
+ parameters_ref: NotRequired[pulumi.Input['ResourceClassParametersReferenceArgsDict']]
3014
+ """
3015
+ ParametersRef references an arbitrary separate object that may hold parameters that will be used by the driver when allocating a resource that uses this class. A dynamic resource driver can distinguish between parameters stored here and and those stored in ResourceClaimSpec.
3016
+ """
3017
+ structured_parameters: NotRequired[pulumi.Input[bool]]
3018
+ """
3019
+ If and only if allocation of claims using this class is handled via structured parameters, then StructuredParameters must be set to true.
3020
+ """
3021
+ suitable_nodes: NotRequired[pulumi.Input['_core.v1.NodeSelectorArgsDict']]
3022
+ """
3023
+ Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a ResourceClaim that has not been allocated yet.
3024
+
3025
+ Setting this field is optional. If null, all nodes are candidates.
3026
+ """
3027
+ elif False:
3028
+ ResourceClassArgsDict: TypeAlias = Mapping[str, Any]
881
3029
 
882
3030
  @pulumi.input_type
883
- class ResourceClaimArgs:
3031
+ class ResourceClassArgs:
884
3032
  def __init__(__self__, *,
885
- spec: pulumi.Input['ResourceClaimSpecArgs'],
3033
+ driver_name: pulumi.Input[str],
886
3034
  api_version: Optional[pulumi.Input[str]] = None,
887
3035
  kind: Optional[pulumi.Input[str]] = None,
888
3036
  metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
889
- status: Optional[pulumi.Input['ResourceClaimStatusArgs']] = None):
3037
+ parameters_ref: Optional[pulumi.Input['ResourceClassParametersReferenceArgs']] = None,
3038
+ structured_parameters: Optional[pulumi.Input[bool]] = None,
3039
+ suitable_nodes: Optional[pulumi.Input['_core.v1.NodeSelectorArgs']] = None):
890
3040
  """
891
- ResourceClaim describes which resources are needed by a resource consumer. Its status tracks whether the resource has been allocated and what the resulting attributes are.
3041
+ ResourceClass is used by administrators to influence how resources are allocated.
892
3042
 
893
3043
  This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
894
- :param pulumi.Input['ResourceClaimSpecArgs'] spec: Spec describes the desired attributes of a resource that then needs to be allocated. It can only be set once when creating the ResourceClaim.
3044
+ :param pulumi.Input[str] driver_name: DriverName defines the name of the dynamic resource driver that is used for allocation of a ResourceClaim that uses this class.
3045
+
3046
+ Resource drivers have a unique name in forward domain order (acme.example.com).
895
3047
  :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
896
3048
  :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
897
3049
  :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
898
- :param pulumi.Input['ResourceClaimStatusArgs'] status: Status describes whether the resource is available and with which attributes.
3050
+ :param pulumi.Input['ResourceClassParametersReferenceArgs'] parameters_ref: ParametersRef references an arbitrary separate object that may hold parameters that will be used by the driver when allocating a resource that uses this class. A dynamic resource driver can distinguish between parameters stored here and and those stored in ResourceClaimSpec.
3051
+ :param pulumi.Input[bool] structured_parameters: If and only if allocation of claims using this class is handled via structured parameters, then StructuredParameters must be set to true.
3052
+ :param pulumi.Input['_core.v1.NodeSelectorArgs'] suitable_nodes: Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a ResourceClaim that has not been allocated yet.
3053
+
3054
+ Setting this field is optional. If null, all nodes are candidates.
899
3055
  """
900
- pulumi.set(__self__, "spec", spec)
3056
+ pulumi.set(__self__, "driver_name", driver_name)
901
3057
  if api_version is not None:
902
3058
  pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
903
3059
  if kind is not None:
904
- pulumi.set(__self__, "kind", 'ResourceClaim')
3060
+ pulumi.set(__self__, "kind", 'ResourceClass')
905
3061
  if metadata is not None:
906
3062
  pulumi.set(__self__, "metadata", metadata)
907
- if status is not None:
908
- pulumi.set(__self__, "status", status)
3063
+ if parameters_ref is not None:
3064
+ pulumi.set(__self__, "parameters_ref", parameters_ref)
3065
+ if structured_parameters is not None:
3066
+ pulumi.set(__self__, "structured_parameters", structured_parameters)
3067
+ if suitable_nodes is not None:
3068
+ pulumi.set(__self__, "suitable_nodes", suitable_nodes)
909
3069
 
910
3070
  @property
911
- @pulumi.getter
912
- def spec(self) -> pulumi.Input['ResourceClaimSpecArgs']:
3071
+ @pulumi.getter(name="driverName")
3072
+ def driver_name(self) -> pulumi.Input[str]:
913
3073
  """
914
- Spec describes the desired attributes of a resource that then needs to be allocated. It can only be set once when creating the ResourceClaim.
3074
+ DriverName defines the name of the dynamic resource driver that is used for allocation of a ResourceClaim that uses this class.
3075
+
3076
+ Resource drivers have a unique name in forward domain order (acme.example.com).
915
3077
  """
916
- return pulumi.get(self, "spec")
3078
+ return pulumi.get(self, "driver_name")
917
3079
 
918
- @spec.setter
919
- def spec(self, value: pulumi.Input['ResourceClaimSpecArgs']):
920
- pulumi.set(self, "spec", value)
3080
+ @driver_name.setter
3081
+ def driver_name(self, value: pulumi.Input[str]):
3082
+ pulumi.set(self, "driver_name", value)
921
3083
 
922
3084
  @property
923
3085
  @pulumi.getter(name="apiVersion")
@@ -956,203 +3118,421 @@ class ResourceClaimArgs:
956
3118
  pulumi.set(self, "metadata", value)
957
3119
 
958
3120
  @property
959
- @pulumi.getter
960
- def status(self) -> Optional[pulumi.Input['ResourceClaimStatusArgs']]:
3121
+ @pulumi.getter(name="parametersRef")
3122
+ def parameters_ref(self) -> Optional[pulumi.Input['ResourceClassParametersReferenceArgs']]:
961
3123
  """
962
- Status describes whether the resource is available and with which attributes.
3124
+ ParametersRef references an arbitrary separate object that may hold parameters that will be used by the driver when allocating a resource that uses this class. A dynamic resource driver can distinguish between parameters stored here and and those stored in ResourceClaimSpec.
963
3125
  """
964
- return pulumi.get(self, "status")
3126
+ return pulumi.get(self, "parameters_ref")
965
3127
 
966
- @status.setter
967
- def status(self, value: Optional[pulumi.Input['ResourceClaimStatusArgs']]):
968
- pulumi.set(self, "status", value)
3128
+ @parameters_ref.setter
3129
+ def parameters_ref(self, value: Optional[pulumi.Input['ResourceClassParametersReferenceArgs']]):
3130
+ pulumi.set(self, "parameters_ref", value)
3131
+
3132
+ @property
3133
+ @pulumi.getter(name="structuredParameters")
3134
+ def structured_parameters(self) -> Optional[pulumi.Input[bool]]:
3135
+ """
3136
+ If and only if allocation of claims using this class is handled via structured parameters, then StructuredParameters must be set to true.
3137
+ """
3138
+ return pulumi.get(self, "structured_parameters")
3139
+
3140
+ @structured_parameters.setter
3141
+ def structured_parameters(self, value: Optional[pulumi.Input[bool]]):
3142
+ pulumi.set(self, "structured_parameters", value)
3143
+
3144
+ @property
3145
+ @pulumi.getter(name="suitableNodes")
3146
+ def suitable_nodes(self) -> Optional[pulumi.Input['_core.v1.NodeSelectorArgs']]:
3147
+ """
3148
+ Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a ResourceClaim that has not been allocated yet.
3149
+
3150
+ Setting this field is optional. If null, all nodes are candidates.
3151
+ """
3152
+ return pulumi.get(self, "suitable_nodes")
3153
+
3154
+ @suitable_nodes.setter
3155
+ def suitable_nodes(self, value: Optional[pulumi.Input['_core.v1.NodeSelectorArgs']]):
3156
+ pulumi.set(self, "suitable_nodes", value)
969
3157
 
970
3158
 
3159
+ if not MYPY:
3160
+ class ResourceFilterPatchArgsDict(TypedDict):
3161
+ """
3162
+ ResourceFilter is a filter for resources from one particular driver.
3163
+ """
3164
+ driver_name: NotRequired[pulumi.Input[str]]
3165
+ """
3166
+ DriverName is the name used by the DRA driver kubelet plugin.
3167
+ """
3168
+ named_resources: NotRequired[pulumi.Input['NamedResourcesFilterPatchArgsDict']]
3169
+ """
3170
+ NamedResources describes a resource filter using the named resources model.
3171
+ """
3172
+ elif False:
3173
+ ResourceFilterPatchArgsDict: TypeAlias = Mapping[str, Any]
3174
+
971
3175
  @pulumi.input_type
972
- class ResourceClassParametersReferencePatchArgs:
3176
+ class ResourceFilterPatchArgs:
973
3177
  def __init__(__self__, *,
974
- api_group: Optional[pulumi.Input[str]] = None,
975
- kind: Optional[pulumi.Input[str]] = None,
976
- name: Optional[pulumi.Input[str]] = None,
977
- namespace: Optional[pulumi.Input[str]] = None):
3178
+ driver_name: Optional[pulumi.Input[str]] = None,
3179
+ named_resources: Optional[pulumi.Input['NamedResourcesFilterPatchArgs']] = None):
978
3180
  """
979
- ResourceClassParametersReference contains enough information to let you locate the parameters for a ResourceClass.
980
- :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
981
- :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
982
- :param pulumi.Input[str] name: Name is the name of resource being referenced.
983
- :param pulumi.Input[str] namespace: Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
3181
+ ResourceFilter is a filter for resources from one particular driver.
3182
+ :param pulumi.Input[str] driver_name: DriverName is the name used by the DRA driver kubelet plugin.
3183
+ :param pulumi.Input['NamedResourcesFilterPatchArgs'] named_resources: NamedResources describes a resource filter using the named resources model.
984
3184
  """
985
- if api_group is not None:
986
- pulumi.set(__self__, "api_group", api_group)
987
- if kind is not None:
988
- pulumi.set(__self__, "kind", kind)
989
- if name is not None:
990
- pulumi.set(__self__, "name", name)
991
- if namespace is not None:
992
- pulumi.set(__self__, "namespace", namespace)
3185
+ if driver_name is not None:
3186
+ pulumi.set(__self__, "driver_name", driver_name)
3187
+ if named_resources is not None:
3188
+ pulumi.set(__self__, "named_resources", named_resources)
993
3189
 
994
3190
  @property
995
- @pulumi.getter(name="apiGroup")
996
- def api_group(self) -> Optional[pulumi.Input[str]]:
3191
+ @pulumi.getter(name="driverName")
3192
+ def driver_name(self) -> Optional[pulumi.Input[str]]:
997
3193
  """
998
- APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
3194
+ DriverName is the name used by the DRA driver kubelet plugin.
3195
+ """
3196
+ return pulumi.get(self, "driver_name")
3197
+
3198
+ @driver_name.setter
3199
+ def driver_name(self, value: Optional[pulumi.Input[str]]):
3200
+ pulumi.set(self, "driver_name", value)
3201
+
3202
+ @property
3203
+ @pulumi.getter(name="namedResources")
3204
+ def named_resources(self) -> Optional[pulumi.Input['NamedResourcesFilterPatchArgs']]:
3205
+ """
3206
+ NamedResources describes a resource filter using the named resources model.
3207
+ """
3208
+ return pulumi.get(self, "named_resources")
3209
+
3210
+ @named_resources.setter
3211
+ def named_resources(self, value: Optional[pulumi.Input['NamedResourcesFilterPatchArgs']]):
3212
+ pulumi.set(self, "named_resources", value)
3213
+
3214
+
3215
+ if not MYPY:
3216
+ class ResourceFilterArgsDict(TypedDict):
3217
+ """
3218
+ ResourceFilter is a filter for resources from one particular driver.
3219
+ """
3220
+ driver_name: NotRequired[pulumi.Input[str]]
3221
+ """
3222
+ DriverName is the name used by the DRA driver kubelet plugin.
3223
+ """
3224
+ named_resources: NotRequired[pulumi.Input['NamedResourcesFilterArgsDict']]
3225
+ """
3226
+ NamedResources describes a resource filter using the named resources model.
3227
+ """
3228
+ elif False:
3229
+ ResourceFilterArgsDict: TypeAlias = Mapping[str, Any]
3230
+
3231
+ @pulumi.input_type
3232
+ class ResourceFilterArgs:
3233
+ def __init__(__self__, *,
3234
+ driver_name: Optional[pulumi.Input[str]] = None,
3235
+ named_resources: Optional[pulumi.Input['NamedResourcesFilterArgs']] = None):
3236
+ """
3237
+ ResourceFilter is a filter for resources from one particular driver.
3238
+ :param pulumi.Input[str] driver_name: DriverName is the name used by the DRA driver kubelet plugin.
3239
+ :param pulumi.Input['NamedResourcesFilterArgs'] named_resources: NamedResources describes a resource filter using the named resources model.
3240
+ """
3241
+ if driver_name is not None:
3242
+ pulumi.set(__self__, "driver_name", driver_name)
3243
+ if named_resources is not None:
3244
+ pulumi.set(__self__, "named_resources", named_resources)
3245
+
3246
+ @property
3247
+ @pulumi.getter(name="driverName")
3248
+ def driver_name(self) -> Optional[pulumi.Input[str]]:
3249
+ """
3250
+ DriverName is the name used by the DRA driver kubelet plugin.
3251
+ """
3252
+ return pulumi.get(self, "driver_name")
3253
+
3254
+ @driver_name.setter
3255
+ def driver_name(self, value: Optional[pulumi.Input[str]]):
3256
+ pulumi.set(self, "driver_name", value)
3257
+
3258
+ @property
3259
+ @pulumi.getter(name="namedResources")
3260
+ def named_resources(self) -> Optional[pulumi.Input['NamedResourcesFilterArgs']]:
3261
+ """
3262
+ NamedResources describes a resource filter using the named resources model.
3263
+ """
3264
+ return pulumi.get(self, "named_resources")
3265
+
3266
+ @named_resources.setter
3267
+ def named_resources(self, value: Optional[pulumi.Input['NamedResourcesFilterArgs']]):
3268
+ pulumi.set(self, "named_resources", value)
3269
+
3270
+
3271
+ if not MYPY:
3272
+ class ResourceHandleArgsDict(TypedDict):
3273
+ """
3274
+ ResourceHandle holds opaque resource data for processing by a specific kubelet plugin.
3275
+ """
3276
+ data: NotRequired[pulumi.Input[str]]
3277
+ """
3278
+ Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.
3279
+
3280
+ The maximum size of this field is 16KiB. This may get increased in the future, but not reduced.
3281
+ """
3282
+ driver_name: NotRequired[pulumi.Input[str]]
3283
+ """
3284
+ DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.
3285
+ """
3286
+ structured_data: NotRequired[pulumi.Input['StructuredResourceHandleArgsDict']]
3287
+ """
3288
+ If StructuredData is set, then it needs to be used instead of Data.
3289
+ """
3290
+ elif False:
3291
+ ResourceHandleArgsDict: TypeAlias = Mapping[str, Any]
3292
+
3293
+ @pulumi.input_type
3294
+ class ResourceHandleArgs:
3295
+ def __init__(__self__, *,
3296
+ data: Optional[pulumi.Input[str]] = None,
3297
+ driver_name: Optional[pulumi.Input[str]] = None,
3298
+ structured_data: Optional[pulumi.Input['StructuredResourceHandleArgs']] = None):
3299
+ """
3300
+ ResourceHandle holds opaque resource data for processing by a specific kubelet plugin.
3301
+ :param pulumi.Input[str] data: Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.
3302
+
3303
+ The maximum size of this field is 16KiB. This may get increased in the future, but not reduced.
3304
+ :param pulumi.Input[str] driver_name: DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.
3305
+ :param pulumi.Input['StructuredResourceHandleArgs'] structured_data: If StructuredData is set, then it needs to be used instead of Data.
999
3306
  """
1000
- return pulumi.get(self, "api_group")
1001
-
1002
- @api_group.setter
1003
- def api_group(self, value: Optional[pulumi.Input[str]]):
1004
- pulumi.set(self, "api_group", value)
3307
+ if data is not None:
3308
+ pulumi.set(__self__, "data", data)
3309
+ if driver_name is not None:
3310
+ pulumi.set(__self__, "driver_name", driver_name)
3311
+ if structured_data is not None:
3312
+ pulumi.set(__self__, "structured_data", structured_data)
1005
3313
 
1006
3314
  @property
1007
3315
  @pulumi.getter
1008
- def kind(self) -> Optional[pulumi.Input[str]]:
3316
+ def data(self) -> Optional[pulumi.Input[str]]:
1009
3317
  """
1010
- Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
3318
+ Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.
3319
+
3320
+ The maximum size of this field is 16KiB. This may get increased in the future, but not reduced.
1011
3321
  """
1012
- return pulumi.get(self, "kind")
3322
+ return pulumi.get(self, "data")
1013
3323
 
1014
- @kind.setter
1015
- def kind(self, value: Optional[pulumi.Input[str]]):
1016
- pulumi.set(self, "kind", value)
3324
+ @data.setter
3325
+ def data(self, value: Optional[pulumi.Input[str]]):
3326
+ pulumi.set(self, "data", value)
1017
3327
 
1018
3328
  @property
1019
- @pulumi.getter
1020
- def name(self) -> Optional[pulumi.Input[str]]:
3329
+ @pulumi.getter(name="driverName")
3330
+ def driver_name(self) -> Optional[pulumi.Input[str]]:
1021
3331
  """
1022
- Name is the name of resource being referenced.
3332
+ DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.
1023
3333
  """
1024
- return pulumi.get(self, "name")
3334
+ return pulumi.get(self, "driver_name")
1025
3335
 
1026
- @name.setter
1027
- def name(self, value: Optional[pulumi.Input[str]]):
1028
- pulumi.set(self, "name", value)
3336
+ @driver_name.setter
3337
+ def driver_name(self, value: Optional[pulumi.Input[str]]):
3338
+ pulumi.set(self, "driver_name", value)
1029
3339
 
1030
3340
  @property
1031
- @pulumi.getter
1032
- def namespace(self) -> Optional[pulumi.Input[str]]:
3341
+ @pulumi.getter(name="structuredData")
3342
+ def structured_data(self) -> Optional[pulumi.Input['StructuredResourceHandleArgs']]:
1033
3343
  """
1034
- Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
3344
+ If StructuredData is set, then it needs to be used instead of Data.
1035
3345
  """
1036
- return pulumi.get(self, "namespace")
3346
+ return pulumi.get(self, "structured_data")
3347
+
3348
+ @structured_data.setter
3349
+ def structured_data(self, value: Optional[pulumi.Input['StructuredResourceHandleArgs']]):
3350
+ pulumi.set(self, "structured_data", value)
1037
3351
 
1038
- @namespace.setter
1039
- def namespace(self, value: Optional[pulumi.Input[str]]):
1040
- pulumi.set(self, "namespace", value)
1041
3352
 
3353
+ if not MYPY:
3354
+ class ResourceRequestPatchArgsDict(TypedDict):
3355
+ """
3356
+ ResourceRequest is a request for resources from one particular driver.
3357
+ """
3358
+ named_resources: NotRequired[pulumi.Input['NamedResourcesRequestPatchArgsDict']]
3359
+ """
3360
+ NamedResources describes a request for resources with the named resources model.
3361
+ """
3362
+ vendor_parameters: NotRequired[Any]
3363
+ """
3364
+ VendorParameters are arbitrary setup parameters for the requested resource. They are ignored while allocating a claim.
3365
+ """
3366
+ elif False:
3367
+ ResourceRequestPatchArgsDict: TypeAlias = Mapping[str, Any]
1042
3368
 
1043
3369
  @pulumi.input_type
1044
- class ResourceClassParametersReferenceArgs:
3370
+ class ResourceRequestPatchArgs:
1045
3371
  def __init__(__self__, *,
1046
- kind: pulumi.Input[str],
1047
- name: pulumi.Input[str],
1048
- api_group: Optional[pulumi.Input[str]] = None,
1049
- namespace: Optional[pulumi.Input[str]] = None):
3372
+ named_resources: Optional[pulumi.Input['NamedResourcesRequestPatchArgs']] = None,
3373
+ vendor_parameters: Optional[Any] = None):
1050
3374
  """
1051
- ResourceClassParametersReference contains enough information to let you locate the parameters for a ResourceClass.
1052
- :param pulumi.Input[str] kind: Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
1053
- :param pulumi.Input[str] name: Name is the name of resource being referenced.
1054
- :param pulumi.Input[str] api_group: APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
1055
- :param pulumi.Input[str] namespace: Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
3375
+ ResourceRequest is a request for resources from one particular driver.
3376
+ :param pulumi.Input['NamedResourcesRequestPatchArgs'] named_resources: NamedResources describes a request for resources with the named resources model.
3377
+ :param Any vendor_parameters: VendorParameters are arbitrary setup parameters for the requested resource. They are ignored while allocating a claim.
1056
3378
  """
1057
- pulumi.set(__self__, "kind", kind)
1058
- pulumi.set(__self__, "name", name)
1059
- if api_group is not None:
1060
- pulumi.set(__self__, "api_group", api_group)
1061
- if namespace is not None:
1062
- pulumi.set(__self__, "namespace", namespace)
3379
+ if named_resources is not None:
3380
+ pulumi.set(__self__, "named_resources", named_resources)
3381
+ if vendor_parameters is not None:
3382
+ pulumi.set(__self__, "vendor_parameters", vendor_parameters)
1063
3383
 
1064
3384
  @property
1065
- @pulumi.getter
1066
- def kind(self) -> pulumi.Input[str]:
3385
+ @pulumi.getter(name="namedResources")
3386
+ def named_resources(self) -> Optional[pulumi.Input['NamedResourcesRequestPatchArgs']]:
1067
3387
  """
1068
- Kind is the type of resource being referenced. This is the same value as in the parameter object's metadata.
3388
+ NamedResources describes a request for resources with the named resources model.
1069
3389
  """
1070
- return pulumi.get(self, "kind")
3390
+ return pulumi.get(self, "named_resources")
1071
3391
 
1072
- @kind.setter
1073
- def kind(self, value: pulumi.Input[str]):
1074
- pulumi.set(self, "kind", value)
3392
+ @named_resources.setter
3393
+ def named_resources(self, value: Optional[pulumi.Input['NamedResourcesRequestPatchArgs']]):
3394
+ pulumi.set(self, "named_resources", value)
1075
3395
 
1076
3396
  @property
1077
- @pulumi.getter
1078
- def name(self) -> pulumi.Input[str]:
3397
+ @pulumi.getter(name="vendorParameters")
3398
+ def vendor_parameters(self) -> Optional[Any]:
1079
3399
  """
1080
- Name is the name of resource being referenced.
3400
+ VendorParameters are arbitrary setup parameters for the requested resource. They are ignored while allocating a claim.
1081
3401
  """
1082
- return pulumi.get(self, "name")
3402
+ return pulumi.get(self, "vendor_parameters")
1083
3403
 
1084
- @name.setter
1085
- def name(self, value: pulumi.Input[str]):
1086
- pulumi.set(self, "name", value)
3404
+ @vendor_parameters.setter
3405
+ def vendor_parameters(self, value: Optional[Any]):
3406
+ pulumi.set(self, "vendor_parameters", value)
3407
+
3408
+
3409
+ if not MYPY:
3410
+ class ResourceRequestArgsDict(TypedDict):
3411
+ """
3412
+ ResourceRequest is a request for resources from one particular driver.
3413
+ """
3414
+ named_resources: NotRequired[pulumi.Input['NamedResourcesRequestArgsDict']]
3415
+ """
3416
+ NamedResources describes a request for resources with the named resources model.
3417
+ """
3418
+ vendor_parameters: NotRequired[Any]
3419
+ """
3420
+ VendorParameters are arbitrary setup parameters for the requested resource. They are ignored while allocating a claim.
3421
+ """
3422
+ elif False:
3423
+ ResourceRequestArgsDict: TypeAlias = Mapping[str, Any]
3424
+
3425
+ @pulumi.input_type
3426
+ class ResourceRequestArgs:
3427
+ def __init__(__self__, *,
3428
+ named_resources: Optional[pulumi.Input['NamedResourcesRequestArgs']] = None,
3429
+ vendor_parameters: Optional[Any] = None):
3430
+ """
3431
+ ResourceRequest is a request for resources from one particular driver.
3432
+ :param pulumi.Input['NamedResourcesRequestArgs'] named_resources: NamedResources describes a request for resources with the named resources model.
3433
+ :param Any vendor_parameters: VendorParameters are arbitrary setup parameters for the requested resource. They are ignored while allocating a claim.
3434
+ """
3435
+ if named_resources is not None:
3436
+ pulumi.set(__self__, "named_resources", named_resources)
3437
+ if vendor_parameters is not None:
3438
+ pulumi.set(__self__, "vendor_parameters", vendor_parameters)
1087
3439
 
1088
3440
  @property
1089
- @pulumi.getter(name="apiGroup")
1090
- def api_group(self) -> Optional[pulumi.Input[str]]:
3441
+ @pulumi.getter(name="namedResources")
3442
+ def named_resources(self) -> Optional[pulumi.Input['NamedResourcesRequestArgs']]:
1091
3443
  """
1092
- APIGroup is the group for the resource being referenced. It is empty for the core API. This matches the group in the APIVersion that is used when creating the resources.
3444
+ NamedResources describes a request for resources with the named resources model.
1093
3445
  """
1094
- return pulumi.get(self, "api_group")
3446
+ return pulumi.get(self, "named_resources")
1095
3447
 
1096
- @api_group.setter
1097
- def api_group(self, value: Optional[pulumi.Input[str]]):
1098
- pulumi.set(self, "api_group", value)
3448
+ @named_resources.setter
3449
+ def named_resources(self, value: Optional[pulumi.Input['NamedResourcesRequestArgs']]):
3450
+ pulumi.set(self, "named_resources", value)
1099
3451
 
1100
3452
  @property
1101
- @pulumi.getter
1102
- def namespace(self) -> Optional[pulumi.Input[str]]:
3453
+ @pulumi.getter(name="vendorParameters")
3454
+ def vendor_parameters(self) -> Optional[Any]:
1103
3455
  """
1104
- Namespace that contains the referenced resource. Must be empty for cluster-scoped resources and non-empty for namespaced resources.
3456
+ VendorParameters are arbitrary setup parameters for the requested resource. They are ignored while allocating a claim.
1105
3457
  """
1106
- return pulumi.get(self, "namespace")
3458
+ return pulumi.get(self, "vendor_parameters")
1107
3459
 
1108
- @namespace.setter
1109
- def namespace(self, value: Optional[pulumi.Input[str]]):
1110
- pulumi.set(self, "namespace", value)
3460
+ @vendor_parameters.setter
3461
+ def vendor_parameters(self, value: Optional[Any]):
3462
+ pulumi.set(self, "vendor_parameters", value)
3463
+
3464
+
3465
+ if not MYPY:
3466
+ class ResourceSliceArgsDict(TypedDict):
3467
+ """
3468
+ ResourceSlice provides information about available resources on individual nodes.
3469
+ """
3470
+ driver_name: pulumi.Input[str]
3471
+ """
3472
+ DriverName identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
3473
+ """
3474
+ api_version: NotRequired[pulumi.Input[str]]
3475
+ """
3476
+ 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
3477
+ """
3478
+ kind: NotRequired[pulumi.Input[str]]
3479
+ """
3480
+ 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
3481
+ """
3482
+ metadata: NotRequired[pulumi.Input['_meta.v1.ObjectMetaArgsDict']]
3483
+ """
3484
+ Standard object metadata
3485
+ """
3486
+ named_resources: NotRequired[pulumi.Input['NamedResourcesResourcesArgsDict']]
3487
+ """
3488
+ NamedResources describes available resources using the named resources model.
3489
+ """
3490
+ node_name: NotRequired[pulumi.Input[str]]
3491
+ """
3492
+ NodeName identifies the node which provides the resources if they are local to a node.
1111
3493
 
3494
+ A field selector can be used to list only ResourceSlice objects with a certain node name.
3495
+ """
3496
+ elif False:
3497
+ ResourceSliceArgsDict: TypeAlias = Mapping[str, Any]
1112
3498
 
1113
3499
  @pulumi.input_type
1114
- class ResourceClassArgs:
3500
+ class ResourceSliceArgs:
1115
3501
  def __init__(__self__, *,
1116
3502
  driver_name: pulumi.Input[str],
1117
3503
  api_version: Optional[pulumi.Input[str]] = None,
1118
3504
  kind: Optional[pulumi.Input[str]] = None,
1119
3505
  metadata: Optional[pulumi.Input['_meta.v1.ObjectMetaArgs']] = None,
1120
- parameters_ref: Optional[pulumi.Input['ResourceClassParametersReferenceArgs']] = None,
1121
- suitable_nodes: Optional[pulumi.Input['_core.v1.NodeSelectorArgs']] = None):
3506
+ named_resources: Optional[pulumi.Input['NamedResourcesResourcesArgs']] = None,
3507
+ node_name: Optional[pulumi.Input[str]] = None):
1122
3508
  """
1123
- ResourceClass is used by administrators to influence how resources are allocated.
1124
-
1125
- This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
1126
- :param pulumi.Input[str] driver_name: DriverName defines the name of the dynamic resource driver that is used for allocation of a ResourceClaim that uses this class.
1127
-
1128
- Resource drivers have a unique name in forward domain order (acme.example.com).
3509
+ ResourceSlice provides information about available resources on individual nodes.
3510
+ :param pulumi.Input[str] driver_name: DriverName identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
1129
3511
  :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
1130
3512
  :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
1131
3513
  :param pulumi.Input['_meta.v1.ObjectMetaArgs'] metadata: Standard object metadata
1132
- :param pulumi.Input['ResourceClassParametersReferenceArgs'] parameters_ref: ParametersRef references an arbitrary separate object that may hold parameters that will be used by the driver when allocating a resource that uses this class. A dynamic resource driver can distinguish between parameters stored here and and those stored in ResourceClaimSpec.
1133
- :param pulumi.Input['_core.v1.NodeSelectorArgs'] suitable_nodes: Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a ResourceClaim that has not been allocated yet.
3514
+ :param pulumi.Input['NamedResourcesResourcesArgs'] named_resources: NamedResources describes available resources using the named resources model.
3515
+ :param pulumi.Input[str] node_name: NodeName identifies the node which provides the resources if they are local to a node.
1134
3516
 
1135
- Setting this field is optional. If null, all nodes are candidates.
3517
+ A field selector can be used to list only ResourceSlice objects with a certain node name.
1136
3518
  """
1137
3519
  pulumi.set(__self__, "driver_name", driver_name)
1138
3520
  if api_version is not None:
1139
3521
  pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha2')
1140
3522
  if kind is not None:
1141
- pulumi.set(__self__, "kind", 'ResourceClass')
3523
+ pulumi.set(__self__, "kind", 'ResourceSlice')
1142
3524
  if metadata is not None:
1143
3525
  pulumi.set(__self__, "metadata", metadata)
1144
- if parameters_ref is not None:
1145
- pulumi.set(__self__, "parameters_ref", parameters_ref)
1146
- if suitable_nodes is not None:
1147
- pulumi.set(__self__, "suitable_nodes", suitable_nodes)
3526
+ if named_resources is not None:
3527
+ pulumi.set(__self__, "named_resources", named_resources)
3528
+ if node_name is not None:
3529
+ pulumi.set(__self__, "node_name", node_name)
1148
3530
 
1149
3531
  @property
1150
3532
  @pulumi.getter(name="driverName")
1151
3533
  def driver_name(self) -> pulumi.Input[str]:
1152
3534
  """
1153
- DriverName defines the name of the dynamic resource driver that is used for allocation of a ResourceClaim that uses this class.
1154
-
1155
- Resource drivers have a unique name in forward domain order (acme.example.com).
3535
+ DriverName identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
1156
3536
  """
1157
3537
  return pulumi.get(self, "driver_name")
1158
3538
 
@@ -1197,68 +3577,219 @@ class ResourceClassArgs:
1197
3577
  pulumi.set(self, "metadata", value)
1198
3578
 
1199
3579
  @property
1200
- @pulumi.getter(name="parametersRef")
1201
- def parameters_ref(self) -> Optional[pulumi.Input['ResourceClassParametersReferenceArgs']]:
3580
+ @pulumi.getter(name="namedResources")
3581
+ def named_resources(self) -> Optional[pulumi.Input['NamedResourcesResourcesArgs']]:
1202
3582
  """
1203
- ParametersRef references an arbitrary separate object that may hold parameters that will be used by the driver when allocating a resource that uses this class. A dynamic resource driver can distinguish between parameters stored here and and those stored in ResourceClaimSpec.
3583
+ NamedResources describes available resources using the named resources model.
1204
3584
  """
1205
- return pulumi.get(self, "parameters_ref")
3585
+ return pulumi.get(self, "named_resources")
1206
3586
 
1207
- @parameters_ref.setter
1208
- def parameters_ref(self, value: Optional[pulumi.Input['ResourceClassParametersReferenceArgs']]):
1209
- pulumi.set(self, "parameters_ref", value)
3587
+ @named_resources.setter
3588
+ def named_resources(self, value: Optional[pulumi.Input['NamedResourcesResourcesArgs']]):
3589
+ pulumi.set(self, "named_resources", value)
1210
3590
 
1211
3591
  @property
1212
- @pulumi.getter(name="suitableNodes")
1213
- def suitable_nodes(self) -> Optional[pulumi.Input['_core.v1.NodeSelectorArgs']]:
3592
+ @pulumi.getter(name="nodeName")
3593
+ def node_name(self) -> Optional[pulumi.Input[str]]:
1214
3594
  """
1215
- Only nodes matching the selector will be considered by the scheduler when trying to find a Node that fits a Pod when that Pod uses a ResourceClaim that has not been allocated yet.
3595
+ NodeName identifies the node which provides the resources if they are local to a node.
1216
3596
 
1217
- Setting this field is optional. If null, all nodes are candidates.
3597
+ A field selector can be used to list only ResourceSlice objects with a certain node name.
1218
3598
  """
1219
- return pulumi.get(self, "suitable_nodes")
3599
+ return pulumi.get(self, "node_name")
3600
+
3601
+ @node_name.setter
3602
+ def node_name(self, value: Optional[pulumi.Input[str]]):
3603
+ pulumi.set(self, "node_name", value)
1220
3604
 
1221
- @suitable_nodes.setter
1222
- def suitable_nodes(self, value: Optional[pulumi.Input['_core.v1.NodeSelectorArgs']]):
1223
- pulumi.set(self, "suitable_nodes", value)
1224
3605
 
3606
+ if not MYPY:
3607
+ class StructuredResourceHandleArgsDict(TypedDict):
3608
+ """
3609
+ StructuredResourceHandle is the in-tree representation of the allocation result.
3610
+ """
3611
+ results: pulumi.Input[Sequence[pulumi.Input['DriverAllocationResultArgsDict']]]
3612
+ """
3613
+ Results lists all allocated driver resources.
3614
+ """
3615
+ node_name: NotRequired[pulumi.Input[str]]
3616
+ """
3617
+ NodeName is the name of the node providing the necessary resources if the resources are local to a node.
3618
+ """
3619
+ vendor_claim_parameters: NotRequired[Any]
3620
+ """
3621
+ VendorClaimParameters are the per-claim configuration parameters from the resource claim parameters at the time that the claim was allocated.
3622
+ """
3623
+ vendor_class_parameters: NotRequired[Any]
3624
+ """
3625
+ VendorClassParameters are the per-claim configuration parameters from the resource class at the time that the claim was allocated.
3626
+ """
3627
+ elif False:
3628
+ StructuredResourceHandleArgsDict: TypeAlias = Mapping[str, Any]
1225
3629
 
1226
3630
  @pulumi.input_type
1227
- class ResourceHandleArgs:
3631
+ class StructuredResourceHandleArgs:
1228
3632
  def __init__(__self__, *,
1229
- data: Optional[pulumi.Input[str]] = None,
1230
- driver_name: Optional[pulumi.Input[str]] = None):
3633
+ results: pulumi.Input[Sequence[pulumi.Input['DriverAllocationResultArgs']]],
3634
+ node_name: Optional[pulumi.Input[str]] = None,
3635
+ vendor_claim_parameters: Optional[Any] = None,
3636
+ vendor_class_parameters: Optional[Any] = None):
3637
+ """
3638
+ StructuredResourceHandle is the in-tree representation of the allocation result.
3639
+ :param pulumi.Input[Sequence[pulumi.Input['DriverAllocationResultArgs']]] results: Results lists all allocated driver resources.
3640
+ :param pulumi.Input[str] node_name: NodeName is the name of the node providing the necessary resources if the resources are local to a node.
3641
+ :param Any vendor_claim_parameters: VendorClaimParameters are the per-claim configuration parameters from the resource claim parameters at the time that the claim was allocated.
3642
+ :param Any vendor_class_parameters: VendorClassParameters are the per-claim configuration parameters from the resource class at the time that the claim was allocated.
3643
+ """
3644
+ pulumi.set(__self__, "results", results)
3645
+ if node_name is not None:
3646
+ pulumi.set(__self__, "node_name", node_name)
3647
+ if vendor_claim_parameters is not None:
3648
+ pulumi.set(__self__, "vendor_claim_parameters", vendor_claim_parameters)
3649
+ if vendor_class_parameters is not None:
3650
+ pulumi.set(__self__, "vendor_class_parameters", vendor_class_parameters)
3651
+
3652
+ @property
3653
+ @pulumi.getter
3654
+ def results(self) -> pulumi.Input[Sequence[pulumi.Input['DriverAllocationResultArgs']]]:
1231
3655
  """
1232
- ResourceHandle holds opaque resource data for processing by a specific kubelet plugin.
1233
- :param pulumi.Input[str] data: Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.
1234
-
1235
- The maximum size of this field is 16KiB. This may get increased in the future, but not reduced.
1236
- :param pulumi.Input[str] driver_name: DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.
3656
+ Results lists all allocated driver resources.
3657
+ """
3658
+ return pulumi.get(self, "results")
3659
+
3660
+ @results.setter
3661
+ def results(self, value: pulumi.Input[Sequence[pulumi.Input['DriverAllocationResultArgs']]]):
3662
+ pulumi.set(self, "results", value)
3663
+
3664
+ @property
3665
+ @pulumi.getter(name="nodeName")
3666
+ def node_name(self) -> Optional[pulumi.Input[str]]:
3667
+ """
3668
+ NodeName is the name of the node providing the necessary resources if the resources are local to a node.
3669
+ """
3670
+ return pulumi.get(self, "node_name")
3671
+
3672
+ @node_name.setter
3673
+ def node_name(self, value: Optional[pulumi.Input[str]]):
3674
+ pulumi.set(self, "node_name", value)
3675
+
3676
+ @property
3677
+ @pulumi.getter(name="vendorClaimParameters")
3678
+ def vendor_claim_parameters(self) -> Optional[Any]:
3679
+ """
3680
+ VendorClaimParameters are the per-claim configuration parameters from the resource claim parameters at the time that the claim was allocated.
3681
+ """
3682
+ return pulumi.get(self, "vendor_claim_parameters")
3683
+
3684
+ @vendor_claim_parameters.setter
3685
+ def vendor_claim_parameters(self, value: Optional[Any]):
3686
+ pulumi.set(self, "vendor_claim_parameters", value)
3687
+
3688
+ @property
3689
+ @pulumi.getter(name="vendorClassParameters")
3690
+ def vendor_class_parameters(self) -> Optional[Any]:
3691
+ """
3692
+ VendorClassParameters are the per-claim configuration parameters from the resource class at the time that the claim was allocated.
3693
+ """
3694
+ return pulumi.get(self, "vendor_class_parameters")
3695
+
3696
+ @vendor_class_parameters.setter
3697
+ def vendor_class_parameters(self, value: Optional[Any]):
3698
+ pulumi.set(self, "vendor_class_parameters", value)
3699
+
3700
+
3701
+ if not MYPY:
3702
+ class VendorParametersPatchArgsDict(TypedDict):
3703
+ """
3704
+ VendorParameters are opaque parameters for one particular driver.
3705
+ """
3706
+ driver_name: NotRequired[pulumi.Input[str]]
3707
+ """
3708
+ DriverName is the name used by the DRA driver kubelet plugin.
3709
+ """
3710
+ parameters: NotRequired[Any]
3711
+ """
3712
+ Parameters can be arbitrary setup parameters. They are ignored while allocating a claim.
3713
+ """
3714
+ elif False:
3715
+ VendorParametersPatchArgsDict: TypeAlias = Mapping[str, Any]
3716
+
3717
+ @pulumi.input_type
3718
+ class VendorParametersPatchArgs:
3719
+ def __init__(__self__, *,
3720
+ driver_name: Optional[pulumi.Input[str]] = None,
3721
+ parameters: Optional[Any] = None):
3722
+ """
3723
+ VendorParameters are opaque parameters for one particular driver.
3724
+ :param pulumi.Input[str] driver_name: DriverName is the name used by the DRA driver kubelet plugin.
3725
+ :param Any parameters: Parameters can be arbitrary setup parameters. They are ignored while allocating a claim.
1237
3726
  """
1238
- if data is not None:
1239
- pulumi.set(__self__, "data", data)
1240
3727
  if driver_name is not None:
1241
3728
  pulumi.set(__self__, "driver_name", driver_name)
3729
+ if parameters is not None:
3730
+ pulumi.set(__self__, "parameters", parameters)
3731
+
3732
+ @property
3733
+ @pulumi.getter(name="driverName")
3734
+ def driver_name(self) -> Optional[pulumi.Input[str]]:
3735
+ """
3736
+ DriverName is the name used by the DRA driver kubelet plugin.
3737
+ """
3738
+ return pulumi.get(self, "driver_name")
3739
+
3740
+ @driver_name.setter
3741
+ def driver_name(self, value: Optional[pulumi.Input[str]]):
3742
+ pulumi.set(self, "driver_name", value)
1242
3743
 
1243
3744
  @property
1244
3745
  @pulumi.getter
1245
- def data(self) -> Optional[pulumi.Input[str]]:
3746
+ def parameters(self) -> Optional[Any]:
1246
3747
  """
1247
- Data contains the opaque data associated with this ResourceHandle. It is set by the controller component of the resource driver whose name matches the DriverName set in the ResourceClaimStatus this ResourceHandle is embedded in. It is set at allocation time and is intended for processing by the kubelet plugin whose name matches the DriverName set in this ResourceHandle.
3748
+ Parameters can be arbitrary setup parameters. They are ignored while allocating a claim.
3749
+ """
3750
+ return pulumi.get(self, "parameters")
1248
3751
 
1249
- The maximum size of this field is 16KiB. This may get increased in the future, but not reduced.
3752
+ @parameters.setter
3753
+ def parameters(self, value: Optional[Any]):
3754
+ pulumi.set(self, "parameters", value)
3755
+
3756
+
3757
+ if not MYPY:
3758
+ class VendorParametersArgsDict(TypedDict):
1250
3759
  """
1251
- return pulumi.get(self, "data")
3760
+ VendorParameters are opaque parameters for one particular driver.
3761
+ """
3762
+ driver_name: NotRequired[pulumi.Input[str]]
3763
+ """
3764
+ DriverName is the name used by the DRA driver kubelet plugin.
3765
+ """
3766
+ parameters: NotRequired[Any]
3767
+ """
3768
+ Parameters can be arbitrary setup parameters. They are ignored while allocating a claim.
3769
+ """
3770
+ elif False:
3771
+ VendorParametersArgsDict: TypeAlias = Mapping[str, Any]
1252
3772
 
1253
- @data.setter
1254
- def data(self, value: Optional[pulumi.Input[str]]):
1255
- pulumi.set(self, "data", value)
3773
+ @pulumi.input_type
3774
+ class VendorParametersArgs:
3775
+ def __init__(__self__, *,
3776
+ driver_name: Optional[pulumi.Input[str]] = None,
3777
+ parameters: Optional[Any] = None):
3778
+ """
3779
+ VendorParameters are opaque parameters for one particular driver.
3780
+ :param pulumi.Input[str] driver_name: DriverName is the name used by the DRA driver kubelet plugin.
3781
+ :param Any parameters: Parameters can be arbitrary setup parameters. They are ignored while allocating a claim.
3782
+ """
3783
+ if driver_name is not None:
3784
+ pulumi.set(__self__, "driver_name", driver_name)
3785
+ if parameters is not None:
3786
+ pulumi.set(__self__, "parameters", parameters)
1256
3787
 
1257
3788
  @property
1258
3789
  @pulumi.getter(name="driverName")
1259
3790
  def driver_name(self) -> Optional[pulumi.Input[str]]:
1260
3791
  """
1261
- DriverName specifies the name of the resource driver whose kubelet plugin should be invoked to process this ResourceHandle's data once it lands on a node. This may differ from the DriverName set in ResourceClaimStatus this ResourceHandle is embedded in.
3792
+ DriverName is the name used by the DRA driver kubelet plugin.
1262
3793
  """
1263
3794
  return pulumi.get(self, "driver_name")
1264
3795
 
@@ -1266,4 +3797,16 @@ class ResourceHandleArgs:
1266
3797
  def driver_name(self, value: Optional[pulumi.Input[str]]):
1267
3798
  pulumi.set(self, "driver_name", value)
1268
3799
 
3800
+ @property
3801
+ @pulumi.getter
3802
+ def parameters(self) -> Optional[Any]:
3803
+ """
3804
+ Parameters can be arbitrary setup parameters. They are ignored while allocating a claim.
3805
+ """
3806
+ return pulumi.get(self, "parameters")
3807
+
3808
+ @parameters.setter
3809
+ def parameters(self, value: Optional[Any]):
3810
+ pulumi.set(self, "parameters", value)
3811
+
1269
3812