pulumi-kubernetes 4.22.1__py3-none-any.whl → 4.23.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.
- pulumi_kubernetes/__init__.py +37 -2
- pulumi_kubernetes/_inputs.py +41 -40
- pulumi_kubernetes/admissionregistration/__init__.py +1 -0
- pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfiguration.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicy.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBinding.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfiguration.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1/__init__.py +1 -0
- pulumi_kubernetes/admissionregistration/v1/_inputs.py +546 -545
- pulumi_kubernetes/admissionregistration/v1/outputs.py +337 -336
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicy.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBinding.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicy.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBinding.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/admissionregistration/v1alpha1/_inputs.py +396 -395
- pulumi_kubernetes/admissionregistration/v1alpha1/outputs.py +249 -248
- pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfiguration.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicy.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBinding.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfiguration.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationList.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationPatch.py +18 -16
- pulumi_kubernetes/admissionregistration/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/admissionregistration/v1beta1/_inputs.py +546 -545
- pulumi_kubernetes/admissionregistration/v1beta1/outputs.py +337 -336
- pulumi_kubernetes/apiextensions/__init__.py +1 -0
- pulumi_kubernetes/apiextensions/v1/CustomResourceDefinition.py +18 -16
- pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionList.py +18 -16
- pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionPatch.py +18 -16
- pulumi_kubernetes/apiextensions/v1/__init__.py +1 -0
- pulumi_kubernetes/apiextensions/v1/_inputs.py +699 -698
- pulumi_kubernetes/apiextensions/v1/outputs.py +405 -404
- pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinition.py +18 -16
- pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionList.py +18 -16
- pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionPatch.py +18 -16
- pulumi_kubernetes/apiextensions/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/apiextensions/v1beta1/_inputs.py +639 -638
- pulumi_kubernetes/apiextensions/v1beta1/outputs.py +369 -368
- pulumi_kubernetes/apiregistration/__init__.py +1 -0
- pulumi_kubernetes/apiregistration/v1/APIService.py +18 -16
- pulumi_kubernetes/apiregistration/v1/APIServiceList.py +18 -16
- pulumi_kubernetes/apiregistration/v1/APIServicePatch.py +18 -16
- pulumi_kubernetes/apiregistration/v1/__init__.py +1 -0
- pulumi_kubernetes/apiregistration/v1/_inputs.py +126 -125
- pulumi_kubernetes/apiregistration/v1/outputs.py +91 -90
- pulumi_kubernetes/apiregistration/v1beta1/APIService.py +18 -16
- pulumi_kubernetes/apiregistration/v1beta1/APIServiceList.py +18 -16
- pulumi_kubernetes/apiregistration/v1beta1/APIServicePatch.py +18 -16
- pulumi_kubernetes/apiregistration/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/apiregistration/v1beta1/_inputs.py +126 -125
- pulumi_kubernetes/apiregistration/v1beta1/outputs.py +91 -90
- pulumi_kubernetes/apps/__init__.py +1 -0
- pulumi_kubernetes/apps/v1/ControllerRevision.py +26 -24
- pulumi_kubernetes/apps/v1/ControllerRevisionList.py +18 -16
- pulumi_kubernetes/apps/v1/ControllerRevisionPatch.py +26 -24
- pulumi_kubernetes/apps/v1/DaemonSet.py +18 -16
- pulumi_kubernetes/apps/v1/DaemonSetList.py +18 -16
- pulumi_kubernetes/apps/v1/DaemonSetPatch.py +18 -16
- pulumi_kubernetes/apps/v1/Deployment.py +18 -16
- pulumi_kubernetes/apps/v1/DeploymentList.py +18 -16
- pulumi_kubernetes/apps/v1/DeploymentPatch.py +18 -16
- pulumi_kubernetes/apps/v1/ReplicaSet.py +18 -16
- pulumi_kubernetes/apps/v1/ReplicaSetList.py +22 -20
- pulumi_kubernetes/apps/v1/ReplicaSetPatch.py +18 -16
- pulumi_kubernetes/apps/v1/StatefulSet.py +18 -16
- pulumi_kubernetes/apps/v1/StatefulSetList.py +18 -16
- pulumi_kubernetes/apps/v1/StatefulSetPatch.py +18 -16
- pulumi_kubernetes/apps/v1/__init__.py +1 -0
- pulumi_kubernetes/apps/v1/_inputs.py +664 -610
- pulumi_kubernetes/apps/v1/outputs.py +582 -508
- pulumi_kubernetes/apps/v1beta1/ControllerRevision.py +26 -24
- pulumi_kubernetes/apps/v1beta1/ControllerRevisionList.py +18 -16
- pulumi_kubernetes/apps/v1beta1/ControllerRevisionPatch.py +26 -24
- pulumi_kubernetes/apps/v1beta1/Deployment.py +18 -16
- pulumi_kubernetes/apps/v1beta1/DeploymentList.py +18 -16
- pulumi_kubernetes/apps/v1beta1/DeploymentPatch.py +18 -16
- pulumi_kubernetes/apps/v1beta1/StatefulSet.py +18 -16
- pulumi_kubernetes/apps/v1beta1/StatefulSetList.py +18 -16
- pulumi_kubernetes/apps/v1beta1/StatefulSetPatch.py +18 -16
- pulumi_kubernetes/apps/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/apps/v1beta1/_inputs.py +316 -315
- pulumi_kubernetes/apps/v1beta1/outputs.py +260 -259
- pulumi_kubernetes/apps/v1beta2/ControllerRevision.py +26 -24
- pulumi_kubernetes/apps/v1beta2/ControllerRevisionList.py +18 -16
- pulumi_kubernetes/apps/v1beta2/ControllerRevisionPatch.py +26 -24
- pulumi_kubernetes/apps/v1beta2/DaemonSet.py +18 -16
- pulumi_kubernetes/apps/v1beta2/DaemonSetList.py +18 -16
- pulumi_kubernetes/apps/v1beta2/DaemonSetPatch.py +18 -16
- pulumi_kubernetes/apps/v1beta2/Deployment.py +18 -16
- pulumi_kubernetes/apps/v1beta2/DeploymentList.py +18 -16
- pulumi_kubernetes/apps/v1beta2/DeploymentPatch.py +18 -16
- pulumi_kubernetes/apps/v1beta2/ReplicaSet.py +18 -16
- pulumi_kubernetes/apps/v1beta2/ReplicaSetList.py +18 -16
- pulumi_kubernetes/apps/v1beta2/ReplicaSetPatch.py +18 -16
- pulumi_kubernetes/apps/v1beta2/StatefulSet.py +18 -16
- pulumi_kubernetes/apps/v1beta2/StatefulSetList.py +18 -16
- pulumi_kubernetes/apps/v1beta2/StatefulSetPatch.py +18 -16
- pulumi_kubernetes/apps/v1beta2/__init__.py +1 -0
- pulumi_kubernetes/apps/v1beta2/_inputs.py +506 -505
- pulumi_kubernetes/apps/v1beta2/outputs.py +442 -441
- pulumi_kubernetes/auditregistration/__init__.py +1 -0
- pulumi_kubernetes/auditregistration/v1alpha1/AuditSink.py +18 -16
- pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkList.py +18 -16
- pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkPatch.py +18 -16
- pulumi_kubernetes/auditregistration/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/auditregistration/v1alpha1/_inputs.py +111 -110
- pulumi_kubernetes/auditregistration/v1alpha1/outputs.py +67 -66
- pulumi_kubernetes/autoscaling/__init__.py +1 -0
- pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscaler.py +18 -16
- pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerList.py +18 -16
- pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerPatch.py +18 -16
- pulumi_kubernetes/autoscaling/v1/__init__.py +1 -0
- pulumi_kubernetes/autoscaling/v1/_inputs.py +96 -95
- pulumi_kubernetes/autoscaling/v1/outputs.py +73 -72
- pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscaler.py +18 -16
- pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerList.py +18 -16
- pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerPatch.py +18 -16
- pulumi_kubernetes/autoscaling/v2/__init__.py +1 -0
- pulumi_kubernetes/autoscaling/v2/_inputs.py +371 -290
- pulumi_kubernetes/autoscaling/v2/outputs.py +281 -224
- pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscaler.py +18 -16
- pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerList.py +18 -16
- pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerPatch.py +18 -16
- pulumi_kubernetes/autoscaling/v2beta1/__init__.py +1 -0
- pulumi_kubernetes/autoscaling/v2beta1/_inputs.py +346 -345
- pulumi_kubernetes/autoscaling/v2beta1/outputs.py +283 -282
- pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscaler.py +18 -16
- pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerList.py +18 -16
- pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerPatch.py +18 -16
- pulumi_kubernetes/autoscaling/v2beta2/__init__.py +1 -0
- pulumi_kubernetes/autoscaling/v2beta2/_inputs.py +281 -280
- pulumi_kubernetes/autoscaling/v2beta2/outputs.py +217 -216
- pulumi_kubernetes/batch/__init__.py +1 -0
- pulumi_kubernetes/batch/v1/CronJob.py +18 -16
- pulumi_kubernetes/batch/v1/CronJobList.py +18 -16
- pulumi_kubernetes/batch/v1/CronJobPatch.py +18 -16
- pulumi_kubernetes/batch/v1/Job.py +18 -16
- pulumi_kubernetes/batch/v1/JobList.py +18 -16
- pulumi_kubernetes/batch/v1/JobPatch.py +18 -16
- pulumi_kubernetes/batch/v1/__init__.py +1 -0
- pulumi_kubernetes/batch/v1/_inputs.py +394 -423
- pulumi_kubernetes/batch/v1/outputs.py +293 -316
- pulumi_kubernetes/batch/v1beta1/CronJob.py +18 -16
- pulumi_kubernetes/batch/v1beta1/CronJobList.py +18 -16
- pulumi_kubernetes/batch/v1beta1/CronJobPatch.py +18 -16
- pulumi_kubernetes/batch/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/batch/v1beta1/_inputs.py +76 -75
- pulumi_kubernetes/batch/v1beta1/outputs.py +49 -48
- pulumi_kubernetes/batch/v2alpha1/CronJob.py +18 -16
- pulumi_kubernetes/batch/v2alpha1/CronJobList.py +18 -16
- pulumi_kubernetes/batch/v2alpha1/CronJobPatch.py +18 -16
- pulumi_kubernetes/batch/v2alpha1/__init__.py +1 -0
- pulumi_kubernetes/batch/v2alpha1/_inputs.py +76 -75
- pulumi_kubernetes/batch/v2alpha1/outputs.py +49 -48
- pulumi_kubernetes/certificates/__init__.py +1 -0
- pulumi_kubernetes/certificates/v1/CertificateSigningRequest.py +18 -16
- pulumi_kubernetes/certificates/v1/CertificateSigningRequestList.py +18 -16
- pulumi_kubernetes/certificates/v1/CertificateSigningRequestPatch.py +18 -16
- pulumi_kubernetes/certificates/v1/__init__.py +1 -0
- pulumi_kubernetes/certificates/v1/_inputs.py +126 -125
- pulumi_kubernetes/certificates/v1/outputs.py +97 -96
- pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundle.py +20 -16
- pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundleList.py +18 -16
- pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundlePatch.py +20 -16
- pulumi_kubernetes/certificates/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/certificates/v1alpha1/_inputs.py +31 -30
- pulumi_kubernetes/certificates/v1alpha1/outputs.py +19 -18
- pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequest.py +18 -16
- pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestList.py +18 -16
- pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestPatch.py +18 -16
- pulumi_kubernetes/certificates/v1beta1/ClusterTrustBundle.py +227 -0
- pulumi_kubernetes/certificates/v1beta1/ClusterTrustBundleList.py +217 -0
- pulumi_kubernetes/certificates/v1beta1/ClusterTrustBundlePatch.py +238 -0
- pulumi_kubernetes/certificates/v1beta1/__init__.py +4 -0
- pulumi_kubernetes/certificates/v1beta1/_inputs.py +409 -116
- pulumi_kubernetes/certificates/v1beta1/outputs.py +334 -92
- pulumi_kubernetes/coordination/__init__.py +1 -0
- pulumi_kubernetes/coordination/v1/Lease.py +18 -16
- pulumi_kubernetes/coordination/v1/LeaseList.py +18 -16
- pulumi_kubernetes/coordination/v1/LeasePatch.py +18 -16
- pulumi_kubernetes/coordination/v1/__init__.py +1 -0
- pulumi_kubernetes/coordination/v1/_inputs.py +81 -80
- pulumi_kubernetes/coordination/v1/outputs.py +49 -48
- pulumi_kubernetes/coordination/v1alpha1/LeaseCandidate.py +19 -17
- pulumi_kubernetes/coordination/v1alpha1/LeaseCandidateList.py +18 -16
- pulumi_kubernetes/coordination/v1alpha1/LeaseCandidatePatch.py +19 -17
- pulumi_kubernetes/coordination/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/coordination/v1alpha1/_inputs.py +71 -70
- pulumi_kubernetes/coordination/v1alpha1/outputs.py +43 -42
- pulumi_kubernetes/coordination/v1alpha2/LeaseCandidate.py +19 -17
- pulumi_kubernetes/coordination/v1alpha2/LeaseCandidateList.py +18 -16
- pulumi_kubernetes/coordination/v1alpha2/LeaseCandidatePatch.py +19 -17
- pulumi_kubernetes/coordination/v1alpha2/__init__.py +1 -0
- pulumi_kubernetes/coordination/v1alpha2/_inputs.py +75 -74
- pulumi_kubernetes/coordination/v1alpha2/outputs.py +45 -44
- pulumi_kubernetes/coordination/v1beta1/Lease.py +18 -16
- pulumi_kubernetes/coordination/v1beta1/LeaseCandidate.py +218 -0
- pulumi_kubernetes/coordination/v1beta1/LeaseCandidateList.py +217 -0
- pulumi_kubernetes/coordination/v1beta1/LeaseCandidatePatch.py +230 -0
- pulumi_kubernetes/coordination/v1beta1/LeaseList.py +18 -16
- pulumi_kubernetes/coordination/v1beta1/LeasePatch.py +18 -16
- pulumi_kubernetes/coordination/v1beta1/__init__.py +4 -0
- pulumi_kubernetes/coordination/v1beta1/_inputs.py +432 -60
- pulumi_kubernetes/coordination/v1beta1/outputs.py +329 -36
- pulumi_kubernetes/core/__init__.py +1 -0
- pulumi_kubernetes/core/v1/Binding.py +18 -16
- pulumi_kubernetes/core/v1/BindingPatch.py +18 -16
- pulumi_kubernetes/core/v1/ConfigMap.py +42 -40
- pulumi_kubernetes/core/v1/ConfigMapList.py +18 -16
- pulumi_kubernetes/core/v1/ConfigMapPatch.py +42 -40
- pulumi_kubernetes/core/v1/Endpoints.py +26 -16
- pulumi_kubernetes/core/v1/EndpointsList.py +20 -18
- pulumi_kubernetes/core/v1/EndpointsPatch.py +26 -16
- pulumi_kubernetes/core/v1/Event.py +98 -96
- pulumi_kubernetes/core/v1/EventList.py +18 -16
- pulumi_kubernetes/core/v1/EventPatch.py +98 -96
- pulumi_kubernetes/core/v1/LimitRange.py +18 -16
- pulumi_kubernetes/core/v1/LimitRangeList.py +18 -16
- pulumi_kubernetes/core/v1/LimitRangePatch.py +18 -16
- pulumi_kubernetes/core/v1/Namespace.py +18 -16
- pulumi_kubernetes/core/v1/NamespaceList.py +18 -16
- pulumi_kubernetes/core/v1/NamespacePatch.py +18 -16
- pulumi_kubernetes/core/v1/Node.py +18 -16
- pulumi_kubernetes/core/v1/NodeList.py +18 -16
- pulumi_kubernetes/core/v1/NodePatch.py +18 -16
- pulumi_kubernetes/core/v1/PersistentVolume.py +18 -16
- pulumi_kubernetes/core/v1/PersistentVolumeClaim.py +18 -16
- pulumi_kubernetes/core/v1/PersistentVolumeClaimList.py +18 -16
- pulumi_kubernetes/core/v1/PersistentVolumeClaimPatch.py +18 -16
- pulumi_kubernetes/core/v1/PersistentVolumeList.py +18 -16
- pulumi_kubernetes/core/v1/PersistentVolumePatch.py +18 -16
- pulumi_kubernetes/core/v1/Pod.py +18 -16
- pulumi_kubernetes/core/v1/PodList.py +18 -16
- pulumi_kubernetes/core/v1/PodPatch.py +18 -16
- pulumi_kubernetes/core/v1/PodTemplate.py +18 -16
- pulumi_kubernetes/core/v1/PodTemplateList.py +18 -16
- pulumi_kubernetes/core/v1/PodTemplatePatch.py +18 -16
- pulumi_kubernetes/core/v1/ReplicationController.py +18 -16
- pulumi_kubernetes/core/v1/ReplicationControllerList.py +18 -16
- pulumi_kubernetes/core/v1/ReplicationControllerPatch.py +18 -16
- pulumi_kubernetes/core/v1/ResourceQuota.py +18 -16
- pulumi_kubernetes/core/v1/ResourceQuotaList.py +18 -16
- pulumi_kubernetes/core/v1/ResourceQuotaPatch.py +18 -16
- pulumi_kubernetes/core/v1/Secret.py +50 -48
- pulumi_kubernetes/core/v1/SecretList.py +18 -16
- pulumi_kubernetes/core/v1/SecretPatch.py +50 -48
- pulumi_kubernetes/core/v1/Service.py +18 -16
- pulumi_kubernetes/core/v1/ServiceAccount.py +26 -24
- pulumi_kubernetes/core/v1/ServiceAccountList.py +18 -16
- pulumi_kubernetes/core/v1/ServiceAccountPatch.py +26 -24
- pulumi_kubernetes/core/v1/ServiceList.py +18 -16
- pulumi_kubernetes/core/v1/ServicePatch.py +18 -16
- pulumi_kubernetes/core/v1/__init__.py +1 -0
- pulumi_kubernetes/core/v1/_enums.py +4 -1
- pulumi_kubernetes/core/v1/_inputs.py +5736 -5561
- pulumi_kubernetes/core/v1/outputs.py +3853 -3652
- pulumi_kubernetes/discovery/__init__.py +1 -0
- pulumi_kubernetes/discovery/v1/EndpointSlice.py +34 -32
- pulumi_kubernetes/discovery/v1/EndpointSliceList.py +18 -16
- pulumi_kubernetes/discovery/v1/EndpointSlicePatch.py +34 -32
- pulumi_kubernetes/discovery/v1/__init__.py +1 -0
- pulumi_kubernetes/discovery/v1/_inputs.py +294 -178
- pulumi_kubernetes/discovery/v1/outputs.py +184 -108
- pulumi_kubernetes/discovery/v1beta1/EndpointSlice.py +26 -24
- pulumi_kubernetes/discovery/v1beta1/EndpointSliceList.py +18 -16
- pulumi_kubernetes/discovery/v1beta1/EndpointSlicePatch.py +26 -24
- pulumi_kubernetes/discovery/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/discovery/v1beta1/_inputs.py +126 -125
- pulumi_kubernetes/discovery/v1beta1/outputs.py +76 -75
- pulumi_kubernetes/events/__init__.py +1 -0
- pulumi_kubernetes/events/v1/Event.py +98 -96
- pulumi_kubernetes/events/v1/EventList.py +18 -16
- pulumi_kubernetes/events/v1/EventPatch.py +98 -96
- pulumi_kubernetes/events/v1/__init__.py +1 -0
- pulumi_kubernetes/events/v1/_inputs.py +81 -80
- pulumi_kubernetes/events/v1/outputs.py +49 -48
- pulumi_kubernetes/events/v1beta1/Event.py +98 -96
- pulumi_kubernetes/events/v1beta1/EventList.py +18 -16
- pulumi_kubernetes/events/v1beta1/EventPatch.py +98 -96
- pulumi_kubernetes/events/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/events/v1beta1/_inputs.py +91 -90
- pulumi_kubernetes/events/v1beta1/outputs.py +55 -54
- pulumi_kubernetes/extensions/__init__.py +1 -0
- pulumi_kubernetes/extensions/v1beta1/DaemonSet.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/DaemonSetList.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/DaemonSetPatch.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/Deployment.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/DeploymentList.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/DeploymentPatch.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/Ingress.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/IngressList.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/IngressPatch.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/NetworkPolicy.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/NetworkPolicyList.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/NetworkPolicyPatch.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicy.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyList.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyPatch.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/ReplicaSetList.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/ReplicaSetPatch.py +18 -16
- pulumi_kubernetes/extensions/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/extensions/v1beta1/_inputs.py +826 -825
- pulumi_kubernetes/extensions/v1beta1/outputs.py +587 -586
- pulumi_kubernetes/flowcontrol/__init__.py +1 -0
- pulumi_kubernetes/flowcontrol/v1/FlowSchema.py +18 -16
- pulumi_kubernetes/flowcontrol/v1/FlowSchemaList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1/FlowSchemaPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfiguration.py +18 -16
- pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1/__init__.py +1 -0
- pulumi_kubernetes/flowcontrol/v1/_inputs.py +321 -320
- pulumi_kubernetes/flowcontrol/v1/outputs.py +223 -222
- pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchema.py +18 -16
- pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfiguration.py +18 -16
- pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/flowcontrol/v1alpha1/_inputs.py +281 -280
- pulumi_kubernetes/flowcontrol/v1alpha1/outputs.py +199 -198
- pulumi_kubernetes/flowcontrol/v1beta1/FlowSchema.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfiguration.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/flowcontrol/v1beta1/_inputs.py +281 -280
- pulumi_kubernetes/flowcontrol/v1beta1/outputs.py +199 -198
- pulumi_kubernetes/flowcontrol/v1beta2/FlowSchema.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfiguration.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta2/__init__.py +1 -0
- pulumi_kubernetes/flowcontrol/v1beta2/_inputs.py +321 -320
- pulumi_kubernetes/flowcontrol/v1beta2/outputs.py +223 -222
- pulumi_kubernetes/flowcontrol/v1beta3/FlowSchema.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfiguration.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationList.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationPatch.py +18 -16
- pulumi_kubernetes/flowcontrol/v1beta3/__init__.py +1 -0
- pulumi_kubernetes/flowcontrol/v1beta3/_inputs.py +321 -320
- pulumi_kubernetes/flowcontrol/v1beta3/outputs.py +223 -222
- pulumi_kubernetes/helm/__init__.py +1 -0
- pulumi_kubernetes/helm/v3/Release.py +247 -245
- pulumi_kubernetes/helm/v3/__init__.py +1 -0
- pulumi_kubernetes/helm/v3/_inputs.py +31 -30
- pulumi_kubernetes/helm/v3/outputs.py +41 -40
- pulumi_kubernetes/helm/v4/Chart.py +72 -70
- pulumi_kubernetes/helm/v4/__init__.py +1 -0
- pulumi_kubernetes/helm/v4/_inputs.py +26 -25
- pulumi_kubernetes/kustomize/__init__.py +1 -0
- pulumi_kubernetes/kustomize/v2/Directory.py +31 -29
- pulumi_kubernetes/kustomize/v2/__init__.py +1 -0
- pulumi_kubernetes/meta/__init__.py +1 -0
- pulumi_kubernetes/meta/v1/Status.py +43 -41
- pulumi_kubernetes/meta/v1/StatusPatch.py +43 -41
- pulumi_kubernetes/meta/v1/__init__.py +1 -0
- pulumi_kubernetes/meta/v1/_inputs.py +451 -450
- pulumi_kubernetes/meta/v1/outputs.py +289 -288
- pulumi_kubernetes/networking/__init__.py +1 -0
- pulumi_kubernetes/networking/v1/IPAddress.py +218 -0
- pulumi_kubernetes/networking/v1/IPAddressList.py +217 -0
- pulumi_kubernetes/networking/v1/IPAddressPatch.py +230 -0
- pulumi_kubernetes/networking/v1/Ingress.py +18 -16
- pulumi_kubernetes/networking/v1/IngressClass.py +18 -16
- pulumi_kubernetes/networking/v1/IngressClassList.py +18 -16
- pulumi_kubernetes/networking/v1/IngressClassPatch.py +18 -16
- pulumi_kubernetes/networking/v1/IngressList.py +18 -16
- pulumi_kubernetes/networking/v1/IngressPatch.py +18 -16
- pulumi_kubernetes/networking/v1/NetworkPolicy.py +18 -16
- pulumi_kubernetes/networking/v1/NetworkPolicyList.py +18 -16
- pulumi_kubernetes/networking/v1/NetworkPolicyPatch.py +18 -16
- pulumi_kubernetes/networking/v1/ServiceCIDR.py +228 -0
- pulumi_kubernetes/networking/v1/ServiceCIDRList.py +217 -0
- pulumi_kubernetes/networking/v1/ServiceCIDRPatch.py +240 -0
- pulumi_kubernetes/networking/v1/__init__.py +7 -0
- pulumi_kubernetes/networking/v1/_inputs.py +865 -265
- pulumi_kubernetes/networking/v1/outputs.py +632 -170
- pulumi_kubernetes/networking/v1alpha1/ClusterCIDR.py +18 -16
- pulumi_kubernetes/networking/v1alpha1/ClusterCIDRList.py +18 -16
- pulumi_kubernetes/networking/v1alpha1/ClusterCIDRPatch.py +18 -16
- pulumi_kubernetes/networking/v1alpha1/IPAddress.py +19 -17
- pulumi_kubernetes/networking/v1alpha1/IPAddressList.py +18 -16
- pulumi_kubernetes/networking/v1alpha1/IPAddressPatch.py +19 -17
- pulumi_kubernetes/networking/v1alpha1/ServiceCIDR.py +19 -17
- pulumi_kubernetes/networking/v1alpha1/ServiceCIDRList.py +18 -16
- pulumi_kubernetes/networking/v1alpha1/ServiceCIDRPatch.py +19 -17
- pulumi_kubernetes/networking/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/networking/v1alpha1/_inputs.py +121 -120
- pulumi_kubernetes/networking/v1alpha1/outputs.py +73 -72
- pulumi_kubernetes/networking/v1beta1/IPAddress.py +19 -17
- pulumi_kubernetes/networking/v1beta1/IPAddressList.py +18 -16
- pulumi_kubernetes/networking/v1beta1/IPAddressPatch.py +19 -17
- pulumi_kubernetes/networking/v1beta1/Ingress.py +18 -16
- pulumi_kubernetes/networking/v1beta1/IngressClass.py +18 -16
- pulumi_kubernetes/networking/v1beta1/IngressClassList.py +18 -16
- pulumi_kubernetes/networking/v1beta1/IngressClassPatch.py +18 -16
- pulumi_kubernetes/networking/v1beta1/IngressList.py +18 -16
- pulumi_kubernetes/networking/v1beta1/IngressPatch.py +18 -16
- pulumi_kubernetes/networking/v1beta1/ServiceCIDR.py +19 -17
- pulumi_kubernetes/networking/v1beta1/ServiceCIDRList.py +18 -16
- pulumi_kubernetes/networking/v1beta1/ServiceCIDRPatch.py +19 -17
- pulumi_kubernetes/networking/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/networking/v1beta1/_inputs.py +181 -180
- pulumi_kubernetes/networking/v1beta1/outputs.py +105 -104
- pulumi_kubernetes/node/__init__.py +1 -0
- pulumi_kubernetes/node/v1/RuntimeClass.py +26 -24
- pulumi_kubernetes/node/v1/RuntimeClassList.py +18 -16
- pulumi_kubernetes/node/v1/RuntimeClassPatch.py +26 -24
- pulumi_kubernetes/node/v1/__init__.py +1 -0
- pulumi_kubernetes/node/v1/_inputs.py +36 -35
- pulumi_kubernetes/node/v1/outputs.py +22 -21
- pulumi_kubernetes/node/v1alpha1/RuntimeClass.py +18 -16
- pulumi_kubernetes/node/v1alpha1/RuntimeClassList.py +18 -16
- pulumi_kubernetes/node/v1alpha1/RuntimeClassPatch.py +18 -16
- pulumi_kubernetes/node/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/node/v1alpha1/_inputs.py +41 -40
- pulumi_kubernetes/node/v1alpha1/outputs.py +25 -24
- pulumi_kubernetes/node/v1beta1/RuntimeClass.py +26 -24
- pulumi_kubernetes/node/v1beta1/RuntimeClassList.py +18 -16
- pulumi_kubernetes/node/v1beta1/RuntimeClassPatch.py +26 -24
- pulumi_kubernetes/node/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/node/v1beta1/_inputs.py +36 -35
- pulumi_kubernetes/node/v1beta1/outputs.py +22 -21
- pulumi_kubernetes/policy/__init__.py +1 -0
- pulumi_kubernetes/policy/v1/PodDisruptionBudget.py +18 -16
- pulumi_kubernetes/policy/v1/PodDisruptionBudgetList.py +18 -16
- pulumi_kubernetes/policy/v1/PodDisruptionBudgetPatch.py +18 -16
- pulumi_kubernetes/policy/v1/__init__.py +1 -0
- pulumi_kubernetes/policy/v1/_inputs.py +71 -82
- pulumi_kubernetes/policy/v1/outputs.py +53 -60
- pulumi_kubernetes/policy/v1beta1/PodDisruptionBudget.py +18 -16
- pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetList.py +18 -16
- pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetPatch.py +18 -16
- pulumi_kubernetes/policy/v1beta1/PodSecurityPolicy.py +18 -16
- pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyList.py +18 -16
- pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyPatch.py +18 -16
- pulumi_kubernetes/policy/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/policy/v1beta1/_inputs.py +361 -360
- pulumi_kubernetes/policy/v1beta1/outputs.py +227 -226
- pulumi_kubernetes/provider.py +93 -91
- pulumi_kubernetes/pulumi-plugin.json +1 -1
- pulumi_kubernetes/rbac/__init__.py +1 -0
- pulumi_kubernetes/rbac/v1/ClusterRole.py +18 -16
- pulumi_kubernetes/rbac/v1/ClusterRoleBinding.py +18 -16
- pulumi_kubernetes/rbac/v1/ClusterRoleBindingList.py +18 -16
- pulumi_kubernetes/rbac/v1/ClusterRoleBindingPatch.py +18 -16
- pulumi_kubernetes/rbac/v1/ClusterRoleList.py +18 -16
- pulumi_kubernetes/rbac/v1/ClusterRolePatch.py +18 -16
- pulumi_kubernetes/rbac/v1/Role.py +18 -16
- pulumi_kubernetes/rbac/v1/RoleBinding.py +18 -16
- pulumi_kubernetes/rbac/v1/RoleBindingList.py +18 -16
- pulumi_kubernetes/rbac/v1/RoleBindingPatch.py +18 -16
- pulumi_kubernetes/rbac/v1/RoleList.py +18 -16
- pulumi_kubernetes/rbac/v1/RolePatch.py +18 -16
- pulumi_kubernetes/rbac/v1/__init__.py +1 -0
- pulumi_kubernetes/rbac/v1/_inputs.py +161 -160
- pulumi_kubernetes/rbac/v1/outputs.py +97 -96
- pulumi_kubernetes/rbac/v1alpha1/ClusterRole.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBinding.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingList.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingPatch.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleList.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/ClusterRolePatch.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/Role.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/RoleBinding.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/RoleBindingList.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/RoleBindingPatch.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/RoleList.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/RolePatch.py +18 -16
- pulumi_kubernetes/rbac/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/rbac/v1alpha1/_inputs.py +161 -160
- pulumi_kubernetes/rbac/v1alpha1/outputs.py +97 -96
- pulumi_kubernetes/rbac/v1beta1/ClusterRole.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleBinding.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingList.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingPatch.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleList.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/ClusterRolePatch.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/Role.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/RoleBinding.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/RoleBindingList.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/RoleBindingPatch.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/RoleList.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/RolePatch.py +18 -16
- pulumi_kubernetes/rbac/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/rbac/v1beta1/_inputs.py +161 -160
- pulumi_kubernetes/rbac/v1beta1/outputs.py +97 -96
- pulumi_kubernetes/resource/__init__.py +4 -0
- pulumi_kubernetes/resource/v1alpha1/PodScheduling.py +18 -16
- pulumi_kubernetes/resource/v1alpha1/PodSchedulingList.py +18 -16
- pulumi_kubernetes/resource/v1alpha1/PodSchedulingPatch.py +18 -16
- pulumi_kubernetes/resource/v1alpha1/ResourceClaim.py +19 -17
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimList.py +18 -16
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimPatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplate.py +19 -17
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplateList.py +18 -16
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplatePatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha1/ResourceClass.py +26 -24
- pulumi_kubernetes/resource/v1alpha1/ResourceClassList.py +18 -16
- pulumi_kubernetes/resource/v1alpha1/ResourceClassPatch.py +26 -24
- pulumi_kubernetes/resource/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/resource/v1alpha1/_inputs.py +206 -205
- pulumi_kubernetes/resource/v1alpha1/outputs.py +154 -153
- pulumi_kubernetes/resource/v1alpha2/PodSchedulingContext.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextList.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextPatch.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClaim.py +19 -17
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimList.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimParameters.py +26 -24
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersList.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersPatch.py +26 -24
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimPatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplate.py +19 -17
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplateList.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplatePatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha2/ResourceClass.py +34 -32
- pulumi_kubernetes/resource/v1alpha2/ResourceClassList.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClassParameters.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersList.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersPatch.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceClassPatch.py +34 -32
- pulumi_kubernetes/resource/v1alpha2/ResourceSlice.py +35 -33
- pulumi_kubernetes/resource/v1alpha2/ResourceSliceList.py +18 -16
- pulumi_kubernetes/resource/v1alpha2/ResourceSlicePatch.py +35 -33
- pulumi_kubernetes/resource/v1alpha2/__init__.py +1 -0
- pulumi_kubernetes/resource/v1alpha2/_inputs.py +411 -410
- pulumi_kubernetes/resource/v1alpha2/outputs.py +286 -285
- pulumi_kubernetes/resource/v1alpha3/DeviceClass.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/DeviceClassList.py +18 -16
- pulumi_kubernetes/resource/v1alpha3/DeviceClassPatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/DeviceTaintRule.py +225 -0
- pulumi_kubernetes/resource/v1alpha3/DeviceTaintRuleList.py +217 -0
- pulumi_kubernetes/resource/v1alpha3/DeviceTaintRulePatch.py +236 -0
- pulumi_kubernetes/resource/v1alpha3/PodSchedulingContext.py +18 -16
- pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextList.py +18 -16
- pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextPatch.py +18 -16
- pulumi_kubernetes/resource/v1alpha3/ResourceClaim.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimList.py +18 -16
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimPatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplate.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplateList.py +18 -16
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplatePatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/ResourceSlice.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/ResourceSliceList.py +18 -16
- pulumi_kubernetes/resource/v1alpha3/ResourceSlicePatch.py +19 -17
- pulumi_kubernetes/resource/v1alpha3/__init__.py +4 -0
- pulumi_kubernetes/resource/v1alpha3/_inputs.py +2999 -652
- pulumi_kubernetes/resource/v1alpha3/outputs.py +2286 -504
- pulumi_kubernetes/resource/v1beta1/DeviceClass.py +19 -17
- pulumi_kubernetes/resource/v1beta1/DeviceClassList.py +18 -16
- pulumi_kubernetes/resource/v1beta1/DeviceClassPatch.py +19 -17
- pulumi_kubernetes/resource/v1beta1/ResourceClaim.py +19 -17
- pulumi_kubernetes/resource/v1beta1/ResourceClaimList.py +18 -16
- pulumi_kubernetes/resource/v1beta1/ResourceClaimPatch.py +19 -17
- pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplate.py +19 -17
- pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplateList.py +18 -16
- pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplatePatch.py +19 -17
- pulumi_kubernetes/resource/v1beta1/ResourceSlice.py +19 -17
- pulumi_kubernetes/resource/v1beta1/ResourceSliceList.py +18 -16
- pulumi_kubernetes/resource/v1beta1/ResourceSlicePatch.py +19 -17
- pulumi_kubernetes/resource/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/resource/v1beta1/_inputs.py +2481 -612
- pulumi_kubernetes/resource/v1beta1/outputs.py +1782 -379
- pulumi_kubernetes/resource/v1beta2/DeviceClass.py +239 -0
- pulumi_kubernetes/resource/v1beta2/DeviceClassList.py +217 -0
- pulumi_kubernetes/resource/v1beta2/DeviceClassPatch.py +250 -0
- pulumi_kubernetes/resource/v1beta2/ResourceClaim.py +234 -0
- pulumi_kubernetes/resource/v1beta2/ResourceClaimList.py +218 -0
- pulumi_kubernetes/resource/v1beta2/ResourceClaimPatch.py +245 -0
- pulumi_kubernetes/resource/v1beta2/ResourceClaimTemplate.py +231 -0
- pulumi_kubernetes/resource/v1beta2/ResourceClaimTemplateList.py +217 -0
- pulumi_kubernetes/resource/v1beta2/ResourceClaimTemplatePatch.py +242 -0
- pulumi_kubernetes/resource/v1beta2/ResourceSlice.py +248 -0
- pulumi_kubernetes/resource/v1beta2/ResourceSliceList.py +218 -0
- pulumi_kubernetes/resource/v1beta2/ResourceSlicePatch.py +259 -0
- pulumi_kubernetes/resource/v1beta2/__init__.py +22 -0
- pulumi_kubernetes/resource/v1beta2/_inputs.py +5681 -0
- pulumi_kubernetes/resource/v1beta2/outputs.py +4726 -0
- pulumi_kubernetes/scheduling/__init__.py +1 -0
- pulumi_kubernetes/scheduling/v1/PriorityClass.py +50 -48
- pulumi_kubernetes/scheduling/v1/PriorityClassList.py +18 -16
- pulumi_kubernetes/scheduling/v1/PriorityClassPatch.py +50 -48
- pulumi_kubernetes/scheduling/v1/__init__.py +1 -0
- pulumi_kubernetes/scheduling/v1/_inputs.py +31 -30
- pulumi_kubernetes/scheduling/v1/outputs.py +19 -18
- pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py +50 -48
- pulumi_kubernetes/scheduling/v1alpha1/PriorityClassList.py +18 -16
- pulumi_kubernetes/scheduling/v1alpha1/PriorityClassPatch.py +50 -48
- pulumi_kubernetes/scheduling/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/scheduling/v1alpha1/_inputs.py +31 -30
- pulumi_kubernetes/scheduling/v1alpha1/outputs.py +19 -18
- pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py +50 -48
- pulumi_kubernetes/scheduling/v1beta1/PriorityClassList.py +18 -16
- pulumi_kubernetes/scheduling/v1beta1/PriorityClassPatch.py +50 -48
- pulumi_kubernetes/scheduling/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/scheduling/v1beta1/_inputs.py +31 -30
- pulumi_kubernetes/scheduling/v1beta1/outputs.py +19 -18
- pulumi_kubernetes/settings/__init__.py +1 -0
- pulumi_kubernetes/settings/v1alpha1/PodPreset.py +18 -16
- pulumi_kubernetes/settings/v1alpha1/PodPresetList.py +18 -16
- pulumi_kubernetes/settings/v1alpha1/PodPresetPatch.py +18 -16
- pulumi_kubernetes/settings/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/settings/v1alpha1/_inputs.py +11 -10
- pulumi_kubernetes/settings/v1alpha1/outputs.py +7 -6
- pulumi_kubernetes/storage/__init__.py +1 -0
- pulumi_kubernetes/storage/v1/CSIDriver.py +18 -16
- pulumi_kubernetes/storage/v1/CSIDriverList.py +18 -16
- pulumi_kubernetes/storage/v1/CSIDriverPatch.py +18 -16
- pulumi_kubernetes/storage/v1/CSINode.py +18 -16
- pulumi_kubernetes/storage/v1/CSINodeList.py +18 -16
- pulumi_kubernetes/storage/v1/CSINodePatch.py +18 -16
- pulumi_kubernetes/storage/v1/CSIStorageCapacity.py +42 -40
- pulumi_kubernetes/storage/v1/CSIStorageCapacityList.py +18 -16
- pulumi_kubernetes/storage/v1/CSIStorageCapacityPatch.py +42 -40
- pulumi_kubernetes/storage/v1/StorageClass.py +66 -64
- pulumi_kubernetes/storage/v1/StorageClassList.py +18 -16
- pulumi_kubernetes/storage/v1/StorageClassPatch.py +66 -64
- pulumi_kubernetes/storage/v1/VolumeAttachment.py +18 -16
- pulumi_kubernetes/storage/v1/VolumeAttachmentList.py +18 -16
- pulumi_kubernetes/storage/v1/VolumeAttachmentPatch.py +18 -16
- pulumi_kubernetes/storage/v1/__init__.py +1 -0
- pulumi_kubernetes/storage/v1/_inputs.py +366 -275
- pulumi_kubernetes/storage/v1/outputs.py +288 -177
- pulumi_kubernetes/storage/v1alpha1/VolumeAttachment.py +18 -16
- pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentList.py +18 -16
- pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentPatch.py +18 -16
- pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClass.py +34 -32
- pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassList.py +18 -16
- pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassPatch.py +34 -32
- pulumi_kubernetes/storage/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/storage/v1alpha1/_inputs.py +81 -80
- pulumi_kubernetes/storage/v1alpha1/outputs.py +61 -60
- pulumi_kubernetes/storage/v1beta1/CSIDriver.py +18 -16
- pulumi_kubernetes/storage/v1beta1/CSIDriverList.py +18 -16
- pulumi_kubernetes/storage/v1beta1/CSIDriverPatch.py +18 -16
- pulumi_kubernetes/storage/v1beta1/CSINode.py +18 -16
- pulumi_kubernetes/storage/v1beta1/CSINodeList.py +18 -16
- pulumi_kubernetes/storage/v1beta1/CSINodePatch.py +18 -16
- pulumi_kubernetes/storage/v1beta1/CSIStorageCapacity.py +42 -40
- pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityList.py +18 -16
- pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityPatch.py +42 -40
- pulumi_kubernetes/storage/v1beta1/StorageClass.py +66 -64
- pulumi_kubernetes/storage/v1beta1/StorageClassList.py +18 -16
- pulumi_kubernetes/storage/v1beta1/StorageClassPatch.py +66 -64
- pulumi_kubernetes/storage/v1beta1/VolumeAttachment.py +18 -16
- pulumi_kubernetes/storage/v1beta1/VolumeAttachmentList.py +18 -16
- pulumi_kubernetes/storage/v1beta1/VolumeAttachmentPatch.py +18 -16
- pulumi_kubernetes/storage/v1beta1/VolumeAttributesClass.py +34 -32
- pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassList.py +18 -16
- pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassPatch.py +34 -32
- pulumi_kubernetes/storage/v1beta1/__init__.py +1 -0
- pulumi_kubernetes/storage/v1beta1/_inputs.py +286 -285
- pulumi_kubernetes/storage/v1beta1/outputs.py +184 -183
- pulumi_kubernetes/storagemigration/__init__.py +1 -0
- pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigration.py +18 -16
- pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationList.py +18 -16
- pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationPatch.py +18 -16
- pulumi_kubernetes/storagemigration/v1alpha1/__init__.py +1 -0
- pulumi_kubernetes/storagemigration/v1alpha1/_inputs.py +81 -80
- pulumi_kubernetes/storagemigration/v1alpha1/outputs.py +67 -66
- pulumi_kubernetes/yaml/__init__.py +1 -0
- pulumi_kubernetes/yaml/v2/ConfigFile.py +23 -21
- pulumi_kubernetes/yaml/v2/ConfigGroup.py +30 -28
- pulumi_kubernetes/yaml/v2/__init__.py +1 -0
- pulumi_kubernetes/yaml/yaml.py +108 -0
- {pulumi_kubernetes-4.22.1.dist-info → pulumi_kubernetes-4.23.0.dist-info}/METADATA +4 -4
- pulumi_kubernetes-4.23.0.dist-info/RECORD +709 -0
- {pulumi_kubernetes-4.22.1.dist-info → pulumi_kubernetes-4.23.0.dist-info}/WHEEL +1 -1
- pulumi_kubernetes-4.22.1.dist-info/RECORD +0 -679
- {pulumi_kubernetes-4.22.1.dist-info → pulumi_kubernetes-4.23.0.dist-info}/top_level.txt +0 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
# *** WARNING: this file was generated by pulumigen. ***
|
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
4
|
|
|
5
|
+
import builtins
|
|
5
6
|
import copy
|
|
6
7
|
import warnings
|
|
7
8
|
import sys
|
|
@@ -26,6 +27,9 @@ __all__ = [
|
|
|
26
27
|
'BasicDevicePatch',
|
|
27
28
|
'CELDeviceSelector',
|
|
28
29
|
'CELDeviceSelectorPatch',
|
|
30
|
+
'Counter',
|
|
31
|
+
'CounterSet',
|
|
32
|
+
'CounterSetPatch',
|
|
29
33
|
'Device',
|
|
30
34
|
'DeviceAllocationConfiguration',
|
|
31
35
|
'DeviceAllocationConfigurationPatch',
|
|
@@ -43,6 +47,8 @@ __all__ = [
|
|
|
43
47
|
'DeviceClassSpecPatch',
|
|
44
48
|
'DeviceConstraint',
|
|
45
49
|
'DeviceConstraintPatch',
|
|
50
|
+
'DeviceCounterConsumption',
|
|
51
|
+
'DeviceCounterConsumptionPatch',
|
|
46
52
|
'DevicePatch',
|
|
47
53
|
'DeviceRequest',
|
|
48
54
|
'DeviceRequestAllocationResult',
|
|
@@ -50,6 +56,17 @@ __all__ = [
|
|
|
50
56
|
'DeviceRequestPatch',
|
|
51
57
|
'DeviceSelector',
|
|
52
58
|
'DeviceSelectorPatch',
|
|
59
|
+
'DeviceSubRequest',
|
|
60
|
+
'DeviceSubRequestPatch',
|
|
61
|
+
'DeviceTaint',
|
|
62
|
+
'DeviceTaintPatch',
|
|
63
|
+
'DeviceTaintRule',
|
|
64
|
+
'DeviceTaintRuleSpec',
|
|
65
|
+
'DeviceTaintRuleSpecPatch',
|
|
66
|
+
'DeviceTaintSelector',
|
|
67
|
+
'DeviceTaintSelectorPatch',
|
|
68
|
+
'DeviceToleration',
|
|
69
|
+
'DeviceTolerationPatch',
|
|
53
70
|
'NetworkDeviceData',
|
|
54
71
|
'NetworkDeviceDataPatch',
|
|
55
72
|
'OpaqueDeviceConfiguration',
|
|
@@ -101,22 +118,24 @@ class AllocatedDeviceStatus(dict):
|
|
|
101
118
|
return super().get(key, default)
|
|
102
119
|
|
|
103
120
|
def __init__(__self__, *,
|
|
104
|
-
device: str,
|
|
105
|
-
driver: str,
|
|
106
|
-
pool: str,
|
|
121
|
+
device: builtins.str,
|
|
122
|
+
driver: builtins.str,
|
|
123
|
+
pool: builtins.str,
|
|
107
124
|
conditions: Optional[Sequence['_meta.v1.outputs.Condition']] = None,
|
|
108
125
|
data: Optional[Any] = None,
|
|
109
126
|
network_data: Optional['outputs.NetworkDeviceData'] = None):
|
|
110
127
|
"""
|
|
111
128
|
AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.
|
|
112
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
113
|
-
:param str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
129
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
130
|
+
:param builtins.str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
114
131
|
|
|
115
132
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
116
|
-
:param str pool: This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
133
|
+
:param builtins.str pool: This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
117
134
|
|
|
118
135
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
119
136
|
:param Sequence['_meta.v1.ConditionArgs'] conditions: Conditions contains the latest observation of the device's state. If the device has been configured according to the class and claim config references, the `Ready` condition should be True.
|
|
137
|
+
|
|
138
|
+
Must not contain more than 8 entries.
|
|
120
139
|
:param Any data: Data contains arbitrary driver-specific data.
|
|
121
140
|
|
|
122
141
|
The length of the raw data must be smaller or equal to 10 Ki.
|
|
@@ -134,7 +153,7 @@ class AllocatedDeviceStatus(dict):
|
|
|
134
153
|
|
|
135
154
|
@property
|
|
136
155
|
@pulumi.getter
|
|
137
|
-
def device(self) -> str:
|
|
156
|
+
def device(self) -> builtins.str:
|
|
138
157
|
"""
|
|
139
158
|
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
140
159
|
"""
|
|
@@ -142,7 +161,7 @@ class AllocatedDeviceStatus(dict):
|
|
|
142
161
|
|
|
143
162
|
@property
|
|
144
163
|
@pulumi.getter
|
|
145
|
-
def driver(self) -> str:
|
|
164
|
+
def driver(self) -> builtins.str:
|
|
146
165
|
"""
|
|
147
166
|
Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
148
167
|
|
|
@@ -152,7 +171,7 @@ class AllocatedDeviceStatus(dict):
|
|
|
152
171
|
|
|
153
172
|
@property
|
|
154
173
|
@pulumi.getter
|
|
155
|
-
def pool(self) -> str:
|
|
174
|
+
def pool(self) -> builtins.str:
|
|
156
175
|
"""
|
|
157
176
|
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
158
177
|
|
|
@@ -165,6 +184,8 @@ class AllocatedDeviceStatus(dict):
|
|
|
165
184
|
def conditions(self) -> Optional[Sequence['_meta.v1.outputs.Condition']]:
|
|
166
185
|
"""
|
|
167
186
|
Conditions contains the latest observation of the device's state. If the device has been configured according to the class and claim config references, the `Ready` condition should be True.
|
|
187
|
+
|
|
188
|
+
Must not contain more than 8 entries.
|
|
168
189
|
"""
|
|
169
190
|
return pulumi.get(self, "conditions")
|
|
170
191
|
|
|
@@ -212,22 +233,24 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
212
233
|
def __init__(__self__, *,
|
|
213
234
|
conditions: Optional[Sequence['_meta.v1.outputs.ConditionPatch']] = None,
|
|
214
235
|
data: Optional[Any] = None,
|
|
215
|
-
device: Optional[str] = None,
|
|
216
|
-
driver: Optional[str] = None,
|
|
236
|
+
device: Optional[builtins.str] = None,
|
|
237
|
+
driver: Optional[builtins.str] = None,
|
|
217
238
|
network_data: Optional['outputs.NetworkDeviceDataPatch'] = None,
|
|
218
|
-
pool: Optional[str] = None):
|
|
239
|
+
pool: Optional[builtins.str] = None):
|
|
219
240
|
"""
|
|
220
241
|
AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.
|
|
221
242
|
:param Sequence['_meta.v1.ConditionPatchArgs'] conditions: Conditions contains the latest observation of the device's state. If the device has been configured according to the class and claim config references, the `Ready` condition should be True.
|
|
243
|
+
|
|
244
|
+
Must not contain more than 8 entries.
|
|
222
245
|
:param Any data: Data contains arbitrary driver-specific data.
|
|
223
246
|
|
|
224
247
|
The length of the raw data must be smaller or equal to 10 Ki.
|
|
225
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
226
|
-
:param str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
248
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
249
|
+
:param builtins.str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
227
250
|
|
|
228
251
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
229
252
|
:param 'NetworkDeviceDataPatchArgs' network_data: NetworkData contains network-related information specific to the device.
|
|
230
|
-
:param str pool: This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
253
|
+
:param builtins.str pool: This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
231
254
|
|
|
232
255
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
233
256
|
"""
|
|
@@ -249,6 +272,8 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
249
272
|
def conditions(self) -> Optional[Sequence['_meta.v1.outputs.ConditionPatch']]:
|
|
250
273
|
"""
|
|
251
274
|
Conditions contains the latest observation of the device's state. If the device has been configured according to the class and claim config references, the `Ready` condition should be True.
|
|
275
|
+
|
|
276
|
+
Must not contain more than 8 entries.
|
|
252
277
|
"""
|
|
253
278
|
return pulumi.get(self, "conditions")
|
|
254
279
|
|
|
@@ -264,7 +289,7 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
264
289
|
|
|
265
290
|
@property
|
|
266
291
|
@pulumi.getter
|
|
267
|
-
def device(self) -> Optional[str]:
|
|
292
|
+
def device(self) -> Optional[builtins.str]:
|
|
268
293
|
"""
|
|
269
294
|
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
270
295
|
"""
|
|
@@ -272,7 +297,7 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
272
297
|
|
|
273
298
|
@property
|
|
274
299
|
@pulumi.getter
|
|
275
|
-
def driver(self) -> Optional[str]:
|
|
300
|
+
def driver(self) -> Optional[builtins.str]:
|
|
276
301
|
"""
|
|
277
302
|
Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
278
303
|
|
|
@@ -290,7 +315,7 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
290
315
|
|
|
291
316
|
@property
|
|
292
317
|
@pulumi.getter
|
|
293
|
-
def pool(self) -> Optional[str]:
|
|
318
|
+
def pool(self) -> Optional[builtins.str]:
|
|
294
319
|
"""
|
|
295
320
|
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
296
321
|
|
|
@@ -322,12 +347,12 @@ class AllocationResult(dict):
|
|
|
322
347
|
return super().get(key, default)
|
|
323
348
|
|
|
324
349
|
def __init__(__self__, *,
|
|
325
|
-
controller: Optional[str] = None,
|
|
350
|
+
controller: Optional[builtins.str] = None,
|
|
326
351
|
devices: Optional['outputs.DeviceAllocationResult'] = None,
|
|
327
352
|
node_selector: Optional['_core.v1.outputs.NodeSelector'] = None):
|
|
328
353
|
"""
|
|
329
354
|
AllocationResult contains attributes of an allocated resource.
|
|
330
|
-
:param str controller: Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.
|
|
355
|
+
:param builtins.str controller: Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.
|
|
331
356
|
|
|
332
357
|
A driver may allocate devices provided by other drivers, so this driver name here can be different from the driver names listed for the results.
|
|
333
358
|
|
|
@@ -344,7 +369,7 @@ class AllocationResult(dict):
|
|
|
344
369
|
|
|
345
370
|
@property
|
|
346
371
|
@pulumi.getter
|
|
347
|
-
def controller(self) -> Optional[str]:
|
|
372
|
+
def controller(self) -> Optional[builtins.str]:
|
|
348
373
|
"""
|
|
349
374
|
Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.
|
|
350
375
|
|
|
@@ -394,12 +419,12 @@ class AllocationResultPatch(dict):
|
|
|
394
419
|
return super().get(key, default)
|
|
395
420
|
|
|
396
421
|
def __init__(__self__, *,
|
|
397
|
-
controller: Optional[str] = None,
|
|
422
|
+
controller: Optional[builtins.str] = None,
|
|
398
423
|
devices: Optional['outputs.DeviceAllocationResultPatch'] = None,
|
|
399
424
|
node_selector: Optional['_core.v1.outputs.NodeSelectorPatch'] = None):
|
|
400
425
|
"""
|
|
401
426
|
AllocationResult contains attributes of an allocated resource.
|
|
402
|
-
:param str controller: Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.
|
|
427
|
+
:param builtins.str controller: Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.
|
|
403
428
|
|
|
404
429
|
A driver may allocate devices provided by other drivers, so this driver name here can be different from the driver names listed for the results.
|
|
405
430
|
|
|
@@ -416,7 +441,7 @@ class AllocationResultPatch(dict):
|
|
|
416
441
|
|
|
417
442
|
@property
|
|
418
443
|
@pulumi.getter
|
|
419
|
-
def controller(self) -> Optional[str]:
|
|
444
|
+
def controller(self) -> Optional[builtins.str]:
|
|
420
445
|
"""
|
|
421
446
|
Controller is the name of the DRA driver which handled the allocation. That driver is also responsible for deallocating the claim. It is empty when the claim can be deallocated without involving a driver.
|
|
422
447
|
|
|
@@ -448,22 +473,89 @@ class BasicDevice(dict):
|
|
|
448
473
|
"""
|
|
449
474
|
BasicDevice defines one device instance.
|
|
450
475
|
"""
|
|
476
|
+
@staticmethod
|
|
477
|
+
def __key_warning(key: str):
|
|
478
|
+
suggest = None
|
|
479
|
+
if key == "allNodes":
|
|
480
|
+
suggest = "all_nodes"
|
|
481
|
+
elif key == "consumesCounters":
|
|
482
|
+
suggest = "consumes_counters"
|
|
483
|
+
elif key == "nodeName":
|
|
484
|
+
suggest = "node_name"
|
|
485
|
+
elif key == "nodeSelector":
|
|
486
|
+
suggest = "node_selector"
|
|
487
|
+
|
|
488
|
+
if suggest:
|
|
489
|
+
pulumi.log.warn(f"Key '{key}' not found in BasicDevice. Access the value via the '{suggest}' property getter instead.")
|
|
490
|
+
|
|
491
|
+
def __getitem__(self, key: str) -> Any:
|
|
492
|
+
BasicDevice.__key_warning(key)
|
|
493
|
+
return super().__getitem__(key)
|
|
494
|
+
|
|
495
|
+
def get(self, key: str, default = None) -> Any:
|
|
496
|
+
BasicDevice.__key_warning(key)
|
|
497
|
+
return super().get(key, default)
|
|
498
|
+
|
|
451
499
|
def __init__(__self__, *,
|
|
500
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
452
501
|
attributes: Optional[Mapping[str, 'outputs.DeviceAttribute']] = None,
|
|
453
|
-
capacity: Optional[Mapping[str, str]] = None
|
|
502
|
+
capacity: Optional[Mapping[str, builtins.str]] = None,
|
|
503
|
+
consumes_counters: Optional[Sequence['outputs.DeviceCounterConsumption']] = None,
|
|
504
|
+
node_name: Optional[builtins.str] = None,
|
|
505
|
+
node_selector: Optional['_core.v1.outputs.NodeSelector'] = None,
|
|
506
|
+
taints: Optional[Sequence['outputs.DeviceTaint']] = None):
|
|
454
507
|
"""
|
|
455
508
|
BasicDevice defines one device instance.
|
|
509
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the device.
|
|
510
|
+
|
|
511
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
456
512
|
:param Mapping[str, 'DeviceAttributeArgs'] attributes: Attributes defines the set of attributes for this device. The name of each attribute must be unique in that set.
|
|
457
513
|
|
|
458
514
|
The maximum number of attributes and capacities combined is 32.
|
|
459
|
-
:param Mapping[str, str] capacity: Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
515
|
+
:param Mapping[str, builtins.str] capacity: Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
460
516
|
|
|
461
517
|
The maximum number of attributes and capacities combined is 32.
|
|
518
|
+
:param Sequence['DeviceCounterConsumptionArgs'] consumes_counters: ConsumesCounters defines a list of references to sharedCounters and the set of counters that the device will consume from those counter sets.
|
|
519
|
+
|
|
520
|
+
There can only be a single entry per counterSet.
|
|
521
|
+
|
|
522
|
+
The total number of device counter consumption entries must be <= 32. In addition, the total number in the entire ResourceSlice must be <= 1024 (for example, 64 devices with 16 counters each).
|
|
523
|
+
:param builtins.str node_name: NodeName identifies the node where the device is available.
|
|
524
|
+
|
|
525
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
526
|
+
:param '_core.v1.NodeSelectorArgs' node_selector: NodeSelector defines the nodes where the device is available.
|
|
527
|
+
|
|
528
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
529
|
+
:param Sequence['DeviceTaintArgs'] taints: If specified, these are the driver-defined taints.
|
|
530
|
+
|
|
531
|
+
The maximum number of taints is 4.
|
|
532
|
+
|
|
533
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
462
534
|
"""
|
|
535
|
+
if all_nodes is not None:
|
|
536
|
+
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
463
537
|
if attributes is not None:
|
|
464
538
|
pulumi.set(__self__, "attributes", attributes)
|
|
465
539
|
if capacity is not None:
|
|
466
540
|
pulumi.set(__self__, "capacity", capacity)
|
|
541
|
+
if consumes_counters is not None:
|
|
542
|
+
pulumi.set(__self__, "consumes_counters", consumes_counters)
|
|
543
|
+
if node_name is not None:
|
|
544
|
+
pulumi.set(__self__, "node_name", node_name)
|
|
545
|
+
if node_selector is not None:
|
|
546
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
|
547
|
+
if taints is not None:
|
|
548
|
+
pulumi.set(__self__, "taints", taints)
|
|
549
|
+
|
|
550
|
+
@property
|
|
551
|
+
@pulumi.getter(name="allNodes")
|
|
552
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
553
|
+
"""
|
|
554
|
+
AllNodes indicates that all nodes have access to the device.
|
|
555
|
+
|
|
556
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
557
|
+
"""
|
|
558
|
+
return pulumi.get(self, "all_nodes")
|
|
467
559
|
|
|
468
560
|
@property
|
|
469
561
|
@pulumi.getter
|
|
@@ -477,7 +569,7 @@ class BasicDevice(dict):
|
|
|
477
569
|
|
|
478
570
|
@property
|
|
479
571
|
@pulumi.getter
|
|
480
|
-
def capacity(self) -> Optional[Mapping[str, str]]:
|
|
572
|
+
def capacity(self) -> Optional[Mapping[str, builtins.str]]:
|
|
481
573
|
"""
|
|
482
574
|
Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
483
575
|
|
|
@@ -485,28 +577,139 @@ class BasicDevice(dict):
|
|
|
485
577
|
"""
|
|
486
578
|
return pulumi.get(self, "capacity")
|
|
487
579
|
|
|
580
|
+
@property
|
|
581
|
+
@pulumi.getter(name="consumesCounters")
|
|
582
|
+
def consumes_counters(self) -> Optional[Sequence['outputs.DeviceCounterConsumption']]:
|
|
583
|
+
"""
|
|
584
|
+
ConsumesCounters defines a list of references to sharedCounters and the set of counters that the device will consume from those counter sets.
|
|
585
|
+
|
|
586
|
+
There can only be a single entry per counterSet.
|
|
587
|
+
|
|
588
|
+
The total number of device counter consumption entries must be <= 32. In addition, the total number in the entire ResourceSlice must be <= 1024 (for example, 64 devices with 16 counters each).
|
|
589
|
+
"""
|
|
590
|
+
return pulumi.get(self, "consumes_counters")
|
|
591
|
+
|
|
592
|
+
@property
|
|
593
|
+
@pulumi.getter(name="nodeName")
|
|
594
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
595
|
+
"""
|
|
596
|
+
NodeName identifies the node where the device is available.
|
|
597
|
+
|
|
598
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
599
|
+
"""
|
|
600
|
+
return pulumi.get(self, "node_name")
|
|
601
|
+
|
|
602
|
+
@property
|
|
603
|
+
@pulumi.getter(name="nodeSelector")
|
|
604
|
+
def node_selector(self) -> Optional['_core.v1.outputs.NodeSelector']:
|
|
605
|
+
"""
|
|
606
|
+
NodeSelector defines the nodes where the device is available.
|
|
607
|
+
|
|
608
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
609
|
+
"""
|
|
610
|
+
return pulumi.get(self, "node_selector")
|
|
611
|
+
|
|
612
|
+
@property
|
|
613
|
+
@pulumi.getter
|
|
614
|
+
def taints(self) -> Optional[Sequence['outputs.DeviceTaint']]:
|
|
615
|
+
"""
|
|
616
|
+
If specified, these are the driver-defined taints.
|
|
617
|
+
|
|
618
|
+
The maximum number of taints is 4.
|
|
619
|
+
|
|
620
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
621
|
+
"""
|
|
622
|
+
return pulumi.get(self, "taints")
|
|
623
|
+
|
|
488
624
|
|
|
489
625
|
@pulumi.output_type
|
|
490
626
|
class BasicDevicePatch(dict):
|
|
491
627
|
"""
|
|
492
628
|
BasicDevice defines one device instance.
|
|
493
629
|
"""
|
|
630
|
+
@staticmethod
|
|
631
|
+
def __key_warning(key: str):
|
|
632
|
+
suggest = None
|
|
633
|
+
if key == "allNodes":
|
|
634
|
+
suggest = "all_nodes"
|
|
635
|
+
elif key == "consumesCounters":
|
|
636
|
+
suggest = "consumes_counters"
|
|
637
|
+
elif key == "nodeName":
|
|
638
|
+
suggest = "node_name"
|
|
639
|
+
elif key == "nodeSelector":
|
|
640
|
+
suggest = "node_selector"
|
|
641
|
+
|
|
642
|
+
if suggest:
|
|
643
|
+
pulumi.log.warn(f"Key '{key}' not found in BasicDevicePatch. Access the value via the '{suggest}' property getter instead.")
|
|
644
|
+
|
|
645
|
+
def __getitem__(self, key: str) -> Any:
|
|
646
|
+
BasicDevicePatch.__key_warning(key)
|
|
647
|
+
return super().__getitem__(key)
|
|
648
|
+
|
|
649
|
+
def get(self, key: str, default = None) -> Any:
|
|
650
|
+
BasicDevicePatch.__key_warning(key)
|
|
651
|
+
return super().get(key, default)
|
|
652
|
+
|
|
494
653
|
def __init__(__self__, *,
|
|
654
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
495
655
|
attributes: Optional[Mapping[str, 'outputs.DeviceAttribute']] = None,
|
|
496
|
-
capacity: Optional[Mapping[str, str]] = None
|
|
656
|
+
capacity: Optional[Mapping[str, builtins.str]] = None,
|
|
657
|
+
consumes_counters: Optional[Sequence['outputs.DeviceCounterConsumptionPatch']] = None,
|
|
658
|
+
node_name: Optional[builtins.str] = None,
|
|
659
|
+
node_selector: Optional['_core.v1.outputs.NodeSelectorPatch'] = None,
|
|
660
|
+
taints: Optional[Sequence['outputs.DeviceTaintPatch']] = None):
|
|
497
661
|
"""
|
|
498
662
|
BasicDevice defines one device instance.
|
|
663
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the device.
|
|
664
|
+
|
|
665
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
499
666
|
:param Mapping[str, 'DeviceAttributeArgs'] attributes: Attributes defines the set of attributes for this device. The name of each attribute must be unique in that set.
|
|
500
667
|
|
|
501
668
|
The maximum number of attributes and capacities combined is 32.
|
|
502
|
-
:param Mapping[str, str] capacity: Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
669
|
+
:param Mapping[str, builtins.str] capacity: Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
503
670
|
|
|
504
671
|
The maximum number of attributes and capacities combined is 32.
|
|
672
|
+
:param Sequence['DeviceCounterConsumptionPatchArgs'] consumes_counters: ConsumesCounters defines a list of references to sharedCounters and the set of counters that the device will consume from those counter sets.
|
|
673
|
+
|
|
674
|
+
There can only be a single entry per counterSet.
|
|
675
|
+
|
|
676
|
+
The total number of device counter consumption entries must be <= 32. In addition, the total number in the entire ResourceSlice must be <= 1024 (for example, 64 devices with 16 counters each).
|
|
677
|
+
:param builtins.str node_name: NodeName identifies the node where the device is available.
|
|
678
|
+
|
|
679
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
680
|
+
:param '_core.v1.NodeSelectorPatchArgs' node_selector: NodeSelector defines the nodes where the device is available.
|
|
681
|
+
|
|
682
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
683
|
+
:param Sequence['DeviceTaintPatchArgs'] taints: If specified, these are the driver-defined taints.
|
|
684
|
+
|
|
685
|
+
The maximum number of taints is 4.
|
|
686
|
+
|
|
687
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
505
688
|
"""
|
|
689
|
+
if all_nodes is not None:
|
|
690
|
+
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
506
691
|
if attributes is not None:
|
|
507
692
|
pulumi.set(__self__, "attributes", attributes)
|
|
508
693
|
if capacity is not None:
|
|
509
694
|
pulumi.set(__self__, "capacity", capacity)
|
|
695
|
+
if consumes_counters is not None:
|
|
696
|
+
pulumi.set(__self__, "consumes_counters", consumes_counters)
|
|
697
|
+
if node_name is not None:
|
|
698
|
+
pulumi.set(__self__, "node_name", node_name)
|
|
699
|
+
if node_selector is not None:
|
|
700
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
|
701
|
+
if taints is not None:
|
|
702
|
+
pulumi.set(__self__, "taints", taints)
|
|
703
|
+
|
|
704
|
+
@property
|
|
705
|
+
@pulumi.getter(name="allNodes")
|
|
706
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
707
|
+
"""
|
|
708
|
+
AllNodes indicates that all nodes have access to the device.
|
|
709
|
+
|
|
710
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
711
|
+
"""
|
|
712
|
+
return pulumi.get(self, "all_nodes")
|
|
510
713
|
|
|
511
714
|
@property
|
|
512
715
|
@pulumi.getter
|
|
@@ -520,7 +723,7 @@ class BasicDevicePatch(dict):
|
|
|
520
723
|
|
|
521
724
|
@property
|
|
522
725
|
@pulumi.getter
|
|
523
|
-
def capacity(self) -> Optional[Mapping[str, str]]:
|
|
726
|
+
def capacity(self) -> Optional[Mapping[str, builtins.str]]:
|
|
524
727
|
"""
|
|
525
728
|
Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
526
729
|
|
|
@@ -528,6 +731,50 @@ class BasicDevicePatch(dict):
|
|
|
528
731
|
"""
|
|
529
732
|
return pulumi.get(self, "capacity")
|
|
530
733
|
|
|
734
|
+
@property
|
|
735
|
+
@pulumi.getter(name="consumesCounters")
|
|
736
|
+
def consumes_counters(self) -> Optional[Sequence['outputs.DeviceCounterConsumptionPatch']]:
|
|
737
|
+
"""
|
|
738
|
+
ConsumesCounters defines a list of references to sharedCounters and the set of counters that the device will consume from those counter sets.
|
|
739
|
+
|
|
740
|
+
There can only be a single entry per counterSet.
|
|
741
|
+
|
|
742
|
+
The total number of device counter consumption entries must be <= 32. In addition, the total number in the entire ResourceSlice must be <= 1024 (for example, 64 devices with 16 counters each).
|
|
743
|
+
"""
|
|
744
|
+
return pulumi.get(self, "consumes_counters")
|
|
745
|
+
|
|
746
|
+
@property
|
|
747
|
+
@pulumi.getter(name="nodeName")
|
|
748
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
749
|
+
"""
|
|
750
|
+
NodeName identifies the node where the device is available.
|
|
751
|
+
|
|
752
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
753
|
+
"""
|
|
754
|
+
return pulumi.get(self, "node_name")
|
|
755
|
+
|
|
756
|
+
@property
|
|
757
|
+
@pulumi.getter(name="nodeSelector")
|
|
758
|
+
def node_selector(self) -> Optional['_core.v1.outputs.NodeSelectorPatch']:
|
|
759
|
+
"""
|
|
760
|
+
NodeSelector defines the nodes where the device is available.
|
|
761
|
+
|
|
762
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
763
|
+
"""
|
|
764
|
+
return pulumi.get(self, "node_selector")
|
|
765
|
+
|
|
766
|
+
@property
|
|
767
|
+
@pulumi.getter
|
|
768
|
+
def taints(self) -> Optional[Sequence['outputs.DeviceTaintPatch']]:
|
|
769
|
+
"""
|
|
770
|
+
If specified, these are the driver-defined taints.
|
|
771
|
+
|
|
772
|
+
The maximum number of taints is 4.
|
|
773
|
+
|
|
774
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
775
|
+
"""
|
|
776
|
+
return pulumi.get(self, "taints")
|
|
777
|
+
|
|
531
778
|
|
|
532
779
|
@pulumi.output_type
|
|
533
780
|
class CELDeviceSelector(dict):
|
|
@@ -535,10 +782,10 @@ class CELDeviceSelector(dict):
|
|
|
535
782
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
536
783
|
"""
|
|
537
784
|
def __init__(__self__, *,
|
|
538
|
-
expression: str):
|
|
785
|
+
expression: builtins.str):
|
|
539
786
|
"""
|
|
540
787
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
541
|
-
:param str expression: Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.
|
|
788
|
+
:param builtins.str expression: Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.
|
|
542
789
|
|
|
543
790
|
The expression's input is an object named "device", which carries the following properties:
|
|
544
791
|
- driver (string): the name of the driver which defines this device.
|
|
@@ -572,7 +819,7 @@ class CELDeviceSelector(dict):
|
|
|
572
819
|
|
|
573
820
|
@property
|
|
574
821
|
@pulumi.getter
|
|
575
|
-
def expression(self) -> str:
|
|
822
|
+
def expression(self) -> builtins.str:
|
|
576
823
|
"""
|
|
577
824
|
Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.
|
|
578
825
|
|
|
@@ -613,10 +860,10 @@ class CELDeviceSelectorPatch(dict):
|
|
|
613
860
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
614
861
|
"""
|
|
615
862
|
def __init__(__self__, *,
|
|
616
|
-
expression: Optional[str] = None):
|
|
863
|
+
expression: Optional[builtins.str] = None):
|
|
617
864
|
"""
|
|
618
865
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
619
|
-
:param str expression: Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.
|
|
866
|
+
:param builtins.str expression: Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.
|
|
620
867
|
|
|
621
868
|
The expression's input is an object named "device", which carries the following properties:
|
|
622
869
|
- driver (string): the name of the driver which defines this device.
|
|
@@ -651,7 +898,7 @@ class CELDeviceSelectorPatch(dict):
|
|
|
651
898
|
|
|
652
899
|
@property
|
|
653
900
|
@pulumi.getter
|
|
654
|
-
def expression(self) -> Optional[str]:
|
|
901
|
+
def expression(self) -> Optional[builtins.str]:
|
|
655
902
|
"""
|
|
656
903
|
Expression is a CEL expression which evaluates a single device. It must evaluate to true when the device under consideration satisfies the desired criteria, and false when it does not. Any other result is an error and causes allocation of devices to abort.
|
|
657
904
|
|
|
@@ -686,17 +933,131 @@ class CELDeviceSelectorPatch(dict):
|
|
|
686
933
|
return pulumi.get(self, "expression")
|
|
687
934
|
|
|
688
935
|
|
|
936
|
+
@pulumi.output_type
|
|
937
|
+
class Counter(dict):
|
|
938
|
+
"""
|
|
939
|
+
Counter describes a quantity associated with a device.
|
|
940
|
+
"""
|
|
941
|
+
def __init__(__self__, *,
|
|
942
|
+
value: builtins.str):
|
|
943
|
+
"""
|
|
944
|
+
Counter describes a quantity associated with a device.
|
|
945
|
+
:param builtins.str value: Value defines how much of a certain device counter is available.
|
|
946
|
+
"""
|
|
947
|
+
pulumi.set(__self__, "value", value)
|
|
948
|
+
|
|
949
|
+
@property
|
|
950
|
+
@pulumi.getter
|
|
951
|
+
def value(self) -> builtins.str:
|
|
952
|
+
"""
|
|
953
|
+
Value defines how much of a certain device counter is available.
|
|
954
|
+
"""
|
|
955
|
+
return pulumi.get(self, "value")
|
|
956
|
+
|
|
957
|
+
|
|
958
|
+
@pulumi.output_type
|
|
959
|
+
class CounterSet(dict):
|
|
960
|
+
"""
|
|
961
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
962
|
+
|
|
963
|
+
The counters are not allocatable by themselves, but can be referenced by devices. When a device is allocated, the portion of counters it uses will no longer be available for use by other devices.
|
|
964
|
+
"""
|
|
965
|
+
def __init__(__self__, *,
|
|
966
|
+
counters: Mapping[str, 'outputs.Counter'],
|
|
967
|
+
name: builtins.str):
|
|
968
|
+
"""
|
|
969
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
970
|
+
|
|
971
|
+
The counters are not allocatable by themselves, but can be referenced by devices. When a device is allocated, the portion of counters it uses will no longer be available for use by other devices.
|
|
972
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the counters that will be consumed by the device. The name of each counter must be unique in that set and must be a DNS label.
|
|
973
|
+
|
|
974
|
+
To ensure this uniqueness, capacities defined by the vendor must be listed without the driver name as domain prefix in their name. All others must be listed with their domain prefix.
|
|
975
|
+
|
|
976
|
+
The maximum number of counters is 32.
|
|
977
|
+
:param builtins.str name: CounterSet is the name of the set from which the counters defined will be consumed.
|
|
978
|
+
"""
|
|
979
|
+
pulumi.set(__self__, "counters", counters)
|
|
980
|
+
pulumi.set(__self__, "name", name)
|
|
981
|
+
|
|
982
|
+
@property
|
|
983
|
+
@pulumi.getter
|
|
984
|
+
def counters(self) -> Mapping[str, 'outputs.Counter']:
|
|
985
|
+
"""
|
|
986
|
+
Counters defines the counters that will be consumed by the device. The name of each counter must be unique in that set and must be a DNS label.
|
|
987
|
+
|
|
988
|
+
To ensure this uniqueness, capacities defined by the vendor must be listed without the driver name as domain prefix in their name. All others must be listed with their domain prefix.
|
|
989
|
+
|
|
990
|
+
The maximum number of counters is 32.
|
|
991
|
+
"""
|
|
992
|
+
return pulumi.get(self, "counters")
|
|
993
|
+
|
|
994
|
+
@property
|
|
995
|
+
@pulumi.getter
|
|
996
|
+
def name(self) -> builtins.str:
|
|
997
|
+
"""
|
|
998
|
+
CounterSet is the name of the set from which the counters defined will be consumed.
|
|
999
|
+
"""
|
|
1000
|
+
return pulumi.get(self, "name")
|
|
1001
|
+
|
|
1002
|
+
|
|
1003
|
+
@pulumi.output_type
|
|
1004
|
+
class CounterSetPatch(dict):
|
|
1005
|
+
"""
|
|
1006
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
1007
|
+
|
|
1008
|
+
The counters are not allocatable by themselves, but can be referenced by devices. When a device is allocated, the portion of counters it uses will no longer be available for use by other devices.
|
|
1009
|
+
"""
|
|
1010
|
+
def __init__(__self__, *,
|
|
1011
|
+
counters: Optional[Mapping[str, 'outputs.Counter']] = None,
|
|
1012
|
+
name: Optional[builtins.str] = None):
|
|
1013
|
+
"""
|
|
1014
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
1015
|
+
|
|
1016
|
+
The counters are not allocatable by themselves, but can be referenced by devices. When a device is allocated, the portion of counters it uses will no longer be available for use by other devices.
|
|
1017
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the counters that will be consumed by the device. The name of each counter must be unique in that set and must be a DNS label.
|
|
1018
|
+
|
|
1019
|
+
To ensure this uniqueness, capacities defined by the vendor must be listed without the driver name as domain prefix in their name. All others must be listed with their domain prefix.
|
|
1020
|
+
|
|
1021
|
+
The maximum number of counters is 32.
|
|
1022
|
+
:param builtins.str name: CounterSet is the name of the set from which the counters defined will be consumed.
|
|
1023
|
+
"""
|
|
1024
|
+
if counters is not None:
|
|
1025
|
+
pulumi.set(__self__, "counters", counters)
|
|
1026
|
+
if name is not None:
|
|
1027
|
+
pulumi.set(__self__, "name", name)
|
|
1028
|
+
|
|
1029
|
+
@property
|
|
1030
|
+
@pulumi.getter
|
|
1031
|
+
def counters(self) -> Optional[Mapping[str, 'outputs.Counter']]:
|
|
1032
|
+
"""
|
|
1033
|
+
Counters defines the counters that will be consumed by the device. The name of each counter must be unique in that set and must be a DNS label.
|
|
1034
|
+
|
|
1035
|
+
To ensure this uniqueness, capacities defined by the vendor must be listed without the driver name as domain prefix in their name. All others must be listed with their domain prefix.
|
|
1036
|
+
|
|
1037
|
+
The maximum number of counters is 32.
|
|
1038
|
+
"""
|
|
1039
|
+
return pulumi.get(self, "counters")
|
|
1040
|
+
|
|
1041
|
+
@property
|
|
1042
|
+
@pulumi.getter
|
|
1043
|
+
def name(self) -> Optional[builtins.str]:
|
|
1044
|
+
"""
|
|
1045
|
+
CounterSet is the name of the set from which the counters defined will be consumed.
|
|
1046
|
+
"""
|
|
1047
|
+
return pulumi.get(self, "name")
|
|
1048
|
+
|
|
1049
|
+
|
|
689
1050
|
@pulumi.output_type
|
|
690
1051
|
class Device(dict):
|
|
691
1052
|
"""
|
|
692
1053
|
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
693
1054
|
"""
|
|
694
1055
|
def __init__(__self__, *,
|
|
695
|
-
name: str,
|
|
1056
|
+
name: builtins.str,
|
|
696
1057
|
basic: Optional['outputs.BasicDevice'] = None):
|
|
697
1058
|
"""
|
|
698
1059
|
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
699
|
-
:param str name: Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
1060
|
+
:param builtins.str name: Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
700
1061
|
:param 'BasicDeviceArgs' basic: Basic defines one device instance.
|
|
701
1062
|
"""
|
|
702
1063
|
pulumi.set(__self__, "name", name)
|
|
@@ -705,7 +1066,7 @@ class Device(dict):
|
|
|
705
1066
|
|
|
706
1067
|
@property
|
|
707
1068
|
@pulumi.getter
|
|
708
|
-
def name(self) -> str:
|
|
1069
|
+
def name(self) -> builtins.str:
|
|
709
1070
|
"""
|
|
710
1071
|
Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
711
1072
|
"""
|
|
@@ -726,14 +1087,16 @@ class DeviceAllocationConfiguration(dict):
|
|
|
726
1087
|
DeviceAllocationConfiguration gets embedded in an AllocationResult.
|
|
727
1088
|
"""
|
|
728
1089
|
def __init__(__self__, *,
|
|
729
|
-
source: str,
|
|
1090
|
+
source: builtins.str,
|
|
730
1091
|
opaque: Optional['outputs.OpaqueDeviceConfiguration'] = None,
|
|
731
|
-
requests: Optional[Sequence[str]] = None):
|
|
1092
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
732
1093
|
"""
|
|
733
1094
|
DeviceAllocationConfiguration gets embedded in an AllocationResult.
|
|
734
|
-
:param str source: Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.
|
|
1095
|
+
:param builtins.str source: Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.
|
|
735
1096
|
:param 'OpaqueDeviceConfigurationArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
736
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1097
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1098
|
+
|
|
1099
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
737
1100
|
"""
|
|
738
1101
|
pulumi.set(__self__, "source", source)
|
|
739
1102
|
if opaque is not None:
|
|
@@ -743,7 +1106,7 @@ class DeviceAllocationConfiguration(dict):
|
|
|
743
1106
|
|
|
744
1107
|
@property
|
|
745
1108
|
@pulumi.getter
|
|
746
|
-
def source(self) -> str:
|
|
1109
|
+
def source(self) -> builtins.str:
|
|
747
1110
|
"""
|
|
748
1111
|
Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.
|
|
749
1112
|
"""
|
|
@@ -759,9 +1122,11 @@ class DeviceAllocationConfiguration(dict):
|
|
|
759
1122
|
|
|
760
1123
|
@property
|
|
761
1124
|
@pulumi.getter
|
|
762
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1125
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
763
1126
|
"""
|
|
764
1127
|
Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1128
|
+
|
|
1129
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
765
1130
|
"""
|
|
766
1131
|
return pulumi.get(self, "requests")
|
|
767
1132
|
|
|
@@ -773,13 +1138,15 @@ class DeviceAllocationConfigurationPatch(dict):
|
|
|
773
1138
|
"""
|
|
774
1139
|
def __init__(__self__, *,
|
|
775
1140
|
opaque: Optional['outputs.OpaqueDeviceConfigurationPatch'] = None,
|
|
776
|
-
requests: Optional[Sequence[str]] = None,
|
|
777
|
-
source: Optional[str] = None):
|
|
1141
|
+
requests: Optional[Sequence[builtins.str]] = None,
|
|
1142
|
+
source: Optional[builtins.str] = None):
|
|
778
1143
|
"""
|
|
779
1144
|
DeviceAllocationConfiguration gets embedded in an AllocationResult.
|
|
780
1145
|
:param 'OpaqueDeviceConfigurationPatchArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
781
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
782
|
-
|
|
1146
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1147
|
+
|
|
1148
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
1149
|
+
:param builtins.str source: Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.
|
|
783
1150
|
"""
|
|
784
1151
|
if opaque is not None:
|
|
785
1152
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -798,15 +1165,17 @@ class DeviceAllocationConfigurationPatch(dict):
|
|
|
798
1165
|
|
|
799
1166
|
@property
|
|
800
1167
|
@pulumi.getter
|
|
801
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1168
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
802
1169
|
"""
|
|
803
1170
|
Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1171
|
+
|
|
1172
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
804
1173
|
"""
|
|
805
1174
|
return pulumi.get(self, "requests")
|
|
806
1175
|
|
|
807
1176
|
@property
|
|
808
1177
|
@pulumi.getter
|
|
809
|
-
def source(self) -> Optional[str]:
|
|
1178
|
+
def source(self) -> Optional[builtins.str]:
|
|
810
1179
|
"""
|
|
811
1180
|
Source records whether the configuration comes from a class and thus is not something that a normal user would have been able to set or from a claim.
|
|
812
1181
|
"""
|
|
@@ -897,16 +1266,16 @@ class DeviceAttribute(dict):
|
|
|
897
1266
|
DeviceAttribute must have exactly one field set.
|
|
898
1267
|
"""
|
|
899
1268
|
def __init__(__self__, *,
|
|
900
|
-
bool: Optional[bool] = None,
|
|
901
|
-
int: Optional[int] = None,
|
|
902
|
-
string: Optional[str] = None,
|
|
903
|
-
version: Optional[str] = None):
|
|
1269
|
+
bool: Optional[builtins.bool] = None,
|
|
1270
|
+
int: Optional[builtins.int] = None,
|
|
1271
|
+
string: Optional[builtins.str] = None,
|
|
1272
|
+
version: Optional[builtins.str] = None):
|
|
904
1273
|
"""
|
|
905
1274
|
DeviceAttribute must have exactly one field set.
|
|
906
|
-
:param bool bool: BoolValue is a true/false value.
|
|
907
|
-
:param int int: IntValue is a number.
|
|
908
|
-
:param str string: StringValue is a string. Must not be longer than 64 characters.
|
|
909
|
-
:param str version: VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.
|
|
1275
|
+
:param builtins.bool bool: BoolValue is a true/false value.
|
|
1276
|
+
:param builtins.int int: IntValue is a number.
|
|
1277
|
+
:param builtins.str string: StringValue is a string. Must not be longer than 64 characters.
|
|
1278
|
+
:param builtins.str version: VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.
|
|
910
1279
|
"""
|
|
911
1280
|
if bool is not None:
|
|
912
1281
|
pulumi.set(__self__, "bool", bool)
|
|
@@ -919,7 +1288,7 @@ class DeviceAttribute(dict):
|
|
|
919
1288
|
|
|
920
1289
|
@property
|
|
921
1290
|
@pulumi.getter
|
|
922
|
-
def bool(self) -> Optional[bool]:
|
|
1291
|
+
def bool(self) -> Optional[builtins.bool]:
|
|
923
1292
|
"""
|
|
924
1293
|
BoolValue is a true/false value.
|
|
925
1294
|
"""
|
|
@@ -927,7 +1296,7 @@ class DeviceAttribute(dict):
|
|
|
927
1296
|
|
|
928
1297
|
@property
|
|
929
1298
|
@pulumi.getter
|
|
930
|
-
def int(self) -> Optional[int]:
|
|
1299
|
+
def int(self) -> Optional[builtins.int]:
|
|
931
1300
|
"""
|
|
932
1301
|
IntValue is a number.
|
|
933
1302
|
"""
|
|
@@ -935,7 +1304,7 @@ class DeviceAttribute(dict):
|
|
|
935
1304
|
|
|
936
1305
|
@property
|
|
937
1306
|
@pulumi.getter
|
|
938
|
-
def string(self) -> Optional[str]:
|
|
1307
|
+
def string(self) -> Optional[builtins.str]:
|
|
939
1308
|
"""
|
|
940
1309
|
StringValue is a string. Must not be longer than 64 characters.
|
|
941
1310
|
"""
|
|
@@ -943,7 +1312,7 @@ class DeviceAttribute(dict):
|
|
|
943
1312
|
|
|
944
1313
|
@property
|
|
945
1314
|
@pulumi.getter
|
|
946
|
-
def version(self) -> Optional[str]:
|
|
1315
|
+
def version(self) -> Optional[builtins.str]:
|
|
947
1316
|
"""
|
|
948
1317
|
VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.
|
|
949
1318
|
"""
|
|
@@ -1004,11 +1373,13 @@ class DeviceClaimConfiguration(dict):
|
|
|
1004
1373
|
"""
|
|
1005
1374
|
def __init__(__self__, *,
|
|
1006
1375
|
opaque: Optional['outputs.OpaqueDeviceConfiguration'] = None,
|
|
1007
|
-
requests: Optional[Sequence[str]] = None):
|
|
1376
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
1008
1377
|
"""
|
|
1009
1378
|
DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.
|
|
1010
1379
|
:param 'OpaqueDeviceConfigurationArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
1011
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1380
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1381
|
+
|
|
1382
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
1012
1383
|
"""
|
|
1013
1384
|
if opaque is not None:
|
|
1014
1385
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -1025,9 +1396,11 @@ class DeviceClaimConfiguration(dict):
|
|
|
1025
1396
|
|
|
1026
1397
|
@property
|
|
1027
1398
|
@pulumi.getter
|
|
1028
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1399
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1029
1400
|
"""
|
|
1030
1401
|
Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1402
|
+
|
|
1403
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
1031
1404
|
"""
|
|
1032
1405
|
return pulumi.get(self, "requests")
|
|
1033
1406
|
|
|
@@ -1039,11 +1412,13 @@ class DeviceClaimConfigurationPatch(dict):
|
|
|
1039
1412
|
"""
|
|
1040
1413
|
def __init__(__self__, *,
|
|
1041
1414
|
opaque: Optional['outputs.OpaqueDeviceConfigurationPatch'] = None,
|
|
1042
|
-
requests: Optional[Sequence[str]] = None):
|
|
1415
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
1043
1416
|
"""
|
|
1044
1417
|
DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.
|
|
1045
1418
|
:param 'OpaqueDeviceConfigurationPatchArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
1046
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1419
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1420
|
+
|
|
1421
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
1047
1422
|
"""
|
|
1048
1423
|
if opaque is not None:
|
|
1049
1424
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -1060,9 +1435,11 @@ class DeviceClaimConfigurationPatch(dict):
|
|
|
1060
1435
|
|
|
1061
1436
|
@property
|
|
1062
1437
|
@pulumi.getter
|
|
1063
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1438
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1064
1439
|
"""
|
|
1065
1440
|
Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1441
|
+
|
|
1442
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the configuration applies to all subrequests.
|
|
1066
1443
|
"""
|
|
1067
1444
|
return pulumi.get(self, "requests")
|
|
1068
1445
|
|
|
@@ -1140,8 +1517,8 @@ class DeviceClass(dict):
|
|
|
1140
1517
|
|
|
1141
1518
|
def __init__(__self__, *,
|
|
1142
1519
|
spec: 'outputs.DeviceClassSpec',
|
|
1143
|
-
api_version: Optional[str] = None,
|
|
1144
|
-
kind: Optional[str] = None,
|
|
1520
|
+
api_version: Optional[builtins.str] = None,
|
|
1521
|
+
kind: Optional[builtins.str] = None,
|
|
1145
1522
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None):
|
|
1146
1523
|
"""
|
|
1147
1524
|
DeviceClass is a vendor- or admin-provided resource that contains device configuration and selectors. It can be referenced in the device requests of a claim to apply these presets. Cluster scoped.
|
|
@@ -1152,8 +1529,8 @@ class DeviceClass(dict):
|
|
|
1152
1529
|
This is mutable. Consumers have to be prepared for classes changing at any time, either because they get updated or replaced. Claim allocations are done once based on whatever was set in classes at the time of allocation.
|
|
1153
1530
|
|
|
1154
1531
|
Changing the spec automatically increments the metadata.generation number.
|
|
1155
|
-
:param 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
|
|
1156
|
-
:param 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
|
|
1532
|
+
:param builtins.str api_version: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
1533
|
+
:param builtins.str kind: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
1157
1534
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
1158
1535
|
"""
|
|
1159
1536
|
pulumi.set(__self__, "spec", spec)
|
|
@@ -1178,7 +1555,7 @@ class DeviceClass(dict):
|
|
|
1178
1555
|
|
|
1179
1556
|
@property
|
|
1180
1557
|
@pulumi.getter(name="apiVersion")
|
|
1181
|
-
def api_version(self) -> Optional[str]:
|
|
1558
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
1182
1559
|
"""
|
|
1183
1560
|
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
|
|
1184
1561
|
"""
|
|
@@ -1186,7 +1563,7 @@ class DeviceClass(dict):
|
|
|
1186
1563
|
|
|
1187
1564
|
@property
|
|
1188
1565
|
@pulumi.getter
|
|
1189
|
-
def kind(self) -> Optional[str]:
|
|
1566
|
+
def kind(self) -> Optional[builtins.str]:
|
|
1190
1567
|
"""
|
|
1191
1568
|
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
|
|
1192
1569
|
"""
|
|
@@ -1422,16 +1799,18 @@ class DeviceConstraint(dict):
|
|
|
1422
1799
|
return super().get(key, default)
|
|
1423
1800
|
|
|
1424
1801
|
def __init__(__self__, *,
|
|
1425
|
-
match_attribute: Optional[str] = None,
|
|
1426
|
-
requests: Optional[Sequence[str]] = None):
|
|
1802
|
+
match_attribute: Optional[builtins.str] = None,
|
|
1803
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
1427
1804
|
"""
|
|
1428
1805
|
DeviceConstraint must have exactly one field set besides Requests.
|
|
1429
|
-
:param str match_attribute: MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1806
|
+
:param builtins.str match_attribute: MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1430
1807
|
|
|
1431
1808
|
For example, if you specified "dra.example.com/numa" (a hypothetical example!), then only devices in the same NUMA node will be chosen. A device which does not have that attribute will not be chosen. All devices should use a value of the same type for this attribute because that is part of its specification, but if one device doesn't, then it also will not be chosen.
|
|
1432
1809
|
|
|
1433
1810
|
Must include the domain qualifier.
|
|
1434
|
-
:param Sequence[str] requests: Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.
|
|
1811
|
+
:param Sequence[builtins.str] requests: Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.
|
|
1812
|
+
|
|
1813
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the constraint applies to all subrequests.
|
|
1435
1814
|
"""
|
|
1436
1815
|
if match_attribute is not None:
|
|
1437
1816
|
pulumi.set(__self__, "match_attribute", match_attribute)
|
|
@@ -1440,7 +1819,7 @@ class DeviceConstraint(dict):
|
|
|
1440
1819
|
|
|
1441
1820
|
@property
|
|
1442
1821
|
@pulumi.getter(name="matchAttribute")
|
|
1443
|
-
def match_attribute(self) -> Optional[str]:
|
|
1822
|
+
def match_attribute(self) -> Optional[builtins.str]:
|
|
1444
1823
|
"""
|
|
1445
1824
|
MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1446
1825
|
|
|
@@ -1452,9 +1831,11 @@ class DeviceConstraint(dict):
|
|
|
1452
1831
|
|
|
1453
1832
|
@property
|
|
1454
1833
|
@pulumi.getter
|
|
1455
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1834
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1456
1835
|
"""
|
|
1457
1836
|
Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.
|
|
1837
|
+
|
|
1838
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the constraint applies to all subrequests.
|
|
1458
1839
|
"""
|
|
1459
1840
|
return pulumi.get(self, "requests")
|
|
1460
1841
|
|
|
@@ -1482,16 +1863,18 @@ class DeviceConstraintPatch(dict):
|
|
|
1482
1863
|
return super().get(key, default)
|
|
1483
1864
|
|
|
1484
1865
|
def __init__(__self__, *,
|
|
1485
|
-
match_attribute: Optional[str] = None,
|
|
1486
|
-
requests: Optional[Sequence[str]] = None):
|
|
1866
|
+
match_attribute: Optional[builtins.str] = None,
|
|
1867
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
1487
1868
|
"""
|
|
1488
1869
|
DeviceConstraint must have exactly one field set besides Requests.
|
|
1489
|
-
:param str match_attribute: MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1870
|
+
:param builtins.str match_attribute: MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1490
1871
|
|
|
1491
1872
|
For example, if you specified "dra.example.com/numa" (a hypothetical example!), then only devices in the same NUMA node will be chosen. A device which does not have that attribute will not be chosen. All devices should use a value of the same type for this attribute because that is part of its specification, but if one device doesn't, then it also will not be chosen.
|
|
1492
1873
|
|
|
1493
1874
|
Must include the domain qualifier.
|
|
1494
|
-
:param Sequence[str] requests: Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.
|
|
1875
|
+
:param Sequence[builtins.str] requests: Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.
|
|
1876
|
+
|
|
1877
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the constraint applies to all subrequests.
|
|
1495
1878
|
"""
|
|
1496
1879
|
if match_attribute is not None:
|
|
1497
1880
|
pulumi.set(__self__, "match_attribute", match_attribute)
|
|
@@ -1500,7 +1883,7 @@ class DeviceConstraintPatch(dict):
|
|
|
1500
1883
|
|
|
1501
1884
|
@property
|
|
1502
1885
|
@pulumi.getter(name="matchAttribute")
|
|
1503
|
-
def match_attribute(self) -> Optional[str]:
|
|
1886
|
+
def match_attribute(self) -> Optional[builtins.str]:
|
|
1504
1887
|
"""
|
|
1505
1888
|
MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1506
1889
|
|
|
@@ -1512,115 +1895,251 @@ class DeviceConstraintPatch(dict):
|
|
|
1512
1895
|
|
|
1513
1896
|
@property
|
|
1514
1897
|
@pulumi.getter
|
|
1515
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1898
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1516
1899
|
"""
|
|
1517
1900
|
Requests is a list of the one or more requests in this claim which must co-satisfy this constraint. If a request is fulfilled by multiple devices, then all of the devices must satisfy the constraint. If this is not specified, this constraint applies to all requests in this claim.
|
|
1901
|
+
|
|
1902
|
+
References to subrequests must include the name of the main request and may include the subrequest using the format <main request>[/<subrequest>]. If just the main request is given, the constraint applies to all subrequests.
|
|
1518
1903
|
"""
|
|
1519
1904
|
return pulumi.get(self, "requests")
|
|
1520
1905
|
|
|
1521
1906
|
|
|
1522
1907
|
@pulumi.output_type
|
|
1523
|
-
class
|
|
1908
|
+
class DeviceCounterConsumption(dict):
|
|
1524
1909
|
"""
|
|
1525
|
-
|
|
1910
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1526
1911
|
"""
|
|
1912
|
+
@staticmethod
|
|
1913
|
+
def __key_warning(key: str):
|
|
1914
|
+
suggest = None
|
|
1915
|
+
if key == "counterSet":
|
|
1916
|
+
suggest = "counter_set"
|
|
1917
|
+
|
|
1918
|
+
if suggest:
|
|
1919
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceCounterConsumption. Access the value via the '{suggest}' property getter instead.")
|
|
1920
|
+
|
|
1921
|
+
def __getitem__(self, key: str) -> Any:
|
|
1922
|
+
DeviceCounterConsumption.__key_warning(key)
|
|
1923
|
+
return super().__getitem__(key)
|
|
1924
|
+
|
|
1925
|
+
def get(self, key: str, default = None) -> Any:
|
|
1926
|
+
DeviceCounterConsumption.__key_warning(key)
|
|
1927
|
+
return super().get(key, default)
|
|
1928
|
+
|
|
1527
1929
|
def __init__(__self__, *,
|
|
1528
|
-
|
|
1529
|
-
|
|
1930
|
+
counter_set: builtins.str,
|
|
1931
|
+
counters: Mapping[str, 'outputs.Counter']):
|
|
1530
1932
|
"""
|
|
1531
|
-
|
|
1532
|
-
:param
|
|
1533
|
-
:param str
|
|
1933
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1934
|
+
:param builtins.str counter_set: CounterSet defines the set from which the counters defined will be consumed.
|
|
1935
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the Counter that will be consumed by the device.
|
|
1936
|
+
|
|
1937
|
+
The maximum number counters in a device is 32. In addition, the maximum number of all counters in all devices is 1024 (for example, 64 devices with 16 counters each).
|
|
1534
1938
|
"""
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
if name is not None:
|
|
1538
|
-
pulumi.set(__self__, "name", name)
|
|
1939
|
+
pulumi.set(__self__, "counter_set", counter_set)
|
|
1940
|
+
pulumi.set(__self__, "counters", counters)
|
|
1539
1941
|
|
|
1540
1942
|
@property
|
|
1541
|
-
@pulumi.getter
|
|
1542
|
-
def
|
|
1943
|
+
@pulumi.getter(name="counterSet")
|
|
1944
|
+
def counter_set(self) -> builtins.str:
|
|
1543
1945
|
"""
|
|
1544
|
-
|
|
1946
|
+
CounterSet defines the set from which the counters defined will be consumed.
|
|
1545
1947
|
"""
|
|
1546
|
-
return pulumi.get(self, "
|
|
1948
|
+
return pulumi.get(self, "counter_set")
|
|
1547
1949
|
|
|
1548
1950
|
@property
|
|
1549
1951
|
@pulumi.getter
|
|
1550
|
-
def
|
|
1952
|
+
def counters(self) -> Mapping[str, 'outputs.Counter']:
|
|
1551
1953
|
"""
|
|
1552
|
-
|
|
1954
|
+
Counters defines the Counter that will be consumed by the device.
|
|
1955
|
+
|
|
1956
|
+
The maximum number counters in a device is 32. In addition, the maximum number of all counters in all devices is 1024 (for example, 64 devices with 16 counters each).
|
|
1553
1957
|
"""
|
|
1554
|
-
return pulumi.get(self, "
|
|
1958
|
+
return pulumi.get(self, "counters")
|
|
1555
1959
|
|
|
1556
1960
|
|
|
1557
1961
|
@pulumi.output_type
|
|
1558
|
-
class
|
|
1962
|
+
class DeviceCounterConsumptionPatch(dict):
|
|
1559
1963
|
"""
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
A DeviceClassName is currently required. Clients must check that it is indeed set. It's absence indicates that something changed in a way that is not supported by the client yet, in which case it must refuse to handle the request.
|
|
1964
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1563
1965
|
"""
|
|
1564
1966
|
@staticmethod
|
|
1565
1967
|
def __key_warning(key: str):
|
|
1566
1968
|
suggest = None
|
|
1567
|
-
if key == "
|
|
1568
|
-
suggest = "
|
|
1569
|
-
elif key == "adminAccess":
|
|
1570
|
-
suggest = "admin_access"
|
|
1571
|
-
elif key == "allocationMode":
|
|
1572
|
-
suggest = "allocation_mode"
|
|
1969
|
+
if key == "counterSet":
|
|
1970
|
+
suggest = "counter_set"
|
|
1573
1971
|
|
|
1574
1972
|
if suggest:
|
|
1575
|
-
pulumi.log.warn(f"Key '{key}' not found in
|
|
1973
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceCounterConsumptionPatch. Access the value via the '{suggest}' property getter instead.")
|
|
1576
1974
|
|
|
1577
1975
|
def __getitem__(self, key: str) -> Any:
|
|
1578
|
-
|
|
1976
|
+
DeviceCounterConsumptionPatch.__key_warning(key)
|
|
1579
1977
|
return super().__getitem__(key)
|
|
1580
1978
|
|
|
1581
1979
|
def get(self, key: str, default = None) -> Any:
|
|
1582
|
-
|
|
1980
|
+
DeviceCounterConsumptionPatch.__key_warning(key)
|
|
1583
1981
|
return super().get(key, default)
|
|
1584
1982
|
|
|
1585
1983
|
def __init__(__self__, *,
|
|
1586
|
-
|
|
1587
|
-
|
|
1588
|
-
admin_access: Optional[bool] = None,
|
|
1589
|
-
allocation_mode: Optional[str] = None,
|
|
1590
|
-
count: Optional[int] = None,
|
|
1591
|
-
selectors: Optional[Sequence['outputs.DeviceSelector']] = None):
|
|
1984
|
+
counter_set: Optional[builtins.str] = None,
|
|
1985
|
+
counters: Optional[Mapping[str, 'outputs.Counter']] = None):
|
|
1592
1986
|
"""
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
:param str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
1597
|
-
|
|
1598
|
-
A class is required. Which classes are available depends on the cluster.
|
|
1987
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1988
|
+
:param builtins.str counter_set: CounterSet defines the set from which the counters defined will be consumed.
|
|
1989
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the Counter that will be consumed by the device.
|
|
1599
1990
|
|
|
1600
|
-
|
|
1601
|
-
|
|
1991
|
+
The maximum number counters in a device is 32. In addition, the maximum number of all counters in all devices is 1024 (for example, 64 devices with 16 counters each).
|
|
1992
|
+
"""
|
|
1993
|
+
if counter_set is not None:
|
|
1994
|
+
pulumi.set(__self__, "counter_set", counter_set)
|
|
1995
|
+
if counters is not None:
|
|
1996
|
+
pulumi.set(__self__, "counters", counters)
|
|
1997
|
+
|
|
1998
|
+
@property
|
|
1999
|
+
@pulumi.getter(name="counterSet")
|
|
2000
|
+
def counter_set(self) -> Optional[builtins.str]:
|
|
2001
|
+
"""
|
|
2002
|
+
CounterSet defines the set from which the counters defined will be consumed.
|
|
2003
|
+
"""
|
|
2004
|
+
return pulumi.get(self, "counter_set")
|
|
2005
|
+
|
|
2006
|
+
@property
|
|
2007
|
+
@pulumi.getter
|
|
2008
|
+
def counters(self) -> Optional[Mapping[str, 'outputs.Counter']]:
|
|
2009
|
+
"""
|
|
2010
|
+
Counters defines the Counter that will be consumed by the device.
|
|
2011
|
+
|
|
2012
|
+
The maximum number counters in a device is 32. In addition, the maximum number of all counters in all devices is 1024 (for example, 64 devices with 16 counters each).
|
|
2013
|
+
"""
|
|
2014
|
+
return pulumi.get(self, "counters")
|
|
2015
|
+
|
|
2016
|
+
|
|
2017
|
+
@pulumi.output_type
|
|
2018
|
+
class DevicePatch(dict):
|
|
2019
|
+
"""
|
|
2020
|
+
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
2021
|
+
"""
|
|
2022
|
+
def __init__(__self__, *,
|
|
2023
|
+
basic: Optional['outputs.BasicDevicePatch'] = None,
|
|
2024
|
+
name: Optional[builtins.str] = None):
|
|
2025
|
+
"""
|
|
2026
|
+
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
2027
|
+
:param 'BasicDevicePatchArgs' basic: Basic defines one device instance.
|
|
2028
|
+
:param builtins.str name: Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
2029
|
+
"""
|
|
2030
|
+
if basic is not None:
|
|
2031
|
+
pulumi.set(__self__, "basic", basic)
|
|
2032
|
+
if name is not None:
|
|
2033
|
+
pulumi.set(__self__, "name", name)
|
|
2034
|
+
|
|
2035
|
+
@property
|
|
2036
|
+
@pulumi.getter
|
|
2037
|
+
def basic(self) -> Optional['outputs.BasicDevicePatch']:
|
|
2038
|
+
"""
|
|
2039
|
+
Basic defines one device instance.
|
|
2040
|
+
"""
|
|
2041
|
+
return pulumi.get(self, "basic")
|
|
2042
|
+
|
|
2043
|
+
@property
|
|
2044
|
+
@pulumi.getter
|
|
2045
|
+
def name(self) -> Optional[builtins.str]:
|
|
2046
|
+
"""
|
|
2047
|
+
Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
2048
|
+
"""
|
|
2049
|
+
return pulumi.get(self, "name")
|
|
2050
|
+
|
|
2051
|
+
|
|
2052
|
+
@pulumi.output_type
|
|
2053
|
+
class DeviceRequest(dict):
|
|
2054
|
+
"""
|
|
2055
|
+
DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2056
|
+
"""
|
|
2057
|
+
@staticmethod
|
|
2058
|
+
def __key_warning(key: str):
|
|
2059
|
+
suggest = None
|
|
2060
|
+
if key == "adminAccess":
|
|
2061
|
+
suggest = "admin_access"
|
|
2062
|
+
elif key == "allocationMode":
|
|
2063
|
+
suggest = "allocation_mode"
|
|
2064
|
+
elif key == "deviceClassName":
|
|
2065
|
+
suggest = "device_class_name"
|
|
2066
|
+
elif key == "firstAvailable":
|
|
2067
|
+
suggest = "first_available"
|
|
2068
|
+
|
|
2069
|
+
if suggest:
|
|
2070
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceRequest. Access the value via the '{suggest}' property getter instead.")
|
|
2071
|
+
|
|
2072
|
+
def __getitem__(self, key: str) -> Any:
|
|
2073
|
+
DeviceRequest.__key_warning(key)
|
|
2074
|
+
return super().__getitem__(key)
|
|
2075
|
+
|
|
2076
|
+
def get(self, key: str, default = None) -> Any:
|
|
2077
|
+
DeviceRequest.__key_warning(key)
|
|
2078
|
+
return super().get(key, default)
|
|
2079
|
+
|
|
2080
|
+
def __init__(__self__, *,
|
|
2081
|
+
name: builtins.str,
|
|
2082
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2083
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
2084
|
+
count: Optional[builtins.int] = None,
|
|
2085
|
+
device_class_name: Optional[builtins.str] = None,
|
|
2086
|
+
first_available: Optional[Sequence['outputs.DeviceSubRequest']] = None,
|
|
2087
|
+
selectors: Optional[Sequence['outputs.DeviceSelector']] = None,
|
|
2088
|
+
tolerations: Optional[Sequence['outputs.DeviceToleration']] = None):
|
|
2089
|
+
"""
|
|
2090
|
+
DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2091
|
+
:param builtins.str name: Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.
|
|
1602
2092
|
|
|
1603
2093
|
Must be a DNS label.
|
|
1604
|
-
:param bool admin_access: AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.
|
|
2094
|
+
:param builtins.bool admin_access: AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.
|
|
2095
|
+
|
|
2096
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1605
2097
|
|
|
1606
2098
|
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
1607
|
-
:param str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2099
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
1608
2100
|
|
|
1609
2101
|
- ExactCount: This request is for a specific number of devices.
|
|
1610
2102
|
This is the default. The exact number is provided in the
|
|
1611
2103
|
count field.
|
|
1612
2104
|
|
|
1613
2105
|
- All: This request is for all of the matching devices in a pool.
|
|
2106
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
1614
2107
|
Allocation will fail if some devices are already allocated,
|
|
1615
2108
|
unless adminAccess is requested.
|
|
1616
2109
|
|
|
1617
|
-
If
|
|
2110
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
2111
|
+
|
|
2112
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1618
2113
|
|
|
1619
2114
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1620
|
-
:param int count: Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2115
|
+
:param builtins.int count: Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2116
|
+
|
|
2117
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2118
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2119
|
+
|
|
2120
|
+
A class is required if no subrequests are specified in the firstAvailable list and no class can be set if subrequests are specified in the firstAvailable list. Which classes are available depends on the cluster.
|
|
2121
|
+
|
|
2122
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
2123
|
+
:param Sequence['DeviceSubRequestArgs'] first_available: FirstAvailable contains subrequests, of which exactly one will be satisfied by the scheduler to satisfy this request. It tries to satisfy them in the order in which they are listed here. So if there are two entries in the list, the scheduler will only check the second one if it determines that the first one cannot be used.
|
|
2124
|
+
|
|
2125
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2126
|
+
|
|
2127
|
+
DRA does not yet implement scoring, so the scheduler will select the first set of devices that satisfies all the requests in the claim. And if the requirements can be satisfied on more than one node, other scheduling features will determine which node is chosen. This means that the set of devices allocated to a claim might not be the optimal set available to the cluster. Scoring will be implemented later.
|
|
1621
2128
|
:param Sequence['DeviceSelectorArgs'] selectors: Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
2129
|
+
|
|
2130
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2131
|
+
:param Sequence['DeviceTolerationArgs'] tolerations: If specified, the request's tolerations.
|
|
2132
|
+
|
|
2133
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2134
|
+
|
|
2135
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
2136
|
+
|
|
2137
|
+
The maximum number of tolerations is 16.
|
|
2138
|
+
|
|
2139
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2140
|
+
|
|
2141
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
1622
2142
|
"""
|
|
1623
|
-
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
1624
2143
|
pulumi.set(__self__, "name", name)
|
|
1625
2144
|
if admin_access is not None:
|
|
1626
2145
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
@@ -1628,24 +2147,18 @@ class DeviceRequest(dict):
|
|
|
1628
2147
|
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
1629
2148
|
if count is not None:
|
|
1630
2149
|
pulumi.set(__self__, "count", count)
|
|
2150
|
+
if device_class_name is not None:
|
|
2151
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
2152
|
+
if first_available is not None:
|
|
2153
|
+
pulumi.set(__self__, "first_available", first_available)
|
|
1631
2154
|
if selectors is not None:
|
|
1632
2155
|
pulumi.set(__self__, "selectors", selectors)
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
@pulumi.getter(name="deviceClassName")
|
|
1636
|
-
def device_class_name(self) -> str:
|
|
1637
|
-
"""
|
|
1638
|
-
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
1639
|
-
|
|
1640
|
-
A class is required. Which classes are available depends on the cluster.
|
|
1641
|
-
|
|
1642
|
-
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
1643
|
-
"""
|
|
1644
|
-
return pulumi.get(self, "device_class_name")
|
|
2156
|
+
if tolerations is not None:
|
|
2157
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1645
2158
|
|
|
1646
2159
|
@property
|
|
1647
2160
|
@pulumi.getter
|
|
1648
|
-
def name(self) -> str:
|
|
2161
|
+
def name(self) -> builtins.str:
|
|
1649
2162
|
"""
|
|
1650
2163
|
Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.
|
|
1651
2164
|
|
|
@@ -1655,17 +2168,19 @@ class DeviceRequest(dict):
|
|
|
1655
2168
|
|
|
1656
2169
|
@property
|
|
1657
2170
|
@pulumi.getter(name="adminAccess")
|
|
1658
|
-
def admin_access(self) -> Optional[bool]:
|
|
2171
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
1659
2172
|
"""
|
|
1660
2173
|
AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.
|
|
1661
2174
|
|
|
2175
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2176
|
+
|
|
1662
2177
|
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
1663
2178
|
"""
|
|
1664
2179
|
return pulumi.get(self, "admin_access")
|
|
1665
2180
|
|
|
1666
2181
|
@property
|
|
1667
2182
|
@pulumi.getter(name="allocationMode")
|
|
1668
|
-
def allocation_mode(self) -> Optional[str]:
|
|
2183
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
1669
2184
|
"""
|
|
1670
2185
|
AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
1671
2186
|
|
|
@@ -1674,10 +2189,13 @@ class DeviceRequest(dict):
|
|
|
1674
2189
|
count field.
|
|
1675
2190
|
|
|
1676
2191
|
- All: This request is for all of the matching devices in a pool.
|
|
2192
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
1677
2193
|
Allocation will fail if some devices are already allocated,
|
|
1678
2194
|
unless adminAccess is requested.
|
|
1679
2195
|
|
|
1680
|
-
If
|
|
2196
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
2197
|
+
|
|
2198
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1681
2199
|
|
|
1682
2200
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1683
2201
|
"""
|
|
@@ -1685,20 +2203,66 @@ class DeviceRequest(dict):
|
|
|
1685
2203
|
|
|
1686
2204
|
@property
|
|
1687
2205
|
@pulumi.getter
|
|
1688
|
-
def count(self) -> Optional[int]:
|
|
2206
|
+
def count(self) -> Optional[builtins.int]:
|
|
1689
2207
|
"""
|
|
1690
2208
|
Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2209
|
+
|
|
2210
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1691
2211
|
"""
|
|
1692
2212
|
return pulumi.get(self, "count")
|
|
1693
2213
|
|
|
2214
|
+
@property
|
|
2215
|
+
@pulumi.getter(name="deviceClassName")
|
|
2216
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
2217
|
+
"""
|
|
2218
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2219
|
+
|
|
2220
|
+
A class is required if no subrequests are specified in the firstAvailable list and no class can be set if subrequests are specified in the firstAvailable list. Which classes are available depends on the cluster.
|
|
2221
|
+
|
|
2222
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
2223
|
+
"""
|
|
2224
|
+
return pulumi.get(self, "device_class_name")
|
|
2225
|
+
|
|
2226
|
+
@property
|
|
2227
|
+
@pulumi.getter(name="firstAvailable")
|
|
2228
|
+
def first_available(self) -> Optional[Sequence['outputs.DeviceSubRequest']]:
|
|
2229
|
+
"""
|
|
2230
|
+
FirstAvailable contains subrequests, of which exactly one will be satisfied by the scheduler to satisfy this request. It tries to satisfy them in the order in which they are listed here. So if there are two entries in the list, the scheduler will only check the second one if it determines that the first one cannot be used.
|
|
2231
|
+
|
|
2232
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2233
|
+
|
|
2234
|
+
DRA does not yet implement scoring, so the scheduler will select the first set of devices that satisfies all the requests in the claim. And if the requirements can be satisfied on more than one node, other scheduling features will determine which node is chosen. This means that the set of devices allocated to a claim might not be the optimal set available to the cluster. Scoring will be implemented later.
|
|
2235
|
+
"""
|
|
2236
|
+
return pulumi.get(self, "first_available")
|
|
2237
|
+
|
|
1694
2238
|
@property
|
|
1695
2239
|
@pulumi.getter
|
|
1696
2240
|
def selectors(self) -> Optional[Sequence['outputs.DeviceSelector']]:
|
|
1697
2241
|
"""
|
|
1698
2242
|
Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
2243
|
+
|
|
2244
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1699
2245
|
"""
|
|
1700
2246
|
return pulumi.get(self, "selectors")
|
|
1701
2247
|
|
|
2248
|
+
@property
|
|
2249
|
+
@pulumi.getter
|
|
2250
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceToleration']]:
|
|
2251
|
+
"""
|
|
2252
|
+
If specified, the request's tolerations.
|
|
2253
|
+
|
|
2254
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2255
|
+
|
|
2256
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
2257
|
+
|
|
2258
|
+
The maximum number of tolerations is 16.
|
|
2259
|
+
|
|
2260
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2261
|
+
|
|
2262
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2263
|
+
"""
|
|
2264
|
+
return pulumi.get(self, "tolerations")
|
|
2265
|
+
|
|
1702
2266
|
|
|
1703
2267
|
@pulumi.output_type
|
|
1704
2268
|
class DeviceRequestAllocationResult(dict):
|
|
@@ -1723,24 +2287,32 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1723
2287
|
return super().get(key, default)
|
|
1724
2288
|
|
|
1725
2289
|
def __init__(__self__, *,
|
|
1726
|
-
device: str,
|
|
1727
|
-
driver: str,
|
|
1728
|
-
pool: str,
|
|
1729
|
-
request: str,
|
|
1730
|
-
admin_access: Optional[bool] = None
|
|
2290
|
+
device: builtins.str,
|
|
2291
|
+
driver: builtins.str,
|
|
2292
|
+
pool: builtins.str,
|
|
2293
|
+
request: builtins.str,
|
|
2294
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2295
|
+
tolerations: Optional[Sequence['outputs.DeviceToleration']] = None):
|
|
1731
2296
|
"""
|
|
1732
2297
|
DeviceRequestAllocationResult contains the allocation result for one request.
|
|
1733
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
1734
|
-
:param str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
2298
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
2299
|
+
:param builtins.str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
1735
2300
|
|
|
1736
2301
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
1737
|
-
:param str pool: This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
2302
|
+
:param builtins.str pool: This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
1738
2303
|
|
|
1739
2304
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
1740
|
-
:param str request: Request is the name of the request in the claim which caused this device to be allocated.
|
|
1741
|
-
|
|
2305
|
+
:param builtins.str request: Request is the name of the request in the claim which caused this device to be allocated. If it references a subrequest in the firstAvailable list on a DeviceRequest, this field must include both the name of the main request and the subrequest using the format <main request>/<subrequest>.
|
|
2306
|
+
|
|
2307
|
+
Multiple devices may have been allocated per request.
|
|
2308
|
+
:param builtins.bool admin_access: AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
|
|
1742
2309
|
|
|
1743
2310
|
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
2311
|
+
:param Sequence['DeviceTolerationArgs'] tolerations: A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2312
|
+
|
|
2313
|
+
The maximum number of tolerations is 16.
|
|
2314
|
+
|
|
2315
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
1744
2316
|
"""
|
|
1745
2317
|
pulumi.set(__self__, "device", device)
|
|
1746
2318
|
pulumi.set(__self__, "driver", driver)
|
|
@@ -1748,10 +2320,146 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1748
2320
|
pulumi.set(__self__, "request", request)
|
|
1749
2321
|
if admin_access is not None:
|
|
1750
2322
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
2323
|
+
if tolerations is not None:
|
|
2324
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
2325
|
+
|
|
2326
|
+
@property
|
|
2327
|
+
@pulumi.getter
|
|
2328
|
+
def device(self) -> builtins.str:
|
|
2329
|
+
"""
|
|
2330
|
+
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
2331
|
+
"""
|
|
2332
|
+
return pulumi.get(self, "device")
|
|
2333
|
+
|
|
2334
|
+
@property
|
|
2335
|
+
@pulumi.getter
|
|
2336
|
+
def driver(self) -> builtins.str:
|
|
2337
|
+
"""
|
|
2338
|
+
Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
2339
|
+
|
|
2340
|
+
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
2341
|
+
"""
|
|
2342
|
+
return pulumi.get(self, "driver")
|
|
2343
|
+
|
|
2344
|
+
@property
|
|
2345
|
+
@pulumi.getter
|
|
2346
|
+
def pool(self) -> builtins.str:
|
|
2347
|
+
"""
|
|
2348
|
+
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
2349
|
+
|
|
2350
|
+
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
2351
|
+
"""
|
|
2352
|
+
return pulumi.get(self, "pool")
|
|
2353
|
+
|
|
2354
|
+
@property
|
|
2355
|
+
@pulumi.getter
|
|
2356
|
+
def request(self) -> builtins.str:
|
|
2357
|
+
"""
|
|
2358
|
+
Request is the name of the request in the claim which caused this device to be allocated. If it references a subrequest in the firstAvailable list on a DeviceRequest, this field must include both the name of the main request and the subrequest using the format <main request>/<subrequest>.
|
|
2359
|
+
|
|
2360
|
+
Multiple devices may have been allocated per request.
|
|
2361
|
+
"""
|
|
2362
|
+
return pulumi.get(self, "request")
|
|
2363
|
+
|
|
2364
|
+
@property
|
|
2365
|
+
@pulumi.getter(name="adminAccess")
|
|
2366
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
2367
|
+
"""
|
|
2368
|
+
AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
|
|
2369
|
+
|
|
2370
|
+
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
2371
|
+
"""
|
|
2372
|
+
return pulumi.get(self, "admin_access")
|
|
2373
|
+
|
|
2374
|
+
@property
|
|
2375
|
+
@pulumi.getter
|
|
2376
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceToleration']]:
|
|
2377
|
+
"""
|
|
2378
|
+
A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2379
|
+
|
|
2380
|
+
The maximum number of tolerations is 16.
|
|
2381
|
+
|
|
2382
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2383
|
+
"""
|
|
2384
|
+
return pulumi.get(self, "tolerations")
|
|
2385
|
+
|
|
2386
|
+
|
|
2387
|
+
@pulumi.output_type
|
|
2388
|
+
class DeviceRequestAllocationResultPatch(dict):
|
|
2389
|
+
"""
|
|
2390
|
+
DeviceRequestAllocationResult contains the allocation result for one request.
|
|
2391
|
+
"""
|
|
2392
|
+
@staticmethod
|
|
2393
|
+
def __key_warning(key: str):
|
|
2394
|
+
suggest = None
|
|
2395
|
+
if key == "adminAccess":
|
|
2396
|
+
suggest = "admin_access"
|
|
2397
|
+
|
|
2398
|
+
if suggest:
|
|
2399
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceRequestAllocationResultPatch. Access the value via the '{suggest}' property getter instead.")
|
|
2400
|
+
|
|
2401
|
+
def __getitem__(self, key: str) -> Any:
|
|
2402
|
+
DeviceRequestAllocationResultPatch.__key_warning(key)
|
|
2403
|
+
return super().__getitem__(key)
|
|
2404
|
+
|
|
2405
|
+
def get(self, key: str, default = None) -> Any:
|
|
2406
|
+
DeviceRequestAllocationResultPatch.__key_warning(key)
|
|
2407
|
+
return super().get(key, default)
|
|
2408
|
+
|
|
2409
|
+
def __init__(__self__, *,
|
|
2410
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2411
|
+
device: Optional[builtins.str] = None,
|
|
2412
|
+
driver: Optional[builtins.str] = None,
|
|
2413
|
+
pool: Optional[builtins.str] = None,
|
|
2414
|
+
request: Optional[builtins.str] = None,
|
|
2415
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
2416
|
+
"""
|
|
2417
|
+
DeviceRequestAllocationResult contains the allocation result for one request.
|
|
2418
|
+
:param builtins.bool admin_access: AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
|
|
2419
|
+
|
|
2420
|
+
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
2421
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
2422
|
+
:param builtins.str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
2423
|
+
|
|
2424
|
+
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
2425
|
+
:param builtins.str pool: This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
2426
|
+
|
|
2427
|
+
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
2428
|
+
:param builtins.str request: Request is the name of the request in the claim which caused this device to be allocated. If it references a subrequest in the firstAvailable list on a DeviceRequest, this field must include both the name of the main request and the subrequest using the format <main request>/<subrequest>.
|
|
2429
|
+
|
|
2430
|
+
Multiple devices may have been allocated per request.
|
|
2431
|
+
:param Sequence['DeviceTolerationPatchArgs'] tolerations: A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2432
|
+
|
|
2433
|
+
The maximum number of tolerations is 16.
|
|
2434
|
+
|
|
2435
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2436
|
+
"""
|
|
2437
|
+
if admin_access is not None:
|
|
2438
|
+
pulumi.set(__self__, "admin_access", admin_access)
|
|
2439
|
+
if device is not None:
|
|
2440
|
+
pulumi.set(__self__, "device", device)
|
|
2441
|
+
if driver is not None:
|
|
2442
|
+
pulumi.set(__self__, "driver", driver)
|
|
2443
|
+
if pool is not None:
|
|
2444
|
+
pulumi.set(__self__, "pool", pool)
|
|
2445
|
+
if request is not None:
|
|
2446
|
+
pulumi.set(__self__, "request", request)
|
|
2447
|
+
if tolerations is not None:
|
|
2448
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
2449
|
+
|
|
2450
|
+
@property
|
|
2451
|
+
@pulumi.getter(name="adminAccess")
|
|
2452
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
2453
|
+
"""
|
|
2454
|
+
AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
|
|
2455
|
+
|
|
2456
|
+
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
2457
|
+
"""
|
|
2458
|
+
return pulumi.get(self, "admin_access")
|
|
1751
2459
|
|
|
1752
2460
|
@property
|
|
1753
2461
|
@pulumi.getter
|
|
1754
|
-
def device(self) -> str:
|
|
2462
|
+
def device(self) -> Optional[builtins.str]:
|
|
1755
2463
|
"""
|
|
1756
2464
|
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
1757
2465
|
"""
|
|
@@ -1759,335 +2467,1321 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1759
2467
|
|
|
1760
2468
|
@property
|
|
1761
2469
|
@pulumi.getter
|
|
1762
|
-
def driver(self) -> str:
|
|
2470
|
+
def driver(self) -> Optional[builtins.str]:
|
|
1763
2471
|
"""
|
|
1764
2472
|
Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
1765
2473
|
|
|
1766
|
-
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
1767
|
-
"""
|
|
1768
|
-
return pulumi.get(self, "driver")
|
|
2474
|
+
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
2475
|
+
"""
|
|
2476
|
+
return pulumi.get(self, "driver")
|
|
2477
|
+
|
|
2478
|
+
@property
|
|
2479
|
+
@pulumi.getter
|
|
2480
|
+
def pool(self) -> Optional[builtins.str]:
|
|
2481
|
+
"""
|
|
2482
|
+
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
2483
|
+
|
|
2484
|
+
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
2485
|
+
"""
|
|
2486
|
+
return pulumi.get(self, "pool")
|
|
2487
|
+
|
|
2488
|
+
@property
|
|
2489
|
+
@pulumi.getter
|
|
2490
|
+
def request(self) -> Optional[builtins.str]:
|
|
2491
|
+
"""
|
|
2492
|
+
Request is the name of the request in the claim which caused this device to be allocated. If it references a subrequest in the firstAvailable list on a DeviceRequest, this field must include both the name of the main request and the subrequest using the format <main request>/<subrequest>.
|
|
2493
|
+
|
|
2494
|
+
Multiple devices may have been allocated per request.
|
|
2495
|
+
"""
|
|
2496
|
+
return pulumi.get(self, "request")
|
|
2497
|
+
|
|
2498
|
+
@property
|
|
2499
|
+
@pulumi.getter
|
|
2500
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceTolerationPatch']]:
|
|
2501
|
+
"""
|
|
2502
|
+
A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2503
|
+
|
|
2504
|
+
The maximum number of tolerations is 16.
|
|
2505
|
+
|
|
2506
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2507
|
+
"""
|
|
2508
|
+
return pulumi.get(self, "tolerations")
|
|
2509
|
+
|
|
2510
|
+
|
|
2511
|
+
@pulumi.output_type
|
|
2512
|
+
class DeviceRequestPatch(dict):
|
|
2513
|
+
"""
|
|
2514
|
+
DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2515
|
+
"""
|
|
2516
|
+
@staticmethod
|
|
2517
|
+
def __key_warning(key: str):
|
|
2518
|
+
suggest = None
|
|
2519
|
+
if key == "adminAccess":
|
|
2520
|
+
suggest = "admin_access"
|
|
2521
|
+
elif key == "allocationMode":
|
|
2522
|
+
suggest = "allocation_mode"
|
|
2523
|
+
elif key == "deviceClassName":
|
|
2524
|
+
suggest = "device_class_name"
|
|
2525
|
+
elif key == "firstAvailable":
|
|
2526
|
+
suggest = "first_available"
|
|
2527
|
+
|
|
2528
|
+
if suggest:
|
|
2529
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceRequestPatch. Access the value via the '{suggest}' property getter instead.")
|
|
2530
|
+
|
|
2531
|
+
def __getitem__(self, key: str) -> Any:
|
|
2532
|
+
DeviceRequestPatch.__key_warning(key)
|
|
2533
|
+
return super().__getitem__(key)
|
|
2534
|
+
|
|
2535
|
+
def get(self, key: str, default = None) -> Any:
|
|
2536
|
+
DeviceRequestPatch.__key_warning(key)
|
|
2537
|
+
return super().get(key, default)
|
|
2538
|
+
|
|
2539
|
+
def __init__(__self__, *,
|
|
2540
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2541
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
2542
|
+
count: Optional[builtins.int] = None,
|
|
2543
|
+
device_class_name: Optional[builtins.str] = None,
|
|
2544
|
+
first_available: Optional[Sequence['outputs.DeviceSubRequestPatch']] = None,
|
|
2545
|
+
name: Optional[builtins.str] = None,
|
|
2546
|
+
selectors: Optional[Sequence['outputs.DeviceSelectorPatch']] = None,
|
|
2547
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
2548
|
+
"""
|
|
2549
|
+
DeviceRequest is a request for devices required for a claim. This is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2550
|
+
:param builtins.bool admin_access: AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.
|
|
2551
|
+
|
|
2552
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2553
|
+
|
|
2554
|
+
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
2555
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2556
|
+
|
|
2557
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2558
|
+
This is the default. The exact number is provided in the
|
|
2559
|
+
count field.
|
|
2560
|
+
|
|
2561
|
+
- All: This request is for all of the matching devices in a pool.
|
|
2562
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
2563
|
+
Allocation will fail if some devices are already allocated,
|
|
2564
|
+
unless adminAccess is requested.
|
|
2565
|
+
|
|
2566
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
2567
|
+
|
|
2568
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2569
|
+
|
|
2570
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2571
|
+
:param builtins.int count: Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2572
|
+
|
|
2573
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2574
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2575
|
+
|
|
2576
|
+
A class is required if no subrequests are specified in the firstAvailable list and no class can be set if subrequests are specified in the firstAvailable list. Which classes are available depends on the cluster.
|
|
2577
|
+
|
|
2578
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
2579
|
+
:param Sequence['DeviceSubRequestPatchArgs'] first_available: FirstAvailable contains subrequests, of which exactly one will be satisfied by the scheduler to satisfy this request. It tries to satisfy them in the order in which they are listed here. So if there are two entries in the list, the scheduler will only check the second one if it determines that the first one cannot be used.
|
|
2580
|
+
|
|
2581
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2582
|
+
|
|
2583
|
+
DRA does not yet implement scoring, so the scheduler will select the first set of devices that satisfies all the requests in the claim. And if the requirements can be satisfied on more than one node, other scheduling features will determine which node is chosen. This means that the set of devices allocated to a claim might not be the optimal set available to the cluster. Scoring will be implemented later.
|
|
2584
|
+
:param builtins.str name: Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.
|
|
2585
|
+
|
|
2586
|
+
Must be a DNS label.
|
|
2587
|
+
:param Sequence['DeviceSelectorPatchArgs'] selectors: Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
2588
|
+
|
|
2589
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2590
|
+
:param Sequence['DeviceTolerationPatchArgs'] tolerations: If specified, the request's tolerations.
|
|
2591
|
+
|
|
2592
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2593
|
+
|
|
2594
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
2595
|
+
|
|
2596
|
+
The maximum number of tolerations is 16.
|
|
2597
|
+
|
|
2598
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2599
|
+
|
|
2600
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2601
|
+
"""
|
|
2602
|
+
if admin_access is not None:
|
|
2603
|
+
pulumi.set(__self__, "admin_access", admin_access)
|
|
2604
|
+
if allocation_mode is not None:
|
|
2605
|
+
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
2606
|
+
if count is not None:
|
|
2607
|
+
pulumi.set(__self__, "count", count)
|
|
2608
|
+
if device_class_name is not None:
|
|
2609
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
2610
|
+
if first_available is not None:
|
|
2611
|
+
pulumi.set(__self__, "first_available", first_available)
|
|
2612
|
+
if name is not None:
|
|
2613
|
+
pulumi.set(__self__, "name", name)
|
|
2614
|
+
if selectors is not None:
|
|
2615
|
+
pulumi.set(__self__, "selectors", selectors)
|
|
2616
|
+
if tolerations is not None:
|
|
2617
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
2618
|
+
|
|
2619
|
+
@property
|
|
2620
|
+
@pulumi.getter(name="adminAccess")
|
|
2621
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
2622
|
+
"""
|
|
2623
|
+
AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.
|
|
2624
|
+
|
|
2625
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2626
|
+
|
|
2627
|
+
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
2628
|
+
"""
|
|
2629
|
+
return pulumi.get(self, "admin_access")
|
|
2630
|
+
|
|
2631
|
+
@property
|
|
2632
|
+
@pulumi.getter(name="allocationMode")
|
|
2633
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
2634
|
+
"""
|
|
2635
|
+
AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2636
|
+
|
|
2637
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2638
|
+
This is the default. The exact number is provided in the
|
|
2639
|
+
count field.
|
|
2640
|
+
|
|
2641
|
+
- All: This request is for all of the matching devices in a pool.
|
|
2642
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
2643
|
+
Allocation will fail if some devices are already allocated,
|
|
2644
|
+
unless adminAccess is requested.
|
|
2645
|
+
|
|
2646
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
2647
|
+
|
|
2648
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2649
|
+
|
|
2650
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2651
|
+
"""
|
|
2652
|
+
return pulumi.get(self, "allocation_mode")
|
|
2653
|
+
|
|
2654
|
+
@property
|
|
2655
|
+
@pulumi.getter
|
|
2656
|
+
def count(self) -> Optional[builtins.int]:
|
|
2657
|
+
"""
|
|
2658
|
+
Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2659
|
+
|
|
2660
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2661
|
+
"""
|
|
2662
|
+
return pulumi.get(self, "count")
|
|
2663
|
+
|
|
2664
|
+
@property
|
|
2665
|
+
@pulumi.getter(name="deviceClassName")
|
|
2666
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
2667
|
+
"""
|
|
2668
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2669
|
+
|
|
2670
|
+
A class is required if no subrequests are specified in the firstAvailable list and no class can be set if subrequests are specified in the firstAvailable list. Which classes are available depends on the cluster.
|
|
2671
|
+
|
|
2672
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
2673
|
+
"""
|
|
2674
|
+
return pulumi.get(self, "device_class_name")
|
|
2675
|
+
|
|
2676
|
+
@property
|
|
2677
|
+
@pulumi.getter(name="firstAvailable")
|
|
2678
|
+
def first_available(self) -> Optional[Sequence['outputs.DeviceSubRequestPatch']]:
|
|
2679
|
+
"""
|
|
2680
|
+
FirstAvailable contains subrequests, of which exactly one will be satisfied by the scheduler to satisfy this request. It tries to satisfy them in the order in which they are listed here. So if there are two entries in the list, the scheduler will only check the second one if it determines that the first one cannot be used.
|
|
2681
|
+
|
|
2682
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2683
|
+
|
|
2684
|
+
DRA does not yet implement scoring, so the scheduler will select the first set of devices that satisfies all the requests in the claim. And if the requirements can be satisfied on more than one node, other scheduling features will determine which node is chosen. This means that the set of devices allocated to a claim might not be the optimal set available to the cluster. Scoring will be implemented later.
|
|
2685
|
+
"""
|
|
2686
|
+
return pulumi.get(self, "first_available")
|
|
2687
|
+
|
|
2688
|
+
@property
|
|
2689
|
+
@pulumi.getter
|
|
2690
|
+
def name(self) -> Optional[builtins.str]:
|
|
2691
|
+
"""
|
|
2692
|
+
Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.
|
|
2693
|
+
|
|
2694
|
+
Must be a DNS label.
|
|
2695
|
+
"""
|
|
2696
|
+
return pulumi.get(self, "name")
|
|
2697
|
+
|
|
2698
|
+
@property
|
|
2699
|
+
@pulumi.getter
|
|
2700
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelectorPatch']]:
|
|
2701
|
+
"""
|
|
2702
|
+
Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
2703
|
+
|
|
2704
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2705
|
+
"""
|
|
2706
|
+
return pulumi.get(self, "selectors")
|
|
2707
|
+
|
|
2708
|
+
@property
|
|
2709
|
+
@pulumi.getter
|
|
2710
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceTolerationPatch']]:
|
|
2711
|
+
"""
|
|
2712
|
+
If specified, the request's tolerations.
|
|
2713
|
+
|
|
2714
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2715
|
+
|
|
2716
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
2717
|
+
|
|
2718
|
+
The maximum number of tolerations is 16.
|
|
2719
|
+
|
|
2720
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2721
|
+
|
|
2722
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2723
|
+
"""
|
|
2724
|
+
return pulumi.get(self, "tolerations")
|
|
2725
|
+
|
|
2726
|
+
|
|
2727
|
+
@pulumi.output_type
|
|
2728
|
+
class DeviceSelector(dict):
|
|
2729
|
+
"""
|
|
2730
|
+
DeviceSelector must have exactly one field set.
|
|
2731
|
+
"""
|
|
2732
|
+
def __init__(__self__, *,
|
|
2733
|
+
cel: Optional['outputs.CELDeviceSelector'] = None):
|
|
2734
|
+
"""
|
|
2735
|
+
DeviceSelector must have exactly one field set.
|
|
2736
|
+
:param 'CELDeviceSelectorArgs' cel: CEL contains a CEL expression for selecting a device.
|
|
2737
|
+
"""
|
|
2738
|
+
if cel is not None:
|
|
2739
|
+
pulumi.set(__self__, "cel", cel)
|
|
2740
|
+
|
|
2741
|
+
@property
|
|
2742
|
+
@pulumi.getter
|
|
2743
|
+
def cel(self) -> Optional['outputs.CELDeviceSelector']:
|
|
2744
|
+
"""
|
|
2745
|
+
CEL contains a CEL expression for selecting a device.
|
|
2746
|
+
"""
|
|
2747
|
+
return pulumi.get(self, "cel")
|
|
2748
|
+
|
|
2749
|
+
|
|
2750
|
+
@pulumi.output_type
|
|
2751
|
+
class DeviceSelectorPatch(dict):
|
|
2752
|
+
"""
|
|
2753
|
+
DeviceSelector must have exactly one field set.
|
|
2754
|
+
"""
|
|
2755
|
+
def __init__(__self__, *,
|
|
2756
|
+
cel: Optional['outputs.CELDeviceSelectorPatch'] = None):
|
|
2757
|
+
"""
|
|
2758
|
+
DeviceSelector must have exactly one field set.
|
|
2759
|
+
:param 'CELDeviceSelectorPatchArgs' cel: CEL contains a CEL expression for selecting a device.
|
|
2760
|
+
"""
|
|
2761
|
+
if cel is not None:
|
|
2762
|
+
pulumi.set(__self__, "cel", cel)
|
|
2763
|
+
|
|
2764
|
+
@property
|
|
2765
|
+
@pulumi.getter
|
|
2766
|
+
def cel(self) -> Optional['outputs.CELDeviceSelectorPatch']:
|
|
2767
|
+
"""
|
|
2768
|
+
CEL contains a CEL expression for selecting a device.
|
|
2769
|
+
"""
|
|
2770
|
+
return pulumi.get(self, "cel")
|
|
2771
|
+
|
|
2772
|
+
|
|
2773
|
+
@pulumi.output_type
|
|
2774
|
+
class DeviceSubRequest(dict):
|
|
2775
|
+
"""
|
|
2776
|
+
DeviceSubRequest describes a request for device provided in the claim.spec.devices.requests[].firstAvailable array. Each is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2777
|
+
|
|
2778
|
+
DeviceSubRequest is similar to Request, but doesn't expose the AdminAccess or FirstAvailable fields, as those can only be set on the top-level request. AdminAccess is not supported for requests with a prioritized list, and recursive FirstAvailable fields are not supported.
|
|
2779
|
+
"""
|
|
2780
|
+
@staticmethod
|
|
2781
|
+
def __key_warning(key: str):
|
|
2782
|
+
suggest = None
|
|
2783
|
+
if key == "deviceClassName":
|
|
2784
|
+
suggest = "device_class_name"
|
|
2785
|
+
elif key == "allocationMode":
|
|
2786
|
+
suggest = "allocation_mode"
|
|
2787
|
+
|
|
2788
|
+
if suggest:
|
|
2789
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceSubRequest. Access the value via the '{suggest}' property getter instead.")
|
|
2790
|
+
|
|
2791
|
+
def __getitem__(self, key: str) -> Any:
|
|
2792
|
+
DeviceSubRequest.__key_warning(key)
|
|
2793
|
+
return super().__getitem__(key)
|
|
2794
|
+
|
|
2795
|
+
def get(self, key: str, default = None) -> Any:
|
|
2796
|
+
DeviceSubRequest.__key_warning(key)
|
|
2797
|
+
return super().get(key, default)
|
|
2798
|
+
|
|
2799
|
+
def __init__(__self__, *,
|
|
2800
|
+
device_class_name: builtins.str,
|
|
2801
|
+
name: builtins.str,
|
|
2802
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
2803
|
+
count: Optional[builtins.int] = None,
|
|
2804
|
+
selectors: Optional[Sequence['outputs.DeviceSelector']] = None,
|
|
2805
|
+
tolerations: Optional[Sequence['outputs.DeviceToleration']] = None):
|
|
2806
|
+
"""
|
|
2807
|
+
DeviceSubRequest describes a request for device provided in the claim.spec.devices.requests[].firstAvailable array. Each is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2808
|
+
|
|
2809
|
+
DeviceSubRequest is similar to Request, but doesn't expose the AdminAccess or FirstAvailable fields, as those can only be set on the top-level request. AdminAccess is not supported for requests with a prioritized list, and recursive FirstAvailable fields are not supported.
|
|
2810
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
2811
|
+
|
|
2812
|
+
A class is required. Which classes are available depends on the cluster.
|
|
2813
|
+
|
|
2814
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
2815
|
+
:param builtins.str name: Name can be used to reference this subrequest in the list of constraints or the list of configurations for the claim. References must use the format <main request>/<subrequest>.
|
|
2816
|
+
|
|
2817
|
+
Must be a DNS label.
|
|
2818
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2819
|
+
|
|
2820
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2821
|
+
This is the default. The exact number is provided in the
|
|
2822
|
+
count field.
|
|
2823
|
+
|
|
2824
|
+
- All: This request is for all of the matching devices in a pool.
|
|
2825
|
+
Allocation will fail if some devices are already allocated,
|
|
2826
|
+
unless adminAccess is requested.
|
|
2827
|
+
|
|
2828
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
2829
|
+
|
|
2830
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2831
|
+
:param builtins.int count: Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2832
|
+
:param Sequence['DeviceSelectorArgs'] selectors: Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
2833
|
+
:param Sequence['DeviceTolerationArgs'] tolerations: If specified, the request's tolerations.
|
|
2834
|
+
|
|
2835
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2836
|
+
|
|
2837
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
2838
|
+
|
|
2839
|
+
The maximum number of tolerations is 16.
|
|
2840
|
+
|
|
2841
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2842
|
+
"""
|
|
2843
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
2844
|
+
pulumi.set(__self__, "name", name)
|
|
2845
|
+
if allocation_mode is not None:
|
|
2846
|
+
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
2847
|
+
if count is not None:
|
|
2848
|
+
pulumi.set(__self__, "count", count)
|
|
2849
|
+
if selectors is not None:
|
|
2850
|
+
pulumi.set(__self__, "selectors", selectors)
|
|
2851
|
+
if tolerations is not None:
|
|
2852
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
2853
|
+
|
|
2854
|
+
@property
|
|
2855
|
+
@pulumi.getter(name="deviceClassName")
|
|
2856
|
+
def device_class_name(self) -> builtins.str:
|
|
2857
|
+
"""
|
|
2858
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
2859
|
+
|
|
2860
|
+
A class is required. Which classes are available depends on the cluster.
|
|
2861
|
+
|
|
2862
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
2863
|
+
"""
|
|
2864
|
+
return pulumi.get(self, "device_class_name")
|
|
2865
|
+
|
|
2866
|
+
@property
|
|
2867
|
+
@pulumi.getter
|
|
2868
|
+
def name(self) -> builtins.str:
|
|
2869
|
+
"""
|
|
2870
|
+
Name can be used to reference this subrequest in the list of constraints or the list of configurations for the claim. References must use the format <main request>/<subrequest>.
|
|
2871
|
+
|
|
2872
|
+
Must be a DNS label.
|
|
2873
|
+
"""
|
|
2874
|
+
return pulumi.get(self, "name")
|
|
2875
|
+
|
|
2876
|
+
@property
|
|
2877
|
+
@pulumi.getter(name="allocationMode")
|
|
2878
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
2879
|
+
"""
|
|
2880
|
+
AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2881
|
+
|
|
2882
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2883
|
+
This is the default. The exact number is provided in the
|
|
2884
|
+
count field.
|
|
2885
|
+
|
|
2886
|
+
- All: This request is for all of the matching devices in a pool.
|
|
2887
|
+
Allocation will fail if some devices are already allocated,
|
|
2888
|
+
unless adminAccess is requested.
|
|
2889
|
+
|
|
2890
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
2891
|
+
|
|
2892
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2893
|
+
"""
|
|
2894
|
+
return pulumi.get(self, "allocation_mode")
|
|
2895
|
+
|
|
2896
|
+
@property
|
|
2897
|
+
@pulumi.getter
|
|
2898
|
+
def count(self) -> Optional[builtins.int]:
|
|
2899
|
+
"""
|
|
2900
|
+
Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2901
|
+
"""
|
|
2902
|
+
return pulumi.get(self, "count")
|
|
2903
|
+
|
|
2904
|
+
@property
|
|
2905
|
+
@pulumi.getter
|
|
2906
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelector']]:
|
|
2907
|
+
"""
|
|
2908
|
+
Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
2909
|
+
"""
|
|
2910
|
+
return pulumi.get(self, "selectors")
|
|
2911
|
+
|
|
2912
|
+
@property
|
|
2913
|
+
@pulumi.getter
|
|
2914
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceToleration']]:
|
|
2915
|
+
"""
|
|
2916
|
+
If specified, the request's tolerations.
|
|
2917
|
+
|
|
2918
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2919
|
+
|
|
2920
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
2921
|
+
|
|
2922
|
+
The maximum number of tolerations is 16.
|
|
2923
|
+
|
|
2924
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2925
|
+
"""
|
|
2926
|
+
return pulumi.get(self, "tolerations")
|
|
2927
|
+
|
|
2928
|
+
|
|
2929
|
+
@pulumi.output_type
|
|
2930
|
+
class DeviceSubRequestPatch(dict):
|
|
2931
|
+
"""
|
|
2932
|
+
DeviceSubRequest describes a request for device provided in the claim.spec.devices.requests[].firstAvailable array. Each is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2933
|
+
|
|
2934
|
+
DeviceSubRequest is similar to Request, but doesn't expose the AdminAccess or FirstAvailable fields, as those can only be set on the top-level request. AdminAccess is not supported for requests with a prioritized list, and recursive FirstAvailable fields are not supported.
|
|
2935
|
+
"""
|
|
2936
|
+
@staticmethod
|
|
2937
|
+
def __key_warning(key: str):
|
|
2938
|
+
suggest = None
|
|
2939
|
+
if key == "allocationMode":
|
|
2940
|
+
suggest = "allocation_mode"
|
|
2941
|
+
elif key == "deviceClassName":
|
|
2942
|
+
suggest = "device_class_name"
|
|
2943
|
+
|
|
2944
|
+
if suggest:
|
|
2945
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceSubRequestPatch. Access the value via the '{suggest}' property getter instead.")
|
|
2946
|
+
|
|
2947
|
+
def __getitem__(self, key: str) -> Any:
|
|
2948
|
+
DeviceSubRequestPatch.__key_warning(key)
|
|
2949
|
+
return super().__getitem__(key)
|
|
2950
|
+
|
|
2951
|
+
def get(self, key: str, default = None) -> Any:
|
|
2952
|
+
DeviceSubRequestPatch.__key_warning(key)
|
|
2953
|
+
return super().get(key, default)
|
|
2954
|
+
|
|
2955
|
+
def __init__(__self__, *,
|
|
2956
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
2957
|
+
count: Optional[builtins.int] = None,
|
|
2958
|
+
device_class_name: Optional[builtins.str] = None,
|
|
2959
|
+
name: Optional[builtins.str] = None,
|
|
2960
|
+
selectors: Optional[Sequence['outputs.DeviceSelectorPatch']] = None,
|
|
2961
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
2962
|
+
"""
|
|
2963
|
+
DeviceSubRequest describes a request for device provided in the claim.spec.devices.requests[].firstAvailable array. Each is typically a request for a single resource like a device, but can also ask for several identical devices.
|
|
2964
|
+
|
|
2965
|
+
DeviceSubRequest is similar to Request, but doesn't expose the AdminAccess or FirstAvailable fields, as those can only be set on the top-level request. AdminAccess is not supported for requests with a prioritized list, and recursive FirstAvailable fields are not supported.
|
|
2966
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2967
|
+
|
|
2968
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2969
|
+
This is the default. The exact number is provided in the
|
|
2970
|
+
count field.
|
|
2971
|
+
|
|
2972
|
+
- All: This request is for all of the matching devices in a pool.
|
|
2973
|
+
Allocation will fail if some devices are already allocated,
|
|
2974
|
+
unless adminAccess is requested.
|
|
2975
|
+
|
|
2976
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
2977
|
+
|
|
2978
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2979
|
+
:param builtins.int count: Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
2980
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
2981
|
+
|
|
2982
|
+
A class is required. Which classes are available depends on the cluster.
|
|
2983
|
+
|
|
2984
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
2985
|
+
:param builtins.str name: Name can be used to reference this subrequest in the list of constraints or the list of configurations for the claim. References must use the format <main request>/<subrequest>.
|
|
2986
|
+
|
|
2987
|
+
Must be a DNS label.
|
|
2988
|
+
:param Sequence['DeviceSelectorPatchArgs'] selectors: Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
2989
|
+
:param Sequence['DeviceTolerationPatchArgs'] tolerations: If specified, the request's tolerations.
|
|
2990
|
+
|
|
2991
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2992
|
+
|
|
2993
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
2994
|
+
|
|
2995
|
+
The maximum number of tolerations is 16.
|
|
2996
|
+
|
|
2997
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2998
|
+
"""
|
|
2999
|
+
if allocation_mode is not None:
|
|
3000
|
+
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
3001
|
+
if count is not None:
|
|
3002
|
+
pulumi.set(__self__, "count", count)
|
|
3003
|
+
if device_class_name is not None:
|
|
3004
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
3005
|
+
if name is not None:
|
|
3006
|
+
pulumi.set(__self__, "name", name)
|
|
3007
|
+
if selectors is not None:
|
|
3008
|
+
pulumi.set(__self__, "selectors", selectors)
|
|
3009
|
+
if tolerations is not None:
|
|
3010
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
3011
|
+
|
|
3012
|
+
@property
|
|
3013
|
+
@pulumi.getter(name="allocationMode")
|
|
3014
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
3015
|
+
"""
|
|
3016
|
+
AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
3017
|
+
|
|
3018
|
+
- ExactCount: This request is for a specific number of devices.
|
|
3019
|
+
This is the default. The exact number is provided in the
|
|
3020
|
+
count field.
|
|
3021
|
+
|
|
3022
|
+
- All: This request is for all of the matching devices in a pool.
|
|
3023
|
+
Allocation will fail if some devices are already allocated,
|
|
3024
|
+
unless adminAccess is requested.
|
|
3025
|
+
|
|
3026
|
+
If AllocationMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
3027
|
+
|
|
3028
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
3029
|
+
"""
|
|
3030
|
+
return pulumi.get(self, "allocation_mode")
|
|
3031
|
+
|
|
3032
|
+
@property
|
|
3033
|
+
@pulumi.getter
|
|
3034
|
+
def count(self) -> Optional[builtins.int]:
|
|
3035
|
+
"""
|
|
3036
|
+
Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
3037
|
+
"""
|
|
3038
|
+
return pulumi.get(self, "count")
|
|
3039
|
+
|
|
3040
|
+
@property
|
|
3041
|
+
@pulumi.getter(name="deviceClassName")
|
|
3042
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
3043
|
+
"""
|
|
3044
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
3045
|
+
|
|
3046
|
+
A class is required. Which classes are available depends on the cluster.
|
|
3047
|
+
|
|
3048
|
+
Administrators may use this to restrict which devices may get requested by only installing classes with selectors for permitted devices. If users are free to request anything without restrictions, then administrators can create an empty DeviceClass for users to reference.
|
|
3049
|
+
"""
|
|
3050
|
+
return pulumi.get(self, "device_class_name")
|
|
3051
|
+
|
|
3052
|
+
@property
|
|
3053
|
+
@pulumi.getter
|
|
3054
|
+
def name(self) -> Optional[builtins.str]:
|
|
3055
|
+
"""
|
|
3056
|
+
Name can be used to reference this subrequest in the list of constraints or the list of configurations for the claim. References must use the format <main request>/<subrequest>.
|
|
3057
|
+
|
|
3058
|
+
Must be a DNS label.
|
|
3059
|
+
"""
|
|
3060
|
+
return pulumi.get(self, "name")
|
|
3061
|
+
|
|
3062
|
+
@property
|
|
3063
|
+
@pulumi.getter
|
|
3064
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelectorPatch']]:
|
|
3065
|
+
"""
|
|
3066
|
+
Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this request. All selectors must be satisfied for a device to be considered.
|
|
3067
|
+
"""
|
|
3068
|
+
return pulumi.get(self, "selectors")
|
|
3069
|
+
|
|
3070
|
+
@property
|
|
3071
|
+
@pulumi.getter
|
|
3072
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceTolerationPatch']]:
|
|
3073
|
+
"""
|
|
3074
|
+
If specified, the request's tolerations.
|
|
3075
|
+
|
|
3076
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
3077
|
+
|
|
3078
|
+
In addition, should any of the allocated devices get tainted with NoExecute after allocation and that effect is not tolerated, then all pods consuming the ResourceClaim get deleted to evict them. The scheduler will not let new pods reserve the claim while it has these tainted devices. Once all pods are evicted, the claim will get deallocated.
|
|
3079
|
+
|
|
3080
|
+
The maximum number of tolerations is 16.
|
|
3081
|
+
|
|
3082
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
3083
|
+
"""
|
|
3084
|
+
return pulumi.get(self, "tolerations")
|
|
3085
|
+
|
|
3086
|
+
|
|
3087
|
+
@pulumi.output_type
|
|
3088
|
+
class DeviceTaint(dict):
|
|
3089
|
+
"""
|
|
3090
|
+
The device this taint is attached to has the "effect" on any claim which does not tolerate the taint and, through the claim, to pods using the claim.
|
|
3091
|
+
"""
|
|
3092
|
+
@staticmethod
|
|
3093
|
+
def __key_warning(key: str):
|
|
3094
|
+
suggest = None
|
|
3095
|
+
if key == "timeAdded":
|
|
3096
|
+
suggest = "time_added"
|
|
3097
|
+
|
|
3098
|
+
if suggest:
|
|
3099
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaint. Access the value via the '{suggest}' property getter instead.")
|
|
3100
|
+
|
|
3101
|
+
def __getitem__(self, key: str) -> Any:
|
|
3102
|
+
DeviceTaint.__key_warning(key)
|
|
3103
|
+
return super().__getitem__(key)
|
|
3104
|
+
|
|
3105
|
+
def get(self, key: str, default = None) -> Any:
|
|
3106
|
+
DeviceTaint.__key_warning(key)
|
|
3107
|
+
return super().get(key, default)
|
|
3108
|
+
|
|
3109
|
+
def __init__(__self__, *,
|
|
3110
|
+
effect: builtins.str,
|
|
3111
|
+
key: builtins.str,
|
|
3112
|
+
time_added: Optional[builtins.str] = None,
|
|
3113
|
+
value: Optional[builtins.str] = None):
|
|
3114
|
+
"""
|
|
3115
|
+
The device this taint is attached to has the "effect" on any claim which does not tolerate the taint and, through the claim, to pods using the claim.
|
|
3116
|
+
:param builtins.str effect: The effect of the taint on claims that do not tolerate the taint and through such claims on the pods using them. Valid effects are NoSchedule and NoExecute. PreferNoSchedule as used for nodes is not valid here.
|
|
3117
|
+
:param builtins.str key: The taint key to be applied to a device. Must be a label name.
|
|
3118
|
+
:param builtins.str time_added: TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3119
|
+
:param builtins.str value: The taint value corresponding to the taint key. Must be a label value.
|
|
3120
|
+
"""
|
|
3121
|
+
pulumi.set(__self__, "effect", effect)
|
|
3122
|
+
pulumi.set(__self__, "key", key)
|
|
3123
|
+
if time_added is not None:
|
|
3124
|
+
pulumi.set(__self__, "time_added", time_added)
|
|
3125
|
+
if value is not None:
|
|
3126
|
+
pulumi.set(__self__, "value", value)
|
|
3127
|
+
|
|
3128
|
+
@property
|
|
3129
|
+
@pulumi.getter
|
|
3130
|
+
def effect(self) -> builtins.str:
|
|
3131
|
+
"""
|
|
3132
|
+
The effect of the taint on claims that do not tolerate the taint and through such claims on the pods using them. Valid effects are NoSchedule and NoExecute. PreferNoSchedule as used for nodes is not valid here.
|
|
3133
|
+
"""
|
|
3134
|
+
return pulumi.get(self, "effect")
|
|
3135
|
+
|
|
3136
|
+
@property
|
|
3137
|
+
@pulumi.getter
|
|
3138
|
+
def key(self) -> builtins.str:
|
|
3139
|
+
"""
|
|
3140
|
+
The taint key to be applied to a device. Must be a label name.
|
|
3141
|
+
"""
|
|
3142
|
+
return pulumi.get(self, "key")
|
|
3143
|
+
|
|
3144
|
+
@property
|
|
3145
|
+
@pulumi.getter(name="timeAdded")
|
|
3146
|
+
def time_added(self) -> Optional[builtins.str]:
|
|
3147
|
+
"""
|
|
3148
|
+
TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3149
|
+
"""
|
|
3150
|
+
return pulumi.get(self, "time_added")
|
|
3151
|
+
|
|
3152
|
+
@property
|
|
3153
|
+
@pulumi.getter
|
|
3154
|
+
def value(self) -> Optional[builtins.str]:
|
|
3155
|
+
"""
|
|
3156
|
+
The taint value corresponding to the taint key. Must be a label value.
|
|
3157
|
+
"""
|
|
3158
|
+
return pulumi.get(self, "value")
|
|
3159
|
+
|
|
3160
|
+
|
|
3161
|
+
@pulumi.output_type
|
|
3162
|
+
class DeviceTaintPatch(dict):
|
|
3163
|
+
"""
|
|
3164
|
+
The device this taint is attached to has the "effect" on any claim which does not tolerate the taint and, through the claim, to pods using the claim.
|
|
3165
|
+
"""
|
|
3166
|
+
@staticmethod
|
|
3167
|
+
def __key_warning(key: str):
|
|
3168
|
+
suggest = None
|
|
3169
|
+
if key == "timeAdded":
|
|
3170
|
+
suggest = "time_added"
|
|
3171
|
+
|
|
3172
|
+
if suggest:
|
|
3173
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaintPatch. Access the value via the '{suggest}' property getter instead.")
|
|
3174
|
+
|
|
3175
|
+
def __getitem__(self, key: str) -> Any:
|
|
3176
|
+
DeviceTaintPatch.__key_warning(key)
|
|
3177
|
+
return super().__getitem__(key)
|
|
3178
|
+
|
|
3179
|
+
def get(self, key: str, default = None) -> Any:
|
|
3180
|
+
DeviceTaintPatch.__key_warning(key)
|
|
3181
|
+
return super().get(key, default)
|
|
3182
|
+
|
|
3183
|
+
def __init__(__self__, *,
|
|
3184
|
+
effect: Optional[builtins.str] = None,
|
|
3185
|
+
key: Optional[builtins.str] = None,
|
|
3186
|
+
time_added: Optional[builtins.str] = None,
|
|
3187
|
+
value: Optional[builtins.str] = None):
|
|
3188
|
+
"""
|
|
3189
|
+
The device this taint is attached to has the "effect" on any claim which does not tolerate the taint and, through the claim, to pods using the claim.
|
|
3190
|
+
:param builtins.str effect: The effect of the taint on claims that do not tolerate the taint and through such claims on the pods using them. Valid effects are NoSchedule and NoExecute. PreferNoSchedule as used for nodes is not valid here.
|
|
3191
|
+
:param builtins.str key: The taint key to be applied to a device. Must be a label name.
|
|
3192
|
+
:param builtins.str time_added: TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3193
|
+
:param builtins.str value: The taint value corresponding to the taint key. Must be a label value.
|
|
3194
|
+
"""
|
|
3195
|
+
if effect is not None:
|
|
3196
|
+
pulumi.set(__self__, "effect", effect)
|
|
3197
|
+
if key is not None:
|
|
3198
|
+
pulumi.set(__self__, "key", key)
|
|
3199
|
+
if time_added is not None:
|
|
3200
|
+
pulumi.set(__self__, "time_added", time_added)
|
|
3201
|
+
if value is not None:
|
|
3202
|
+
pulumi.set(__self__, "value", value)
|
|
3203
|
+
|
|
3204
|
+
@property
|
|
3205
|
+
@pulumi.getter
|
|
3206
|
+
def effect(self) -> Optional[builtins.str]:
|
|
3207
|
+
"""
|
|
3208
|
+
The effect of the taint on claims that do not tolerate the taint and through such claims on the pods using them. Valid effects are NoSchedule and NoExecute. PreferNoSchedule as used for nodes is not valid here.
|
|
3209
|
+
"""
|
|
3210
|
+
return pulumi.get(self, "effect")
|
|
3211
|
+
|
|
3212
|
+
@property
|
|
3213
|
+
@pulumi.getter
|
|
3214
|
+
def key(self) -> Optional[builtins.str]:
|
|
3215
|
+
"""
|
|
3216
|
+
The taint key to be applied to a device. Must be a label name.
|
|
3217
|
+
"""
|
|
3218
|
+
return pulumi.get(self, "key")
|
|
3219
|
+
|
|
3220
|
+
@property
|
|
3221
|
+
@pulumi.getter(name="timeAdded")
|
|
3222
|
+
def time_added(self) -> Optional[builtins.str]:
|
|
3223
|
+
"""
|
|
3224
|
+
TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3225
|
+
"""
|
|
3226
|
+
return pulumi.get(self, "time_added")
|
|
3227
|
+
|
|
3228
|
+
@property
|
|
3229
|
+
@pulumi.getter
|
|
3230
|
+
def value(self) -> Optional[builtins.str]:
|
|
3231
|
+
"""
|
|
3232
|
+
The taint value corresponding to the taint key. Must be a label value.
|
|
3233
|
+
"""
|
|
3234
|
+
return pulumi.get(self, "value")
|
|
3235
|
+
|
|
3236
|
+
|
|
3237
|
+
@pulumi.output_type
|
|
3238
|
+
class DeviceTaintRule(dict):
|
|
3239
|
+
"""
|
|
3240
|
+
DeviceTaintRule adds one taint to all devices which match the selector. This has the same effect as if the taint was specified directly in the ResourceSlice by the DRA driver.
|
|
3241
|
+
"""
|
|
3242
|
+
@staticmethod
|
|
3243
|
+
def __key_warning(key: str):
|
|
3244
|
+
suggest = None
|
|
3245
|
+
if key == "apiVersion":
|
|
3246
|
+
suggest = "api_version"
|
|
3247
|
+
|
|
3248
|
+
if suggest:
|
|
3249
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaintRule. Access the value via the '{suggest}' property getter instead.")
|
|
3250
|
+
|
|
3251
|
+
def __getitem__(self, key: str) -> Any:
|
|
3252
|
+
DeviceTaintRule.__key_warning(key)
|
|
3253
|
+
return super().__getitem__(key)
|
|
3254
|
+
|
|
3255
|
+
def get(self, key: str, default = None) -> Any:
|
|
3256
|
+
DeviceTaintRule.__key_warning(key)
|
|
3257
|
+
return super().get(key, default)
|
|
3258
|
+
|
|
3259
|
+
def __init__(__self__, *,
|
|
3260
|
+
spec: 'outputs.DeviceTaintRuleSpec',
|
|
3261
|
+
api_version: Optional[builtins.str] = None,
|
|
3262
|
+
kind: Optional[builtins.str] = None,
|
|
3263
|
+
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None):
|
|
3264
|
+
"""
|
|
3265
|
+
DeviceTaintRule adds one taint to all devices which match the selector. This has the same effect as if the taint was specified directly in the ResourceSlice by the DRA driver.
|
|
3266
|
+
:param 'DeviceTaintRuleSpecArgs' spec: Spec specifies the selector and one taint.
|
|
3267
|
+
|
|
3268
|
+
Changing the spec automatically increments the metadata.generation number.
|
|
3269
|
+
:param builtins.str api_version: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
3270
|
+
:param builtins.str kind: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
3271
|
+
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
3272
|
+
"""
|
|
3273
|
+
pulumi.set(__self__, "spec", spec)
|
|
3274
|
+
if api_version is not None:
|
|
3275
|
+
pulumi.set(__self__, "api_version", 'resource.k8s.io/v1alpha3')
|
|
3276
|
+
if kind is not None:
|
|
3277
|
+
pulumi.set(__self__, "kind", 'DeviceTaintRule')
|
|
3278
|
+
if metadata is not None:
|
|
3279
|
+
pulumi.set(__self__, "metadata", metadata)
|
|
3280
|
+
|
|
3281
|
+
@property
|
|
3282
|
+
@pulumi.getter
|
|
3283
|
+
def spec(self) -> 'outputs.DeviceTaintRuleSpec':
|
|
3284
|
+
"""
|
|
3285
|
+
Spec specifies the selector and one taint.
|
|
3286
|
+
|
|
3287
|
+
Changing the spec automatically increments the metadata.generation number.
|
|
3288
|
+
"""
|
|
3289
|
+
return pulumi.get(self, "spec")
|
|
3290
|
+
|
|
3291
|
+
@property
|
|
3292
|
+
@pulumi.getter(name="apiVersion")
|
|
3293
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
3294
|
+
"""
|
|
3295
|
+
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
|
|
3296
|
+
"""
|
|
3297
|
+
return pulumi.get(self, "api_version")
|
|
3298
|
+
|
|
3299
|
+
@property
|
|
3300
|
+
@pulumi.getter
|
|
3301
|
+
def kind(self) -> Optional[builtins.str]:
|
|
3302
|
+
"""
|
|
3303
|
+
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
|
|
3304
|
+
"""
|
|
3305
|
+
return pulumi.get(self, "kind")
|
|
3306
|
+
|
|
3307
|
+
@property
|
|
3308
|
+
@pulumi.getter
|
|
3309
|
+
def metadata(self) -> Optional['_meta.v1.outputs.ObjectMeta']:
|
|
3310
|
+
"""
|
|
3311
|
+
Standard object metadata
|
|
3312
|
+
"""
|
|
3313
|
+
return pulumi.get(self, "metadata")
|
|
3314
|
+
|
|
3315
|
+
|
|
3316
|
+
@pulumi.output_type
|
|
3317
|
+
class DeviceTaintRuleSpec(dict):
|
|
3318
|
+
"""
|
|
3319
|
+
DeviceTaintRuleSpec specifies the selector and one taint.
|
|
3320
|
+
"""
|
|
3321
|
+
@staticmethod
|
|
3322
|
+
def __key_warning(key: str):
|
|
3323
|
+
suggest = None
|
|
3324
|
+
if key == "deviceSelector":
|
|
3325
|
+
suggest = "device_selector"
|
|
3326
|
+
|
|
3327
|
+
if suggest:
|
|
3328
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaintRuleSpec. Access the value via the '{suggest}' property getter instead.")
|
|
3329
|
+
|
|
3330
|
+
def __getitem__(self, key: str) -> Any:
|
|
3331
|
+
DeviceTaintRuleSpec.__key_warning(key)
|
|
3332
|
+
return super().__getitem__(key)
|
|
3333
|
+
|
|
3334
|
+
def get(self, key: str, default = None) -> Any:
|
|
3335
|
+
DeviceTaintRuleSpec.__key_warning(key)
|
|
3336
|
+
return super().get(key, default)
|
|
3337
|
+
|
|
3338
|
+
def __init__(__self__, *,
|
|
3339
|
+
taint: 'outputs.DeviceTaint',
|
|
3340
|
+
device_selector: Optional['outputs.DeviceTaintSelector'] = None):
|
|
3341
|
+
"""
|
|
3342
|
+
DeviceTaintRuleSpec specifies the selector and one taint.
|
|
3343
|
+
:param 'DeviceTaintArgs' taint: The taint that gets applied to matching devices.
|
|
3344
|
+
:param 'DeviceTaintSelectorArgs' device_selector: DeviceSelector defines which device(s) the taint is applied to. All selector criteria must be satified for a device to match. The empty selector matches all devices. Without a selector, no devices are matches.
|
|
3345
|
+
"""
|
|
3346
|
+
pulumi.set(__self__, "taint", taint)
|
|
3347
|
+
if device_selector is not None:
|
|
3348
|
+
pulumi.set(__self__, "device_selector", device_selector)
|
|
3349
|
+
|
|
3350
|
+
@property
|
|
3351
|
+
@pulumi.getter
|
|
3352
|
+
def taint(self) -> 'outputs.DeviceTaint':
|
|
3353
|
+
"""
|
|
3354
|
+
The taint that gets applied to matching devices.
|
|
3355
|
+
"""
|
|
3356
|
+
return pulumi.get(self, "taint")
|
|
3357
|
+
|
|
3358
|
+
@property
|
|
3359
|
+
@pulumi.getter(name="deviceSelector")
|
|
3360
|
+
def device_selector(self) -> Optional['outputs.DeviceTaintSelector']:
|
|
3361
|
+
"""
|
|
3362
|
+
DeviceSelector defines which device(s) the taint is applied to. All selector criteria must be satified for a device to match. The empty selector matches all devices. Without a selector, no devices are matches.
|
|
3363
|
+
"""
|
|
3364
|
+
return pulumi.get(self, "device_selector")
|
|
3365
|
+
|
|
3366
|
+
|
|
3367
|
+
@pulumi.output_type
|
|
3368
|
+
class DeviceTaintRuleSpecPatch(dict):
|
|
3369
|
+
"""
|
|
3370
|
+
DeviceTaintRuleSpec specifies the selector and one taint.
|
|
3371
|
+
"""
|
|
3372
|
+
@staticmethod
|
|
3373
|
+
def __key_warning(key: str):
|
|
3374
|
+
suggest = None
|
|
3375
|
+
if key == "deviceSelector":
|
|
3376
|
+
suggest = "device_selector"
|
|
3377
|
+
|
|
3378
|
+
if suggest:
|
|
3379
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaintRuleSpecPatch. Access the value via the '{suggest}' property getter instead.")
|
|
3380
|
+
|
|
3381
|
+
def __getitem__(self, key: str) -> Any:
|
|
3382
|
+
DeviceTaintRuleSpecPatch.__key_warning(key)
|
|
3383
|
+
return super().__getitem__(key)
|
|
3384
|
+
|
|
3385
|
+
def get(self, key: str, default = None) -> Any:
|
|
3386
|
+
DeviceTaintRuleSpecPatch.__key_warning(key)
|
|
3387
|
+
return super().get(key, default)
|
|
1769
3388
|
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
3389
|
+
def __init__(__self__, *,
|
|
3390
|
+
device_selector: Optional['outputs.DeviceTaintSelectorPatch'] = None,
|
|
3391
|
+
taint: Optional['outputs.DeviceTaintPatch'] = None):
|
|
1773
3392
|
"""
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
3393
|
+
DeviceTaintRuleSpec specifies the selector and one taint.
|
|
3394
|
+
:param 'DeviceTaintSelectorPatchArgs' device_selector: DeviceSelector defines which device(s) the taint is applied to. All selector criteria must be satified for a device to match. The empty selector matches all devices. Without a selector, no devices are matches.
|
|
3395
|
+
:param 'DeviceTaintPatchArgs' taint: The taint that gets applied to matching devices.
|
|
1777
3396
|
"""
|
|
1778
|
-
|
|
3397
|
+
if device_selector is not None:
|
|
3398
|
+
pulumi.set(__self__, "device_selector", device_selector)
|
|
3399
|
+
if taint is not None:
|
|
3400
|
+
pulumi.set(__self__, "taint", taint)
|
|
1779
3401
|
|
|
1780
3402
|
@property
|
|
1781
|
-
@pulumi.getter
|
|
1782
|
-
def
|
|
3403
|
+
@pulumi.getter(name="deviceSelector")
|
|
3404
|
+
def device_selector(self) -> Optional['outputs.DeviceTaintSelectorPatch']:
|
|
1783
3405
|
"""
|
|
1784
|
-
|
|
3406
|
+
DeviceSelector defines which device(s) the taint is applied to. All selector criteria must be satified for a device to match. The empty selector matches all devices. Without a selector, no devices are matches.
|
|
1785
3407
|
"""
|
|
1786
|
-
return pulumi.get(self, "
|
|
3408
|
+
return pulumi.get(self, "device_selector")
|
|
1787
3409
|
|
|
1788
3410
|
@property
|
|
1789
|
-
@pulumi.getter
|
|
1790
|
-
def
|
|
3411
|
+
@pulumi.getter
|
|
3412
|
+
def taint(self) -> Optional['outputs.DeviceTaintPatch']:
|
|
1791
3413
|
"""
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
3414
|
+
The taint that gets applied to matching devices.
|
|
1795
3415
|
"""
|
|
1796
|
-
return pulumi.get(self, "
|
|
3416
|
+
return pulumi.get(self, "taint")
|
|
1797
3417
|
|
|
1798
3418
|
|
|
1799
3419
|
@pulumi.output_type
|
|
1800
|
-
class
|
|
3420
|
+
class DeviceTaintSelector(dict):
|
|
1801
3421
|
"""
|
|
1802
|
-
|
|
3422
|
+
DeviceTaintSelector defines which device(s) a DeviceTaintRule applies to. The empty selector matches all devices. Without a selector, no devices are matched.
|
|
1803
3423
|
"""
|
|
1804
3424
|
@staticmethod
|
|
1805
3425
|
def __key_warning(key: str):
|
|
1806
3426
|
suggest = None
|
|
1807
|
-
if key == "
|
|
1808
|
-
suggest = "
|
|
3427
|
+
if key == "deviceClassName":
|
|
3428
|
+
suggest = "device_class_name"
|
|
1809
3429
|
|
|
1810
3430
|
if suggest:
|
|
1811
|
-
pulumi.log.warn(f"Key '{key}' not found in
|
|
3431
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaintSelector. Access the value via the '{suggest}' property getter instead.")
|
|
1812
3432
|
|
|
1813
3433
|
def __getitem__(self, key: str) -> Any:
|
|
1814
|
-
|
|
3434
|
+
DeviceTaintSelector.__key_warning(key)
|
|
1815
3435
|
return super().__getitem__(key)
|
|
1816
3436
|
|
|
1817
3437
|
def get(self, key: str, default = None) -> Any:
|
|
1818
|
-
|
|
3438
|
+
DeviceTaintSelector.__key_warning(key)
|
|
1819
3439
|
return super().get(key, default)
|
|
1820
3440
|
|
|
1821
3441
|
def __init__(__self__, *,
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
driver: Optional[str] = None,
|
|
1825
|
-
pool: Optional[str] = None,
|
|
1826
|
-
|
|
3442
|
+
device: Optional[builtins.str] = None,
|
|
3443
|
+
device_class_name: Optional[builtins.str] = None,
|
|
3444
|
+
driver: Optional[builtins.str] = None,
|
|
3445
|
+
pool: Optional[builtins.str] = None,
|
|
3446
|
+
selectors: Optional[Sequence['outputs.DeviceSelector']] = None):
|
|
1827
3447
|
"""
|
|
1828
|
-
|
|
1829
|
-
:param
|
|
1830
|
-
|
|
1831
|
-
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
1832
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
1833
|
-
:param str driver: Driver specifies the name of the DRA driver whose kubelet plugin should be invoked to process the allocation once the claim is needed on a node.
|
|
3448
|
+
DeviceTaintSelector defines which device(s) a DeviceTaintRule applies to. The empty selector matches all devices. Without a selector, no devices are matched.
|
|
3449
|
+
:param builtins.str device: If device is set, only devices with that name are selected. This field corresponds to slice.spec.devices[].name.
|
|
1834
3450
|
|
|
1835
|
-
|
|
1836
|
-
:param str
|
|
3451
|
+
Setting also driver and pool may be required to avoid ambiguity, but is not required.
|
|
3452
|
+
:param builtins.str device_class_name: If DeviceClassName is set, the selectors defined there must be satisfied by a device to be selected. This field corresponds to class.metadata.name.
|
|
3453
|
+
:param builtins.str driver: If driver is set, only devices from that driver are selected. This fields corresponds to slice.spec.driver.
|
|
3454
|
+
:param builtins.str pool: If pool is set, only devices in that pool are selected.
|
|
1837
3455
|
|
|
1838
|
-
|
|
1839
|
-
:param
|
|
3456
|
+
Also setting the driver name may be useful to avoid ambiguity when different drivers use the same pool name, but this is not required because selecting pools from different drivers may also be useful, for example when drivers with node-local devices use the node name as their pool name.
|
|
3457
|
+
:param Sequence['DeviceSelectorArgs'] selectors: Selectors contains the same selection criteria as a ResourceClaim. Currently, CEL expressions are supported. All of these selectors must be satisfied.
|
|
1840
3458
|
"""
|
|
1841
|
-
if admin_access is not None:
|
|
1842
|
-
pulumi.set(__self__, "admin_access", admin_access)
|
|
1843
3459
|
if device is not None:
|
|
1844
3460
|
pulumi.set(__self__, "device", device)
|
|
3461
|
+
if device_class_name is not None:
|
|
3462
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
1845
3463
|
if driver is not None:
|
|
1846
3464
|
pulumi.set(__self__, "driver", driver)
|
|
1847
3465
|
if pool is not None:
|
|
1848
3466
|
pulumi.set(__self__, "pool", pool)
|
|
1849
|
-
if
|
|
1850
|
-
pulumi.set(__self__, "
|
|
3467
|
+
if selectors is not None:
|
|
3468
|
+
pulumi.set(__self__, "selectors", selectors)
|
|
1851
3469
|
|
|
1852
3470
|
@property
|
|
1853
|
-
@pulumi.getter
|
|
1854
|
-
def
|
|
3471
|
+
@pulumi.getter
|
|
3472
|
+
def device(self) -> Optional[builtins.str]:
|
|
1855
3473
|
"""
|
|
1856
|
-
|
|
3474
|
+
If device is set, only devices with that name are selected. This field corresponds to slice.spec.devices[].name.
|
|
1857
3475
|
|
|
1858
|
-
|
|
3476
|
+
Setting also driver and pool may be required to avoid ambiguity, but is not required.
|
|
1859
3477
|
"""
|
|
1860
|
-
return pulumi.get(self, "
|
|
3478
|
+
return pulumi.get(self, "device")
|
|
1861
3479
|
|
|
1862
3480
|
@property
|
|
1863
|
-
@pulumi.getter
|
|
1864
|
-
def
|
|
3481
|
+
@pulumi.getter(name="deviceClassName")
|
|
3482
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
1865
3483
|
"""
|
|
1866
|
-
|
|
3484
|
+
If DeviceClassName is set, the selectors defined there must be satisfied by a device to be selected. This field corresponds to class.metadata.name.
|
|
1867
3485
|
"""
|
|
1868
|
-
return pulumi.get(self, "
|
|
3486
|
+
return pulumi.get(self, "device_class_name")
|
|
1869
3487
|
|
|
1870
3488
|
@property
|
|
1871
3489
|
@pulumi.getter
|
|
1872
|
-
def driver(self) -> Optional[str]:
|
|
3490
|
+
def driver(self) -> Optional[builtins.str]:
|
|
1873
3491
|
"""
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
3492
|
+
If driver is set, only devices from that driver are selected. This fields corresponds to slice.spec.driver.
|
|
1877
3493
|
"""
|
|
1878
3494
|
return pulumi.get(self, "driver")
|
|
1879
3495
|
|
|
1880
3496
|
@property
|
|
1881
3497
|
@pulumi.getter
|
|
1882
|
-
def pool(self) -> Optional[str]:
|
|
3498
|
+
def pool(self) -> Optional[builtins.str]:
|
|
1883
3499
|
"""
|
|
1884
|
-
|
|
3500
|
+
If pool is set, only devices in that pool are selected.
|
|
1885
3501
|
|
|
1886
|
-
|
|
3502
|
+
Also setting the driver name may be useful to avoid ambiguity when different drivers use the same pool name, but this is not required because selecting pools from different drivers may also be useful, for example when drivers with node-local devices use the node name as their pool name.
|
|
1887
3503
|
"""
|
|
1888
3504
|
return pulumi.get(self, "pool")
|
|
1889
3505
|
|
|
1890
3506
|
@property
|
|
1891
3507
|
@pulumi.getter
|
|
1892
|
-
def
|
|
3508
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelector']]:
|
|
1893
3509
|
"""
|
|
1894
|
-
|
|
3510
|
+
Selectors contains the same selection criteria as a ResourceClaim. Currently, CEL expressions are supported. All of these selectors must be satisfied.
|
|
1895
3511
|
"""
|
|
1896
|
-
return pulumi.get(self, "
|
|
3512
|
+
return pulumi.get(self, "selectors")
|
|
1897
3513
|
|
|
1898
3514
|
|
|
1899
3515
|
@pulumi.output_type
|
|
1900
|
-
class
|
|
3516
|
+
class DeviceTaintSelectorPatch(dict):
|
|
1901
3517
|
"""
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
A DeviceClassName is currently required. Clients must check that it is indeed set. It's absence indicates that something changed in a way that is not supported by the client yet, in which case it must refuse to handle the request.
|
|
3518
|
+
DeviceTaintSelector defines which device(s) a DeviceTaintRule applies to. The empty selector matches all devices. Without a selector, no devices are matched.
|
|
1905
3519
|
"""
|
|
1906
3520
|
@staticmethod
|
|
1907
3521
|
def __key_warning(key: str):
|
|
1908
3522
|
suggest = None
|
|
1909
|
-
if key == "
|
|
1910
|
-
suggest = "admin_access"
|
|
1911
|
-
elif key == "allocationMode":
|
|
1912
|
-
suggest = "allocation_mode"
|
|
1913
|
-
elif key == "deviceClassName":
|
|
3523
|
+
if key == "deviceClassName":
|
|
1914
3524
|
suggest = "device_class_name"
|
|
1915
3525
|
|
|
1916
3526
|
if suggest:
|
|
1917
|
-
pulumi.log.warn(f"Key '{key}' not found in
|
|
3527
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaintSelectorPatch. Access the value via the '{suggest}' property getter instead.")
|
|
1918
3528
|
|
|
1919
3529
|
def __getitem__(self, key: str) -> Any:
|
|
1920
|
-
|
|
3530
|
+
DeviceTaintSelectorPatch.__key_warning(key)
|
|
1921
3531
|
return super().__getitem__(key)
|
|
1922
3532
|
|
|
1923
3533
|
def get(self, key: str, default = None) -> Any:
|
|
1924
|
-
|
|
3534
|
+
DeviceTaintSelectorPatch.__key_warning(key)
|
|
1925
3535
|
return super().get(key, default)
|
|
1926
3536
|
|
|
1927
3537
|
def __init__(__self__, *,
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
name: Optional[str] = None,
|
|
3538
|
+
device: Optional[builtins.str] = None,
|
|
3539
|
+
device_class_name: Optional[builtins.str] = None,
|
|
3540
|
+
driver: Optional[builtins.str] = None,
|
|
3541
|
+
pool: Optional[builtins.str] = None,
|
|
1933
3542
|
selectors: Optional[Sequence['outputs.DeviceSelectorPatch']] = None):
|
|
1934
3543
|
"""
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
A DeviceClassName is currently required. Clients must check that it is indeed set. It's absence indicates that something changed in a way that is not supported by the client yet, in which case it must refuse to handle the request.
|
|
1938
|
-
:param bool admin_access: AdminAccess indicates that this is a claim for administrative access to the device(s). Claims with AdminAccess are expected to be used for monitoring or other management services for a device. They ignore all ordinary claims to the device with respect to access modes and any resource allocations.
|
|
1939
|
-
|
|
1940
|
-
This is an alpha field and requires enabling the DRAAdminAccess feature gate. Admin access is disabled if this field is unset or set to false, otherwise it is enabled.
|
|
1941
|
-
:param str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
1942
|
-
|
|
1943
|
-
- ExactCount: This request is for a specific number of devices.
|
|
1944
|
-
This is the default. The exact number is provided in the
|
|
1945
|
-
count field.
|
|
1946
|
-
|
|
1947
|
-
- All: This request is for all of the matching devices in a pool.
|
|
1948
|
-
Allocation will fail if some devices are already allocated,
|
|
1949
|
-
unless adminAccess is requested.
|
|
1950
|
-
|
|
1951
|
-
If AlloctionMode is not specified, the default mode is ExactCount. If the mode is ExactCount and count is not specified, the default count is one. Any other requests must specify this field.
|
|
1952
|
-
|
|
1953
|
-
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1954
|
-
:param int count: Count is used only when the count mode is "ExactCount". Must be greater than zero. If AllocationMode is ExactCount and this field is not specified, the default is one.
|
|
1955
|
-
:param str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
1956
|
-
|
|
1957
|
-
A class is required. Which classes are available depends on the cluster.
|
|
3544
|
+
DeviceTaintSelector defines which device(s) a DeviceTaintRule applies to. The empty selector matches all devices. Without a selector, no devices are matched.
|
|
3545
|
+
:param builtins.str device: If device is set, only devices with that name are selected. This field corresponds to slice.spec.devices[].name.
|
|
1958
3546
|
|
|
1959
|
-
|
|
1960
|
-
:param str
|
|
3547
|
+
Setting also driver and pool may be required to avoid ambiguity, but is not required.
|
|
3548
|
+
:param builtins.str device_class_name: If DeviceClassName is set, the selectors defined there must be satisfied by a device to be selected. This field corresponds to class.metadata.name.
|
|
3549
|
+
:param builtins.str driver: If driver is set, only devices from that driver are selected. This fields corresponds to slice.spec.driver.
|
|
3550
|
+
:param builtins.str pool: If pool is set, only devices in that pool are selected.
|
|
1961
3551
|
|
|
1962
|
-
|
|
1963
|
-
:param Sequence['DeviceSelectorPatchArgs'] selectors: Selectors
|
|
3552
|
+
Also setting the driver name may be useful to avoid ambiguity when different drivers use the same pool name, but this is not required because selecting pools from different drivers may also be useful, for example when drivers with node-local devices use the node name as their pool name.
|
|
3553
|
+
:param Sequence['DeviceSelectorPatchArgs'] selectors: Selectors contains the same selection criteria as a ResourceClaim. Currently, CEL expressions are supported. All of these selectors must be satisfied.
|
|
1964
3554
|
"""
|
|
1965
|
-
if
|
|
1966
|
-
pulumi.set(__self__, "
|
|
1967
|
-
if allocation_mode is not None:
|
|
1968
|
-
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
1969
|
-
if count is not None:
|
|
1970
|
-
pulumi.set(__self__, "count", count)
|
|
3555
|
+
if device is not None:
|
|
3556
|
+
pulumi.set(__self__, "device", device)
|
|
1971
3557
|
if device_class_name is not None:
|
|
1972
3558
|
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
1973
|
-
if
|
|
1974
|
-
pulumi.set(__self__, "
|
|
3559
|
+
if driver is not None:
|
|
3560
|
+
pulumi.set(__self__, "driver", driver)
|
|
3561
|
+
if pool is not None:
|
|
3562
|
+
pulumi.set(__self__, "pool", pool)
|
|
1975
3563
|
if selectors is not None:
|
|
1976
3564
|
pulumi.set(__self__, "selectors", selectors)
|
|
1977
3565
|
|
|
1978
3566
|
@property
|
|
1979
|
-
@pulumi.getter
|
|
1980
|
-
def
|
|
3567
|
+
@pulumi.getter
|
|
3568
|
+
def device(self) -> Optional[builtins.str]:
|
|
1981
3569
|
"""
|
|
1982
|
-
|
|
3570
|
+
If device is set, only devices with that name are selected. This field corresponds to slice.spec.devices[].name.
|
|
1983
3571
|
|
|
1984
|
-
|
|
3572
|
+
Setting also driver and pool may be required to avoid ambiguity, but is not required.
|
|
1985
3573
|
"""
|
|
1986
|
-
return pulumi.get(self, "
|
|
3574
|
+
return pulumi.get(self, "device")
|
|
1987
3575
|
|
|
1988
3576
|
@property
|
|
1989
|
-
@pulumi.getter(name="
|
|
1990
|
-
def
|
|
3577
|
+
@pulumi.getter(name="deviceClassName")
|
|
3578
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
1991
3579
|
"""
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
This is the default. The exact number is provided in the
|
|
1996
|
-
count field.
|
|
3580
|
+
If DeviceClassName is set, the selectors defined there must be satisfied by a device to be selected. This field corresponds to class.metadata.name.
|
|
3581
|
+
"""
|
|
3582
|
+
return pulumi.get(self, "device_class_name")
|
|
1997
3583
|
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
3584
|
+
@property
|
|
3585
|
+
@pulumi.getter
|
|
3586
|
+
def driver(self) -> Optional[builtins.str]:
|
|
3587
|
+
"""
|
|
3588
|
+
If driver is set, only devices from that driver are selected. This fields corresponds to slice.spec.driver.
|
|
3589
|
+
"""
|
|
3590
|
+
return pulumi.get(self, "driver")
|
|
2001
3591
|
|
|
2002
|
-
|
|
3592
|
+
@property
|
|
3593
|
+
@pulumi.getter
|
|
3594
|
+
def pool(self) -> Optional[builtins.str]:
|
|
3595
|
+
"""
|
|
3596
|
+
If pool is set, only devices in that pool are selected.
|
|
2003
3597
|
|
|
2004
|
-
|
|
3598
|
+
Also setting the driver name may be useful to avoid ambiguity when different drivers use the same pool name, but this is not required because selecting pools from different drivers may also be useful, for example when drivers with node-local devices use the node name as their pool name.
|
|
2005
3599
|
"""
|
|
2006
|
-
return pulumi.get(self, "
|
|
3600
|
+
return pulumi.get(self, "pool")
|
|
2007
3601
|
|
|
2008
3602
|
@property
|
|
2009
3603
|
@pulumi.getter
|
|
2010
|
-
def
|
|
3604
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelectorPatch']]:
|
|
2011
3605
|
"""
|
|
2012
|
-
|
|
3606
|
+
Selectors contains the same selection criteria as a ResourceClaim. Currently, CEL expressions are supported. All of these selectors must be satisfied.
|
|
2013
3607
|
"""
|
|
2014
|
-
return pulumi.get(self, "
|
|
3608
|
+
return pulumi.get(self, "selectors")
|
|
3609
|
+
|
|
3610
|
+
|
|
3611
|
+
@pulumi.output_type
|
|
3612
|
+
class DeviceToleration(dict):
|
|
3613
|
+
"""
|
|
3614
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
3615
|
+
"""
|
|
3616
|
+
@staticmethod
|
|
3617
|
+
def __key_warning(key: str):
|
|
3618
|
+
suggest = None
|
|
3619
|
+
if key == "tolerationSeconds":
|
|
3620
|
+
suggest = "toleration_seconds"
|
|
3621
|
+
|
|
3622
|
+
if suggest:
|
|
3623
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceToleration. Access the value via the '{suggest}' property getter instead.")
|
|
3624
|
+
|
|
3625
|
+
def __getitem__(self, key: str) -> Any:
|
|
3626
|
+
DeviceToleration.__key_warning(key)
|
|
3627
|
+
return super().__getitem__(key)
|
|
3628
|
+
|
|
3629
|
+
def get(self, key: str, default = None) -> Any:
|
|
3630
|
+
DeviceToleration.__key_warning(key)
|
|
3631
|
+
return super().get(key, default)
|
|
3632
|
+
|
|
3633
|
+
def __init__(__self__, *,
|
|
3634
|
+
effect: Optional[builtins.str] = None,
|
|
3635
|
+
key: Optional[builtins.str] = None,
|
|
3636
|
+
operator: Optional[builtins.str] = None,
|
|
3637
|
+
toleration_seconds: Optional[builtins.int] = None,
|
|
3638
|
+
value: Optional[builtins.str] = None):
|
|
3639
|
+
"""
|
|
3640
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
3641
|
+
:param builtins.str effect: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule and NoExecute.
|
|
3642
|
+
:param builtins.str key: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. Must be a label name.
|
|
3643
|
+
:param builtins.str operator: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a ResourceClaim can tolerate all taints of a particular category.
|
|
3644
|
+
:param builtins.int toleration_seconds: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. If larger than zero, the time when the pod needs to be evicted is calculated as <time when taint was adedd> + <toleration seconds>.
|
|
3645
|
+
:param builtins.str value: Value is the taint value the toleration matches to. If the operator is Exists, the value must be empty, otherwise just a regular string. Must be a label value.
|
|
3646
|
+
"""
|
|
3647
|
+
if effect is not None:
|
|
3648
|
+
pulumi.set(__self__, "effect", effect)
|
|
3649
|
+
if key is not None:
|
|
3650
|
+
pulumi.set(__self__, "key", key)
|
|
3651
|
+
if operator is not None:
|
|
3652
|
+
pulumi.set(__self__, "operator", operator)
|
|
3653
|
+
if toleration_seconds is not None:
|
|
3654
|
+
pulumi.set(__self__, "toleration_seconds", toleration_seconds)
|
|
3655
|
+
if value is not None:
|
|
3656
|
+
pulumi.set(__self__, "value", value)
|
|
2015
3657
|
|
|
2016
3658
|
@property
|
|
2017
|
-
@pulumi.getter
|
|
2018
|
-
def
|
|
3659
|
+
@pulumi.getter
|
|
3660
|
+
def effect(self) -> Optional[builtins.str]:
|
|
2019
3661
|
"""
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
3662
|
+
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule and NoExecute.
|
|
3663
|
+
"""
|
|
3664
|
+
return pulumi.get(self, "effect")
|
|
2023
3665
|
|
|
2024
|
-
|
|
3666
|
+
@property
|
|
3667
|
+
@pulumi.getter
|
|
3668
|
+
def key(self) -> Optional[builtins.str]:
|
|
2025
3669
|
"""
|
|
2026
|
-
|
|
3670
|
+
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. Must be a label name.
|
|
3671
|
+
"""
|
|
3672
|
+
return pulumi.get(self, "key")
|
|
2027
3673
|
|
|
2028
3674
|
@property
|
|
2029
3675
|
@pulumi.getter
|
|
2030
|
-
def
|
|
3676
|
+
def operator(self) -> Optional[builtins.str]:
|
|
2031
3677
|
"""
|
|
2032
|
-
|
|
3678
|
+
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a ResourceClaim can tolerate all taints of a particular category.
|
|
3679
|
+
"""
|
|
3680
|
+
return pulumi.get(self, "operator")
|
|
2033
3681
|
|
|
2034
|
-
|
|
3682
|
+
@property
|
|
3683
|
+
@pulumi.getter(name="tolerationSeconds")
|
|
3684
|
+
def toleration_seconds(self) -> Optional[builtins.int]:
|
|
2035
3685
|
"""
|
|
2036
|
-
|
|
3686
|
+
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. If larger than zero, the time when the pod needs to be evicted is calculated as <time when taint was adedd> + <toleration seconds>.
|
|
3687
|
+
"""
|
|
3688
|
+
return pulumi.get(self, "toleration_seconds")
|
|
2037
3689
|
|
|
2038
3690
|
@property
|
|
2039
3691
|
@pulumi.getter
|
|
2040
|
-
def
|
|
3692
|
+
def value(self) -> Optional[builtins.str]:
|
|
2041
3693
|
"""
|
|
2042
|
-
|
|
3694
|
+
Value is the taint value the toleration matches to. If the operator is Exists, the value must be empty, otherwise just a regular string. Must be a label value.
|
|
2043
3695
|
"""
|
|
2044
|
-
return pulumi.get(self, "
|
|
3696
|
+
return pulumi.get(self, "value")
|
|
2045
3697
|
|
|
2046
3698
|
|
|
2047
3699
|
@pulumi.output_type
|
|
2048
|
-
class
|
|
3700
|
+
class DeviceTolerationPatch(dict):
|
|
2049
3701
|
"""
|
|
2050
|
-
|
|
3702
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
2051
3703
|
"""
|
|
3704
|
+
@staticmethod
|
|
3705
|
+
def __key_warning(key: str):
|
|
3706
|
+
suggest = None
|
|
3707
|
+
if key == "tolerationSeconds":
|
|
3708
|
+
suggest = "toleration_seconds"
|
|
3709
|
+
|
|
3710
|
+
if suggest:
|
|
3711
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTolerationPatch. Access the value via the '{suggest}' property getter instead.")
|
|
3712
|
+
|
|
3713
|
+
def __getitem__(self, key: str) -> Any:
|
|
3714
|
+
DeviceTolerationPatch.__key_warning(key)
|
|
3715
|
+
return super().__getitem__(key)
|
|
3716
|
+
|
|
3717
|
+
def get(self, key: str, default = None) -> Any:
|
|
3718
|
+
DeviceTolerationPatch.__key_warning(key)
|
|
3719
|
+
return super().get(key, default)
|
|
3720
|
+
|
|
2052
3721
|
def __init__(__self__, *,
|
|
2053
|
-
|
|
3722
|
+
effect: Optional[builtins.str] = None,
|
|
3723
|
+
key: Optional[builtins.str] = None,
|
|
3724
|
+
operator: Optional[builtins.str] = None,
|
|
3725
|
+
toleration_seconds: Optional[builtins.int] = None,
|
|
3726
|
+
value: Optional[builtins.str] = None):
|
|
3727
|
+
"""
|
|
3728
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
3729
|
+
:param builtins.str effect: Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule and NoExecute.
|
|
3730
|
+
:param builtins.str key: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. Must be a label name.
|
|
3731
|
+
:param builtins.str operator: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a ResourceClaim can tolerate all taints of a particular category.
|
|
3732
|
+
:param builtins.int toleration_seconds: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. If larger than zero, the time when the pod needs to be evicted is calculated as <time when taint was adedd> + <toleration seconds>.
|
|
3733
|
+
:param builtins.str value: Value is the taint value the toleration matches to. If the operator is Exists, the value must be empty, otherwise just a regular string. Must be a label value.
|
|
3734
|
+
"""
|
|
3735
|
+
if effect is not None:
|
|
3736
|
+
pulumi.set(__self__, "effect", effect)
|
|
3737
|
+
if key is not None:
|
|
3738
|
+
pulumi.set(__self__, "key", key)
|
|
3739
|
+
if operator is not None:
|
|
3740
|
+
pulumi.set(__self__, "operator", operator)
|
|
3741
|
+
if toleration_seconds is not None:
|
|
3742
|
+
pulumi.set(__self__, "toleration_seconds", toleration_seconds)
|
|
3743
|
+
if value is not None:
|
|
3744
|
+
pulumi.set(__self__, "value", value)
|
|
3745
|
+
|
|
3746
|
+
@property
|
|
3747
|
+
@pulumi.getter
|
|
3748
|
+
def effect(self) -> Optional[builtins.str]:
|
|
2054
3749
|
"""
|
|
2055
|
-
|
|
2056
|
-
:param 'CELDeviceSelectorArgs' cel: CEL contains a CEL expression for selecting a device.
|
|
3750
|
+
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule and NoExecute.
|
|
2057
3751
|
"""
|
|
2058
|
-
|
|
2059
|
-
pulumi.set(__self__, "cel", cel)
|
|
3752
|
+
return pulumi.get(self, "effect")
|
|
2060
3753
|
|
|
2061
3754
|
@property
|
|
2062
3755
|
@pulumi.getter
|
|
2063
|
-
def
|
|
3756
|
+
def key(self) -> Optional[builtins.str]:
|
|
2064
3757
|
"""
|
|
2065
|
-
|
|
3758
|
+
Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists; this combination means to match all values and all keys. Must be a label name.
|
|
2066
3759
|
"""
|
|
2067
|
-
return pulumi.get(self, "
|
|
3760
|
+
return pulumi.get(self, "key")
|
|
2068
3761
|
|
|
3762
|
+
@property
|
|
3763
|
+
@pulumi.getter
|
|
3764
|
+
def operator(self) -> Optional[builtins.str]:
|
|
3765
|
+
"""
|
|
3766
|
+
Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. Exists is equivalent to wildcard for value, so that a ResourceClaim can tolerate all taints of a particular category.
|
|
3767
|
+
"""
|
|
3768
|
+
return pulumi.get(self, "operator")
|
|
2069
3769
|
|
|
2070
|
-
@
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
DeviceSelector must have exactly one field set.
|
|
2074
|
-
"""
|
|
2075
|
-
def __init__(__self__, *,
|
|
2076
|
-
cel: Optional['outputs.CELDeviceSelectorPatch'] = None):
|
|
3770
|
+
@property
|
|
3771
|
+
@pulumi.getter(name="tolerationSeconds")
|
|
3772
|
+
def toleration_seconds(self) -> Optional[builtins.int]:
|
|
2077
3773
|
"""
|
|
2078
|
-
|
|
2079
|
-
:param 'CELDeviceSelectorPatchArgs' cel: CEL contains a CEL expression for selecting a device.
|
|
3774
|
+
TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. If larger than zero, the time when the pod needs to be evicted is calculated as <time when taint was adedd> + <toleration seconds>.
|
|
2080
3775
|
"""
|
|
2081
|
-
|
|
2082
|
-
pulumi.set(__self__, "cel", cel)
|
|
3776
|
+
return pulumi.get(self, "toleration_seconds")
|
|
2083
3777
|
|
|
2084
3778
|
@property
|
|
2085
3779
|
@pulumi.getter
|
|
2086
|
-
def
|
|
3780
|
+
def value(self) -> Optional[builtins.str]:
|
|
2087
3781
|
"""
|
|
2088
|
-
|
|
3782
|
+
Value is the taint value the toleration matches to. If the operator is Exists, the value must be empty, otherwise just a regular string. Must be a label value.
|
|
2089
3783
|
"""
|
|
2090
|
-
return pulumi.get(self, "
|
|
3784
|
+
return pulumi.get(self, "value")
|
|
2091
3785
|
|
|
2092
3786
|
|
|
2093
3787
|
@pulumi.output_type
|
|
@@ -2115,18 +3809,20 @@ class NetworkDeviceData(dict):
|
|
|
2115
3809
|
return super().get(key, default)
|
|
2116
3810
|
|
|
2117
3811
|
def __init__(__self__, *,
|
|
2118
|
-
hardware_address: Optional[str] = None,
|
|
2119
|
-
interface_name: Optional[str] = None,
|
|
2120
|
-
ips: Optional[Sequence[str]] = None):
|
|
3812
|
+
hardware_address: Optional[builtins.str] = None,
|
|
3813
|
+
interface_name: Optional[builtins.str] = None,
|
|
3814
|
+
ips: Optional[Sequence[builtins.str]] = None):
|
|
2121
3815
|
"""
|
|
2122
3816
|
NetworkDeviceData provides network-related details for the allocated device. This information may be filled by drivers or other components to configure or identify the device within a network context.
|
|
2123
|
-
:param str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
3817
|
+
:param builtins.str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2124
3818
|
|
|
2125
3819
|
Must not be longer than 128 characters.
|
|
2126
|
-
:param str interface_name: InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.
|
|
3820
|
+
:param builtins.str interface_name: InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.
|
|
2127
3821
|
|
|
2128
3822
|
Must not be longer than 256 characters.
|
|
2129
|
-
:param Sequence[str] ips: IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
|
|
3823
|
+
:param Sequence[builtins.str] ips: IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
|
|
3824
|
+
|
|
3825
|
+
Must not contain more than 16 entries.
|
|
2130
3826
|
"""
|
|
2131
3827
|
if hardware_address is not None:
|
|
2132
3828
|
pulumi.set(__self__, "hardware_address", hardware_address)
|
|
@@ -2137,7 +3833,7 @@ class NetworkDeviceData(dict):
|
|
|
2137
3833
|
|
|
2138
3834
|
@property
|
|
2139
3835
|
@pulumi.getter(name="hardwareAddress")
|
|
2140
|
-
def hardware_address(self) -> Optional[str]:
|
|
3836
|
+
def hardware_address(self) -> Optional[builtins.str]:
|
|
2141
3837
|
"""
|
|
2142
3838
|
HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2143
3839
|
|
|
@@ -2147,7 +3843,7 @@ class NetworkDeviceData(dict):
|
|
|
2147
3843
|
|
|
2148
3844
|
@property
|
|
2149
3845
|
@pulumi.getter(name="interfaceName")
|
|
2150
|
-
def interface_name(self) -> Optional[str]:
|
|
3846
|
+
def interface_name(self) -> Optional[builtins.str]:
|
|
2151
3847
|
"""
|
|
2152
3848
|
InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.
|
|
2153
3849
|
|
|
@@ -2157,9 +3853,11 @@ class NetworkDeviceData(dict):
|
|
|
2157
3853
|
|
|
2158
3854
|
@property
|
|
2159
3855
|
@pulumi.getter
|
|
2160
|
-
def ips(self) -> Optional[Sequence[str]]:
|
|
3856
|
+
def ips(self) -> Optional[Sequence[builtins.str]]:
|
|
2161
3857
|
"""
|
|
2162
3858
|
IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
|
|
3859
|
+
|
|
3860
|
+
Must not contain more than 16 entries.
|
|
2163
3861
|
"""
|
|
2164
3862
|
return pulumi.get(self, "ips")
|
|
2165
3863
|
|
|
@@ -2189,18 +3887,20 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2189
3887
|
return super().get(key, default)
|
|
2190
3888
|
|
|
2191
3889
|
def __init__(__self__, *,
|
|
2192
|
-
hardware_address: Optional[str] = None,
|
|
2193
|
-
interface_name: Optional[str] = None,
|
|
2194
|
-
ips: Optional[Sequence[str]] = None):
|
|
3890
|
+
hardware_address: Optional[builtins.str] = None,
|
|
3891
|
+
interface_name: Optional[builtins.str] = None,
|
|
3892
|
+
ips: Optional[Sequence[builtins.str]] = None):
|
|
2195
3893
|
"""
|
|
2196
3894
|
NetworkDeviceData provides network-related details for the allocated device. This information may be filled by drivers or other components to configure or identify the device within a network context.
|
|
2197
|
-
:param str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
3895
|
+
:param builtins.str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2198
3896
|
|
|
2199
3897
|
Must not be longer than 128 characters.
|
|
2200
|
-
:param str interface_name: InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.
|
|
3898
|
+
:param builtins.str interface_name: InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.
|
|
2201
3899
|
|
|
2202
3900
|
Must not be longer than 256 characters.
|
|
2203
|
-
:param Sequence[str] ips: IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
|
|
3901
|
+
:param Sequence[builtins.str] ips: IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
|
|
3902
|
+
|
|
3903
|
+
Must not contain more than 16 entries.
|
|
2204
3904
|
"""
|
|
2205
3905
|
if hardware_address is not None:
|
|
2206
3906
|
pulumi.set(__self__, "hardware_address", hardware_address)
|
|
@@ -2211,7 +3911,7 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2211
3911
|
|
|
2212
3912
|
@property
|
|
2213
3913
|
@pulumi.getter(name="hardwareAddress")
|
|
2214
|
-
def hardware_address(self) -> Optional[str]:
|
|
3914
|
+
def hardware_address(self) -> Optional[builtins.str]:
|
|
2215
3915
|
"""
|
|
2216
3916
|
HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2217
3917
|
|
|
@@ -2221,7 +3921,7 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2221
3921
|
|
|
2222
3922
|
@property
|
|
2223
3923
|
@pulumi.getter(name="interfaceName")
|
|
2224
|
-
def interface_name(self) -> Optional[str]:
|
|
3924
|
+
def interface_name(self) -> Optional[builtins.str]:
|
|
2225
3925
|
"""
|
|
2226
3926
|
InterfaceName specifies the name of the network interface associated with the allocated device. This might be the name of a physical or virtual network interface being configured in the pod.
|
|
2227
3927
|
|
|
@@ -2231,9 +3931,11 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2231
3931
|
|
|
2232
3932
|
@property
|
|
2233
3933
|
@pulumi.getter
|
|
2234
|
-
def ips(self) -> Optional[Sequence[str]]:
|
|
3934
|
+
def ips(self) -> Optional[Sequence[builtins.str]]:
|
|
2235
3935
|
"""
|
|
2236
3936
|
IPs lists the network addresses assigned to the device's network interface. This can include both IPv4 and IPv6 addresses. The IPs are in the CIDR notation, which includes both the address and the associated subnet mask. e.g.: "192.0.2.5/24" for IPv4 and "2001:db8::5/64" for IPv6.
|
|
3937
|
+
|
|
3938
|
+
Must not contain more than 16 entries.
|
|
2237
3939
|
"""
|
|
2238
3940
|
return pulumi.get(self, "ips")
|
|
2239
3941
|
|
|
@@ -2244,11 +3946,11 @@ class OpaqueDeviceConfiguration(dict):
|
|
|
2244
3946
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2245
3947
|
"""
|
|
2246
3948
|
def __init__(__self__, *,
|
|
2247
|
-
driver: str,
|
|
3949
|
+
driver: builtins.str,
|
|
2248
3950
|
parameters: Any):
|
|
2249
3951
|
"""
|
|
2250
3952
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2251
|
-
:param str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
3953
|
+
:param builtins.str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2252
3954
|
|
|
2253
3955
|
An admission policy provided by the driver developer could use this to decide whether it needs to validate them.
|
|
2254
3956
|
|
|
@@ -2262,7 +3964,7 @@ class OpaqueDeviceConfiguration(dict):
|
|
|
2262
3964
|
|
|
2263
3965
|
@property
|
|
2264
3966
|
@pulumi.getter
|
|
2265
|
-
def driver(self) -> str:
|
|
3967
|
+
def driver(self) -> builtins.str:
|
|
2266
3968
|
"""
|
|
2267
3969
|
Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2268
3970
|
|
|
@@ -2289,11 +3991,11 @@ class OpaqueDeviceConfigurationPatch(dict):
|
|
|
2289
3991
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2290
3992
|
"""
|
|
2291
3993
|
def __init__(__self__, *,
|
|
2292
|
-
driver: Optional[str] = None,
|
|
3994
|
+
driver: Optional[builtins.str] = None,
|
|
2293
3995
|
parameters: Optional[Any] = None):
|
|
2294
3996
|
"""
|
|
2295
3997
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2296
|
-
:param str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
3998
|
+
:param builtins.str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2297
3999
|
|
|
2298
4000
|
An admission policy provided by the driver developer could use this to decide whether it needs to validate them.
|
|
2299
4001
|
|
|
@@ -2309,7 +4011,7 @@ class OpaqueDeviceConfigurationPatch(dict):
|
|
|
2309
4011
|
|
|
2310
4012
|
@property
|
|
2311
4013
|
@pulumi.getter
|
|
2312
|
-
def driver(self) -> Optional[str]:
|
|
4014
|
+
def driver(self) -> Optional[builtins.str]:
|
|
2313
4015
|
"""
|
|
2314
4016
|
Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2315
4017
|
|
|
@@ -2356,8 +4058,8 @@ class PodSchedulingContext(dict):
|
|
|
2356
4058
|
|
|
2357
4059
|
def __init__(__self__, *,
|
|
2358
4060
|
spec: 'outputs.PodSchedulingContextSpec',
|
|
2359
|
-
api_version: Optional[str] = None,
|
|
2360
|
-
kind: Optional[str] = None,
|
|
4061
|
+
api_version: Optional[builtins.str] = None,
|
|
4062
|
+
kind: Optional[builtins.str] = None,
|
|
2361
4063
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None,
|
|
2362
4064
|
status: Optional['outputs.PodSchedulingContextStatus'] = None):
|
|
2363
4065
|
"""
|
|
@@ -2365,8 +4067,8 @@ class PodSchedulingContext(dict):
|
|
|
2365
4067
|
|
|
2366
4068
|
This is an alpha type and requires enabling the DRAControlPlaneController feature gate.
|
|
2367
4069
|
:param 'PodSchedulingContextSpecArgs' spec: Spec describes where resources for the Pod are needed.
|
|
2368
|
-
:param 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
|
|
2369
|
-
:param 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
|
|
4070
|
+
:param builtins.str api_version: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
4071
|
+
:param builtins.str kind: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
2370
4072
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
2371
4073
|
:param 'PodSchedulingContextStatusArgs' status: Status describes where resources for the Pod can be allocated.
|
|
2372
4074
|
"""
|
|
@@ -2390,7 +4092,7 @@ class PodSchedulingContext(dict):
|
|
|
2390
4092
|
|
|
2391
4093
|
@property
|
|
2392
4094
|
@pulumi.getter(name="apiVersion")
|
|
2393
|
-
def api_version(self) -> Optional[str]:
|
|
4095
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
2394
4096
|
"""
|
|
2395
4097
|
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
|
|
2396
4098
|
"""
|
|
@@ -2398,7 +4100,7 @@ class PodSchedulingContext(dict):
|
|
|
2398
4100
|
|
|
2399
4101
|
@property
|
|
2400
4102
|
@pulumi.getter
|
|
2401
|
-
def kind(self) -> Optional[str]:
|
|
4103
|
+
def kind(self) -> Optional[builtins.str]:
|
|
2402
4104
|
"""
|
|
2403
4105
|
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
|
|
2404
4106
|
"""
|
|
@@ -2446,14 +4148,14 @@ class PodSchedulingContextSpec(dict):
|
|
|
2446
4148
|
return super().get(key, default)
|
|
2447
4149
|
|
|
2448
4150
|
def __init__(__self__, *,
|
|
2449
|
-
potential_nodes: Optional[Sequence[str]] = None,
|
|
2450
|
-
selected_node: Optional[str] = None):
|
|
4151
|
+
potential_nodes: Optional[Sequence[builtins.str]] = None,
|
|
4152
|
+
selected_node: Optional[builtins.str] = None):
|
|
2451
4153
|
"""
|
|
2452
4154
|
PodSchedulingContextSpec describes where resources for the Pod are needed.
|
|
2453
|
-
:param Sequence[str] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
|
|
4155
|
+
:param Sequence[builtins.str] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
|
|
2454
4156
|
|
|
2455
4157
|
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.
|
|
2456
|
-
:param 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.
|
|
4158
|
+
:param builtins.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.
|
|
2457
4159
|
"""
|
|
2458
4160
|
if potential_nodes is not None:
|
|
2459
4161
|
pulumi.set(__self__, "potential_nodes", potential_nodes)
|
|
@@ -2462,7 +4164,7 @@ class PodSchedulingContextSpec(dict):
|
|
|
2462
4164
|
|
|
2463
4165
|
@property
|
|
2464
4166
|
@pulumi.getter(name="potentialNodes")
|
|
2465
|
-
def potential_nodes(self) -> Optional[Sequence[str]]:
|
|
4167
|
+
def potential_nodes(self) -> Optional[Sequence[builtins.str]]:
|
|
2466
4168
|
"""
|
|
2467
4169
|
PotentialNodes lists nodes where the Pod might be able to run.
|
|
2468
4170
|
|
|
@@ -2472,7 +4174,7 @@ class PodSchedulingContextSpec(dict):
|
|
|
2472
4174
|
|
|
2473
4175
|
@property
|
|
2474
4176
|
@pulumi.getter(name="selectedNode")
|
|
2475
|
-
def selected_node(self) -> Optional[str]:
|
|
4177
|
+
def selected_node(self) -> Optional[builtins.str]:
|
|
2476
4178
|
"""
|
|
2477
4179
|
SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
|
|
2478
4180
|
"""
|
|
@@ -2504,14 +4206,14 @@ class PodSchedulingContextSpecPatch(dict):
|
|
|
2504
4206
|
return super().get(key, default)
|
|
2505
4207
|
|
|
2506
4208
|
def __init__(__self__, *,
|
|
2507
|
-
potential_nodes: Optional[Sequence[str]] = None,
|
|
2508
|
-
selected_node: Optional[str] = None):
|
|
4209
|
+
potential_nodes: Optional[Sequence[builtins.str]] = None,
|
|
4210
|
+
selected_node: Optional[builtins.str] = None):
|
|
2509
4211
|
"""
|
|
2510
4212
|
PodSchedulingContextSpec describes where resources for the Pod are needed.
|
|
2511
|
-
:param Sequence[str] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
|
|
4213
|
+
:param Sequence[builtins.str] potential_nodes: PotentialNodes lists nodes where the Pod might be able to run.
|
|
2512
4214
|
|
|
2513
4215
|
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.
|
|
2514
|
-
:param 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.
|
|
4216
|
+
:param builtins.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.
|
|
2515
4217
|
"""
|
|
2516
4218
|
if potential_nodes is not None:
|
|
2517
4219
|
pulumi.set(__self__, "potential_nodes", potential_nodes)
|
|
@@ -2520,7 +4222,7 @@ class PodSchedulingContextSpecPatch(dict):
|
|
|
2520
4222
|
|
|
2521
4223
|
@property
|
|
2522
4224
|
@pulumi.getter(name="potentialNodes")
|
|
2523
|
-
def potential_nodes(self) -> Optional[Sequence[str]]:
|
|
4225
|
+
def potential_nodes(self) -> Optional[Sequence[builtins.str]]:
|
|
2524
4226
|
"""
|
|
2525
4227
|
PotentialNodes lists nodes where the Pod might be able to run.
|
|
2526
4228
|
|
|
@@ -2530,7 +4232,7 @@ class PodSchedulingContextSpecPatch(dict):
|
|
|
2530
4232
|
|
|
2531
4233
|
@property
|
|
2532
4234
|
@pulumi.getter(name="selectedNode")
|
|
2533
|
-
def selected_node(self) -> Optional[str]:
|
|
4235
|
+
def selected_node(self) -> Optional[builtins.str]:
|
|
2534
4236
|
"""
|
|
2535
4237
|
SelectedNode is the node for which allocation of ResourceClaims that are referenced by the Pod and that use "WaitForFirstConsumer" allocation is to be attempted.
|
|
2536
4238
|
"""
|
|
@@ -2643,8 +4345,8 @@ class ResourceClaim(dict):
|
|
|
2643
4345
|
|
|
2644
4346
|
def __init__(__self__, *,
|
|
2645
4347
|
spec: 'outputs.ResourceClaimSpec',
|
|
2646
|
-
api_version: Optional[str] = None,
|
|
2647
|
-
kind: Optional[str] = None,
|
|
4348
|
+
api_version: Optional[builtins.str] = None,
|
|
4349
|
+
kind: Optional[builtins.str] = None,
|
|
2648
4350
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None,
|
|
2649
4351
|
status: Optional['outputs.ResourceClaimStatus'] = None):
|
|
2650
4352
|
"""
|
|
@@ -2652,8 +4354,8 @@ class ResourceClaim(dict):
|
|
|
2652
4354
|
|
|
2653
4355
|
This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
|
|
2654
4356
|
:param 'ResourceClaimSpecArgs' spec: Spec describes what is being requested and how to configure it. The spec is immutable.
|
|
2655
|
-
:param 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
|
|
2656
|
-
:param 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
|
|
4357
|
+
:param builtins.str api_version: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
4358
|
+
:param builtins.str kind: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
2657
4359
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
2658
4360
|
:param 'ResourceClaimStatusArgs' status: Status describes whether the claim is ready to use and what has been allocated.
|
|
2659
4361
|
"""
|
|
@@ -2677,7 +4379,7 @@ class ResourceClaim(dict):
|
|
|
2677
4379
|
|
|
2678
4380
|
@property
|
|
2679
4381
|
@pulumi.getter(name="apiVersion")
|
|
2680
|
-
def api_version(self) -> Optional[str]:
|
|
4382
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
2681
4383
|
"""
|
|
2682
4384
|
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
|
|
2683
4385
|
"""
|
|
@@ -2685,7 +4387,7 @@ class ResourceClaim(dict):
|
|
|
2685
4387
|
|
|
2686
4388
|
@property
|
|
2687
4389
|
@pulumi.getter
|
|
2688
|
-
def kind(self) -> Optional[str]:
|
|
4390
|
+
def kind(self) -> Optional[builtins.str]:
|
|
2689
4391
|
"""
|
|
2690
4392
|
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
|
|
2691
4393
|
"""
|
|
@@ -2731,16 +4433,16 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2731
4433
|
return super().get(key, default)
|
|
2732
4434
|
|
|
2733
4435
|
def __init__(__self__, *,
|
|
2734
|
-
name: str,
|
|
2735
|
-
resource: str,
|
|
2736
|
-
uid: str,
|
|
2737
|
-
api_group: Optional[str] = None):
|
|
4436
|
+
name: builtins.str,
|
|
4437
|
+
resource: builtins.str,
|
|
4438
|
+
uid: builtins.str,
|
|
4439
|
+
api_group: Optional[builtins.str] = None):
|
|
2738
4440
|
"""
|
|
2739
4441
|
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.
|
|
2740
|
-
:param str name: Name is the name of resource being referenced.
|
|
2741
|
-
:param str resource: Resource is the type of resource being referenced, for example "pods".
|
|
2742
|
-
:param str uid: UID identifies exactly one incarnation of the resource.
|
|
2743
|
-
:param 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.
|
|
4442
|
+
:param builtins.str name: Name is the name of resource being referenced.
|
|
4443
|
+
:param builtins.str resource: Resource is the type of resource being referenced, for example "pods".
|
|
4444
|
+
:param builtins.str uid: UID identifies exactly one incarnation of the resource.
|
|
4445
|
+
:param builtins.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.
|
|
2744
4446
|
"""
|
|
2745
4447
|
pulumi.set(__self__, "name", name)
|
|
2746
4448
|
pulumi.set(__self__, "resource", resource)
|
|
@@ -2750,7 +4452,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2750
4452
|
|
|
2751
4453
|
@property
|
|
2752
4454
|
@pulumi.getter
|
|
2753
|
-
def name(self) -> str:
|
|
4455
|
+
def name(self) -> builtins.str:
|
|
2754
4456
|
"""
|
|
2755
4457
|
Name is the name of resource being referenced.
|
|
2756
4458
|
"""
|
|
@@ -2758,7 +4460,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2758
4460
|
|
|
2759
4461
|
@property
|
|
2760
4462
|
@pulumi.getter
|
|
2761
|
-
def resource(self) -> str:
|
|
4463
|
+
def resource(self) -> builtins.str:
|
|
2762
4464
|
"""
|
|
2763
4465
|
Resource is the type of resource being referenced, for example "pods".
|
|
2764
4466
|
"""
|
|
@@ -2766,7 +4468,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2766
4468
|
|
|
2767
4469
|
@property
|
|
2768
4470
|
@pulumi.getter
|
|
2769
|
-
def uid(self) -> str:
|
|
4471
|
+
def uid(self) -> builtins.str:
|
|
2770
4472
|
"""
|
|
2771
4473
|
UID identifies exactly one incarnation of the resource.
|
|
2772
4474
|
"""
|
|
@@ -2774,7 +4476,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2774
4476
|
|
|
2775
4477
|
@property
|
|
2776
4478
|
@pulumi.getter(name="apiGroup")
|
|
2777
|
-
def api_group(self) -> Optional[str]:
|
|
4479
|
+
def api_group(self) -> Optional[builtins.str]:
|
|
2778
4480
|
"""
|
|
2779
4481
|
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.
|
|
2780
4482
|
"""
|
|
@@ -2804,16 +4506,16 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2804
4506
|
return super().get(key, default)
|
|
2805
4507
|
|
|
2806
4508
|
def __init__(__self__, *,
|
|
2807
|
-
api_group: Optional[str] = None,
|
|
2808
|
-
name: Optional[str] = None,
|
|
2809
|
-
resource: Optional[str] = None,
|
|
2810
|
-
uid: Optional[str] = None):
|
|
4509
|
+
api_group: Optional[builtins.str] = None,
|
|
4510
|
+
name: Optional[builtins.str] = None,
|
|
4511
|
+
resource: Optional[builtins.str] = None,
|
|
4512
|
+
uid: Optional[builtins.str] = None):
|
|
2811
4513
|
"""
|
|
2812
4514
|
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.
|
|
2813
|
-
:param 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.
|
|
2814
|
-
:param str name: Name is the name of resource being referenced.
|
|
2815
|
-
:param str resource: Resource is the type of resource being referenced, for example "pods".
|
|
2816
|
-
:param str uid: UID identifies exactly one incarnation of the resource.
|
|
4515
|
+
:param builtins.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.
|
|
4516
|
+
:param builtins.str name: Name is the name of resource being referenced.
|
|
4517
|
+
:param builtins.str resource: Resource is the type of resource being referenced, for example "pods".
|
|
4518
|
+
:param builtins.str uid: UID identifies exactly one incarnation of the resource.
|
|
2817
4519
|
"""
|
|
2818
4520
|
if api_group is not None:
|
|
2819
4521
|
pulumi.set(__self__, "api_group", api_group)
|
|
@@ -2826,7 +4528,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2826
4528
|
|
|
2827
4529
|
@property
|
|
2828
4530
|
@pulumi.getter(name="apiGroup")
|
|
2829
|
-
def api_group(self) -> Optional[str]:
|
|
4531
|
+
def api_group(self) -> Optional[builtins.str]:
|
|
2830
4532
|
"""
|
|
2831
4533
|
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
4534
|
"""
|
|
@@ -2834,7 +4536,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2834
4536
|
|
|
2835
4537
|
@property
|
|
2836
4538
|
@pulumi.getter
|
|
2837
|
-
def name(self) -> Optional[str]:
|
|
4539
|
+
def name(self) -> Optional[builtins.str]:
|
|
2838
4540
|
"""
|
|
2839
4541
|
Name is the name of resource being referenced.
|
|
2840
4542
|
"""
|
|
@@ -2842,7 +4544,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2842
4544
|
|
|
2843
4545
|
@property
|
|
2844
4546
|
@pulumi.getter
|
|
2845
|
-
def resource(self) -> Optional[str]:
|
|
4547
|
+
def resource(self) -> Optional[builtins.str]:
|
|
2846
4548
|
"""
|
|
2847
4549
|
Resource is the type of resource being referenced, for example "pods".
|
|
2848
4550
|
"""
|
|
@@ -2850,7 +4552,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2850
4552
|
|
|
2851
4553
|
@property
|
|
2852
4554
|
@pulumi.getter
|
|
2853
|
-
def uid(self) -> Optional[str]:
|
|
4555
|
+
def uid(self) -> Optional[builtins.str]:
|
|
2854
4556
|
"""
|
|
2855
4557
|
UID identifies exactly one incarnation of the resource.
|
|
2856
4558
|
"""
|
|
@@ -2880,12 +4582,12 @@ class ResourceClaimSchedulingStatus(dict):
|
|
|
2880
4582
|
return super().get(key, default)
|
|
2881
4583
|
|
|
2882
4584
|
def __init__(__self__, *,
|
|
2883
|
-
name: str,
|
|
2884
|
-
unsuitable_nodes: Optional[Sequence[str]] = None):
|
|
4585
|
+
name: builtins.str,
|
|
4586
|
+
unsuitable_nodes: Optional[Sequence[builtins.str]] = None):
|
|
2885
4587
|
"""
|
|
2886
4588
|
ResourceClaimSchedulingStatus contains information about one particular ResourceClaim with "WaitForFirstConsumer" allocation mode.
|
|
2887
|
-
:param str name: Name matches the pod.spec.resourceClaims[*].Name field.
|
|
2888
|
-
:param Sequence[str] unsuitable_nodes: UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
|
|
4589
|
+
:param builtins.str name: Name matches the pod.spec.resourceClaims[*].Name field.
|
|
4590
|
+
:param Sequence[builtins.str] unsuitable_nodes: UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
|
|
2889
4591
|
|
|
2890
4592
|
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.
|
|
2891
4593
|
"""
|
|
@@ -2895,7 +4597,7 @@ class ResourceClaimSchedulingStatus(dict):
|
|
|
2895
4597
|
|
|
2896
4598
|
@property
|
|
2897
4599
|
@pulumi.getter
|
|
2898
|
-
def name(self) -> str:
|
|
4600
|
+
def name(self) -> builtins.str:
|
|
2899
4601
|
"""
|
|
2900
4602
|
Name matches the pod.spec.resourceClaims[*].Name field.
|
|
2901
4603
|
"""
|
|
@@ -2903,7 +4605,7 @@ class ResourceClaimSchedulingStatus(dict):
|
|
|
2903
4605
|
|
|
2904
4606
|
@property
|
|
2905
4607
|
@pulumi.getter(name="unsuitableNodes")
|
|
2906
|
-
def unsuitable_nodes(self) -> Optional[Sequence[str]]:
|
|
4608
|
+
def unsuitable_nodes(self) -> Optional[Sequence[builtins.str]]:
|
|
2907
4609
|
"""
|
|
2908
4610
|
UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
|
|
2909
4611
|
|
|
@@ -2935,12 +4637,12 @@ class ResourceClaimSchedulingStatusPatch(dict):
|
|
|
2935
4637
|
return super().get(key, default)
|
|
2936
4638
|
|
|
2937
4639
|
def __init__(__self__, *,
|
|
2938
|
-
name: Optional[str] = None,
|
|
2939
|
-
unsuitable_nodes: Optional[Sequence[str]] = None):
|
|
4640
|
+
name: Optional[builtins.str] = None,
|
|
4641
|
+
unsuitable_nodes: Optional[Sequence[builtins.str]] = None):
|
|
2940
4642
|
"""
|
|
2941
4643
|
ResourceClaimSchedulingStatus contains information about one particular ResourceClaim with "WaitForFirstConsumer" allocation mode.
|
|
2942
|
-
:param str name: Name matches the pod.spec.resourceClaims[*].Name field.
|
|
2943
|
-
:param Sequence[str] unsuitable_nodes: UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
|
|
4644
|
+
:param builtins.str name: Name matches the pod.spec.resourceClaims[*].Name field.
|
|
4645
|
+
:param Sequence[builtins.str] unsuitable_nodes: UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
|
|
2944
4646
|
|
|
2945
4647
|
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.
|
|
2946
4648
|
"""
|
|
@@ -2951,7 +4653,7 @@ class ResourceClaimSchedulingStatusPatch(dict):
|
|
|
2951
4653
|
|
|
2952
4654
|
@property
|
|
2953
4655
|
@pulumi.getter
|
|
2954
|
-
def name(self) -> Optional[str]:
|
|
4656
|
+
def name(self) -> Optional[builtins.str]:
|
|
2955
4657
|
"""
|
|
2956
4658
|
Name matches the pod.spec.resourceClaims[*].Name field.
|
|
2957
4659
|
"""
|
|
@@ -2959,7 +4661,7 @@ class ResourceClaimSchedulingStatusPatch(dict):
|
|
|
2959
4661
|
|
|
2960
4662
|
@property
|
|
2961
4663
|
@pulumi.getter(name="unsuitableNodes")
|
|
2962
|
-
def unsuitable_nodes(self) -> Optional[Sequence[str]]:
|
|
4664
|
+
def unsuitable_nodes(self) -> Optional[Sequence[builtins.str]]:
|
|
2963
4665
|
"""
|
|
2964
4666
|
UnsuitableNodes lists nodes that the ResourceClaim cannot be allocated for.
|
|
2965
4667
|
|
|
@@ -2974,11 +4676,11 @@ class ResourceClaimSpec(dict):
|
|
|
2974
4676
|
ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.
|
|
2975
4677
|
"""
|
|
2976
4678
|
def __init__(__self__, *,
|
|
2977
|
-
controller: Optional[str] = None,
|
|
4679
|
+
controller: Optional[builtins.str] = None,
|
|
2978
4680
|
devices: Optional['outputs.DeviceClaim'] = None):
|
|
2979
4681
|
"""
|
|
2980
4682
|
ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.
|
|
2981
|
-
:param str controller: Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.
|
|
4683
|
+
:param builtins.str controller: Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.
|
|
2982
4684
|
|
|
2983
4685
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
2984
4686
|
|
|
@@ -2992,7 +4694,7 @@ class ResourceClaimSpec(dict):
|
|
|
2992
4694
|
|
|
2993
4695
|
@property
|
|
2994
4696
|
@pulumi.getter
|
|
2995
|
-
def controller(self) -> Optional[str]:
|
|
4697
|
+
def controller(self) -> Optional[builtins.str]:
|
|
2996
4698
|
"""
|
|
2997
4699
|
Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.
|
|
2998
4700
|
|
|
@@ -3017,11 +4719,11 @@ class ResourceClaimSpecPatch(dict):
|
|
|
3017
4719
|
ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.
|
|
3018
4720
|
"""
|
|
3019
4721
|
def __init__(__self__, *,
|
|
3020
|
-
controller: Optional[str] = None,
|
|
4722
|
+
controller: Optional[builtins.str] = None,
|
|
3021
4723
|
devices: Optional['outputs.DeviceClaimPatch'] = None):
|
|
3022
4724
|
"""
|
|
3023
4725
|
ResourceClaimSpec defines what is being requested in a ResourceClaim and how to configure it.
|
|
3024
|
-
:param str controller: Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.
|
|
4726
|
+
:param builtins.str controller: Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.
|
|
3025
4727
|
|
|
3026
4728
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
3027
4729
|
|
|
@@ -3035,7 +4737,7 @@ class ResourceClaimSpecPatch(dict):
|
|
|
3035
4737
|
|
|
3036
4738
|
@property
|
|
3037
4739
|
@pulumi.getter
|
|
3038
|
-
def controller(self) -> Optional[str]:
|
|
4740
|
+
def controller(self) -> Optional[builtins.str]:
|
|
3039
4741
|
"""
|
|
3040
4742
|
Controller is the name of the DRA driver that is meant to handle allocation of this claim. If empty, allocation is handled by the scheduler while scheduling a pod.
|
|
3041
4743
|
|
|
@@ -3080,13 +4782,13 @@ class ResourceClaimStatus(dict):
|
|
|
3080
4782
|
|
|
3081
4783
|
def __init__(__self__, *,
|
|
3082
4784
|
allocation: Optional['outputs.AllocationResult'] = None,
|
|
3083
|
-
deallocation_requested: Optional[bool] = None,
|
|
4785
|
+
deallocation_requested: Optional[builtins.bool] = None,
|
|
3084
4786
|
devices: Optional[Sequence['outputs.AllocatedDeviceStatus']] = None,
|
|
3085
4787
|
reserved_for: Optional[Sequence['outputs.ResourceClaimConsumerReference']] = None):
|
|
3086
4788
|
"""
|
|
3087
4789
|
ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.
|
|
3088
4790
|
:param 'AllocationResultArgs' allocation: Allocation is set once the claim has been allocated successfully.
|
|
3089
|
-
:param bool deallocation_requested: Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.
|
|
4791
|
+
:param builtins.bool deallocation_requested: Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.
|
|
3090
4792
|
|
|
3091
4793
|
This is only used if the claim needs to be deallocated by a DRA driver. That driver then must deallocate this claim and reset the field together with clearing the Allocation field.
|
|
3092
4794
|
|
|
@@ -3098,7 +4800,7 @@ class ResourceClaimStatus(dict):
|
|
|
3098
4800
|
|
|
3099
4801
|
Both schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.
|
|
3100
4802
|
|
|
3101
|
-
There can be at most
|
|
4803
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
3102
4804
|
"""
|
|
3103
4805
|
if allocation is not None:
|
|
3104
4806
|
pulumi.set(__self__, "allocation", allocation)
|
|
@@ -3119,7 +4821,7 @@ class ResourceClaimStatus(dict):
|
|
|
3119
4821
|
|
|
3120
4822
|
@property
|
|
3121
4823
|
@pulumi.getter(name="deallocationRequested")
|
|
3122
|
-
def deallocation_requested(self) -> Optional[bool]:
|
|
4824
|
+
def deallocation_requested(self) -> Optional[builtins.bool]:
|
|
3123
4825
|
"""
|
|
3124
4826
|
Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.
|
|
3125
4827
|
|
|
@@ -3147,7 +4849,7 @@ class ResourceClaimStatus(dict):
|
|
|
3147
4849
|
|
|
3148
4850
|
Both schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.
|
|
3149
4851
|
|
|
3150
|
-
There can be at most
|
|
4852
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
3151
4853
|
"""
|
|
3152
4854
|
return pulumi.get(self, "reserved_for")
|
|
3153
4855
|
|
|
@@ -3178,13 +4880,13 @@ class ResourceClaimStatusPatch(dict):
|
|
|
3178
4880
|
|
|
3179
4881
|
def __init__(__self__, *,
|
|
3180
4882
|
allocation: Optional['outputs.AllocationResultPatch'] = None,
|
|
3181
|
-
deallocation_requested: Optional[bool] = None,
|
|
4883
|
+
deallocation_requested: Optional[builtins.bool] = None,
|
|
3182
4884
|
devices: Optional[Sequence['outputs.AllocatedDeviceStatusPatch']] = None,
|
|
3183
4885
|
reserved_for: Optional[Sequence['outputs.ResourceClaimConsumerReferencePatch']] = None):
|
|
3184
4886
|
"""
|
|
3185
4887
|
ResourceClaimStatus tracks whether the resource has been allocated and what the result of that was.
|
|
3186
4888
|
:param 'AllocationResultPatchArgs' allocation: Allocation is set once the claim has been allocated successfully.
|
|
3187
|
-
:param bool deallocation_requested: Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.
|
|
4889
|
+
:param builtins.bool deallocation_requested: Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.
|
|
3188
4890
|
|
|
3189
4891
|
This is only used if the claim needs to be deallocated by a DRA driver. That driver then must deallocate this claim and reset the field together with clearing the Allocation field.
|
|
3190
4892
|
|
|
@@ -3196,7 +4898,7 @@ class ResourceClaimStatusPatch(dict):
|
|
|
3196
4898
|
|
|
3197
4899
|
Both schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.
|
|
3198
4900
|
|
|
3199
|
-
There can be at most
|
|
4901
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
3200
4902
|
"""
|
|
3201
4903
|
if allocation is not None:
|
|
3202
4904
|
pulumi.set(__self__, "allocation", allocation)
|
|
@@ -3217,7 +4919,7 @@ class ResourceClaimStatusPatch(dict):
|
|
|
3217
4919
|
|
|
3218
4920
|
@property
|
|
3219
4921
|
@pulumi.getter(name="deallocationRequested")
|
|
3220
|
-
def deallocation_requested(self) -> Optional[bool]:
|
|
4922
|
+
def deallocation_requested(self) -> Optional[builtins.bool]:
|
|
3221
4923
|
"""
|
|
3222
4924
|
Indicates that a claim is to be deallocated. While this is set, no new consumers may be added to ReservedFor.
|
|
3223
4925
|
|
|
@@ -3245,7 +4947,7 @@ class ResourceClaimStatusPatch(dict):
|
|
|
3245
4947
|
|
|
3246
4948
|
Both schedulers try to add their pod to the claim.status.reservedFor field, but only the update that reaches the API server first gets stored. The other one fails with an error and the scheduler which issued it knows that it must put the pod back into the queue, waiting for the ResourceClaim to become usable again.
|
|
3247
4949
|
|
|
3248
|
-
There can be at most
|
|
4950
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
3249
4951
|
"""
|
|
3250
4952
|
return pulumi.get(self, "reserved_for")
|
|
3251
4953
|
|
|
@@ -3276,8 +4978,8 @@ class ResourceClaimTemplate(dict):
|
|
|
3276
4978
|
|
|
3277
4979
|
def __init__(__self__, *,
|
|
3278
4980
|
spec: 'outputs.ResourceClaimTemplateSpec',
|
|
3279
|
-
api_version: Optional[str] = None,
|
|
3280
|
-
kind: Optional[str] = None,
|
|
4981
|
+
api_version: Optional[builtins.str] = None,
|
|
4982
|
+
kind: Optional[builtins.str] = None,
|
|
3281
4983
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None):
|
|
3282
4984
|
"""
|
|
3283
4985
|
ResourceClaimTemplate is used to produce ResourceClaim objects.
|
|
@@ -3286,8 +4988,8 @@ class ResourceClaimTemplate(dict):
|
|
|
3286
4988
|
:param 'ResourceClaimTemplateSpecArgs' spec: Describes the ResourceClaim that is to be generated.
|
|
3287
4989
|
|
|
3288
4990
|
This field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore.
|
|
3289
|
-
:param 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
|
|
3290
|
-
:param 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
|
|
4991
|
+
:param builtins.str api_version: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
4992
|
+
:param builtins.str kind: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
3291
4993
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
3292
4994
|
"""
|
|
3293
4995
|
pulumi.set(__self__, "spec", spec)
|
|
@@ -3310,7 +5012,7 @@ class ResourceClaimTemplate(dict):
|
|
|
3310
5012
|
|
|
3311
5013
|
@property
|
|
3312
5014
|
@pulumi.getter(name="apiVersion")
|
|
3313
|
-
def api_version(self) -> Optional[str]:
|
|
5015
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
3314
5016
|
"""
|
|
3315
5017
|
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
|
|
3316
5018
|
"""
|
|
@@ -3318,7 +5020,7 @@ class ResourceClaimTemplate(dict):
|
|
|
3318
5020
|
|
|
3319
5021
|
@property
|
|
3320
5022
|
@pulumi.getter
|
|
3321
|
-
def kind(self) -> Optional[str]:
|
|
5023
|
+
def kind(self) -> Optional[builtins.str]:
|
|
3322
5024
|
"""
|
|
3323
5025
|
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
|
|
3324
5026
|
"""
|
|
@@ -3425,18 +5127,18 @@ class ResourcePool(dict):
|
|
|
3425
5127
|
return super().get(key, default)
|
|
3426
5128
|
|
|
3427
5129
|
def __init__(__self__, *,
|
|
3428
|
-
generation: int,
|
|
3429
|
-
name: str,
|
|
3430
|
-
resource_slice_count: int):
|
|
5130
|
+
generation: builtins.int,
|
|
5131
|
+
name: builtins.str,
|
|
5132
|
+
resource_slice_count: builtins.int):
|
|
3431
5133
|
"""
|
|
3432
5134
|
ResourcePool describes the pool that ResourceSlices belong to.
|
|
3433
|
-
:param int generation: Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.
|
|
5135
|
+
:param builtins.int generation: Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.
|
|
3434
5136
|
|
|
3435
5137
|
Combined with ResourceSliceCount, this mechanism enables consumers to detect pools which are comprised of multiple ResourceSlices and are in an incomplete state.
|
|
3436
|
-
:param str name: Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
5138
|
+
:param builtins.str name: Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
3437
5139
|
|
|
3438
5140
|
It must not be longer than 253 characters and must consist of one or more DNS sub-domains separated by slashes. This field is immutable.
|
|
3439
|
-
:param int resource_slice_count: ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
5141
|
+
:param builtins.int resource_slice_count: ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
3440
5142
|
|
|
3441
5143
|
Consumers can use this to check whether they have seen all ResourceSlices belonging to the same pool.
|
|
3442
5144
|
"""
|
|
@@ -3446,7 +5148,7 @@ class ResourcePool(dict):
|
|
|
3446
5148
|
|
|
3447
5149
|
@property
|
|
3448
5150
|
@pulumi.getter
|
|
3449
|
-
def generation(self) -> int:
|
|
5151
|
+
def generation(self) -> builtins.int:
|
|
3450
5152
|
"""
|
|
3451
5153
|
Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.
|
|
3452
5154
|
|
|
@@ -3456,7 +5158,7 @@ class ResourcePool(dict):
|
|
|
3456
5158
|
|
|
3457
5159
|
@property
|
|
3458
5160
|
@pulumi.getter
|
|
3459
|
-
def name(self) -> str:
|
|
5161
|
+
def name(self) -> builtins.str:
|
|
3460
5162
|
"""
|
|
3461
5163
|
Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
3462
5164
|
|
|
@@ -3466,7 +5168,7 @@ class ResourcePool(dict):
|
|
|
3466
5168
|
|
|
3467
5169
|
@property
|
|
3468
5170
|
@pulumi.getter(name="resourceSliceCount")
|
|
3469
|
-
def resource_slice_count(self) -> int:
|
|
5171
|
+
def resource_slice_count(self) -> builtins.int:
|
|
3470
5172
|
"""
|
|
3471
5173
|
ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
3472
5174
|
|
|
@@ -3498,18 +5200,18 @@ class ResourcePoolPatch(dict):
|
|
|
3498
5200
|
return super().get(key, default)
|
|
3499
5201
|
|
|
3500
5202
|
def __init__(__self__, *,
|
|
3501
|
-
generation: Optional[int] = None,
|
|
3502
|
-
name: Optional[str] = None,
|
|
3503
|
-
resource_slice_count: Optional[int] = None):
|
|
5203
|
+
generation: Optional[builtins.int] = None,
|
|
5204
|
+
name: Optional[builtins.str] = None,
|
|
5205
|
+
resource_slice_count: Optional[builtins.int] = None):
|
|
3504
5206
|
"""
|
|
3505
5207
|
ResourcePool describes the pool that ResourceSlices belong to.
|
|
3506
|
-
:param int generation: Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.
|
|
5208
|
+
:param builtins.int generation: Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.
|
|
3507
5209
|
|
|
3508
5210
|
Combined with ResourceSliceCount, this mechanism enables consumers to detect pools which are comprised of multiple ResourceSlices and are in an incomplete state.
|
|
3509
|
-
:param str name: Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
5211
|
+
:param builtins.str name: Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
3510
5212
|
|
|
3511
5213
|
It must not be longer than 253 characters and must consist of one or more DNS sub-domains separated by slashes. This field is immutable.
|
|
3512
|
-
:param int resource_slice_count: ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
5214
|
+
:param builtins.int resource_slice_count: ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
3513
5215
|
|
|
3514
5216
|
Consumers can use this to check whether they have seen all ResourceSlices belonging to the same pool.
|
|
3515
5217
|
"""
|
|
@@ -3522,7 +5224,7 @@ class ResourcePoolPatch(dict):
|
|
|
3522
5224
|
|
|
3523
5225
|
@property
|
|
3524
5226
|
@pulumi.getter
|
|
3525
|
-
def generation(self) -> Optional[int]:
|
|
5227
|
+
def generation(self) -> Optional[builtins.int]:
|
|
3526
5228
|
"""
|
|
3527
5229
|
Generation tracks the change in a pool over time. Whenever a driver changes something about one or more of the resources in a pool, it must change the generation in all ResourceSlices which are part of that pool. Consumers of ResourceSlices should only consider resources from the pool with the highest generation number. The generation may be reset by drivers, which should be fine for consumers, assuming that all ResourceSlices in a pool are updated to match or deleted.
|
|
3528
5230
|
|
|
@@ -3532,7 +5234,7 @@ class ResourcePoolPatch(dict):
|
|
|
3532
5234
|
|
|
3533
5235
|
@property
|
|
3534
5236
|
@pulumi.getter
|
|
3535
|
-
def name(self) -> Optional[str]:
|
|
5237
|
+
def name(self) -> Optional[builtins.str]:
|
|
3536
5238
|
"""
|
|
3537
5239
|
Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
3538
5240
|
|
|
@@ -3542,7 +5244,7 @@ class ResourcePoolPatch(dict):
|
|
|
3542
5244
|
|
|
3543
5245
|
@property
|
|
3544
5246
|
@pulumi.getter(name="resourceSliceCount")
|
|
3545
|
-
def resource_slice_count(self) -> Optional[int]:
|
|
5247
|
+
def resource_slice_count(self) -> Optional[builtins.int]:
|
|
3546
5248
|
"""
|
|
3547
5249
|
ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
3548
5250
|
|
|
@@ -3585,8 +5287,8 @@ class ResourceSlice(dict):
|
|
|
3585
5287
|
|
|
3586
5288
|
def __init__(__self__, *,
|
|
3587
5289
|
spec: 'outputs.ResourceSliceSpec',
|
|
3588
|
-
api_version: Optional[str] = None,
|
|
3589
|
-
kind: Optional[str] = None,
|
|
5290
|
+
api_version: Optional[builtins.str] = None,
|
|
5291
|
+
kind: Optional[builtins.str] = None,
|
|
3590
5292
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None):
|
|
3591
5293
|
"""
|
|
3592
5294
|
ResourceSlice represents one or more resources in a pool of similar resources, managed by a common driver. A pool may span more than one ResourceSlice, and exactly how many ResourceSlices comprise a pool is determined by the driver.
|
|
@@ -3603,8 +5305,8 @@ class ResourceSlice(dict):
|
|
|
3603
5305
|
:param 'ResourceSliceSpecArgs' spec: Contains the information published by the driver.
|
|
3604
5306
|
|
|
3605
5307
|
Changing the spec automatically increments the metadata.generation number.
|
|
3606
|
-
:param 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
|
|
3607
|
-
:param 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
|
|
5308
|
+
:param builtins.str api_version: APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
5309
|
+
:param builtins.str kind: Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
3608
5310
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
3609
5311
|
"""
|
|
3610
5312
|
pulumi.set(__self__, "spec", spec)
|
|
@@ -3627,7 +5329,7 @@ class ResourceSlice(dict):
|
|
|
3627
5329
|
|
|
3628
5330
|
@property
|
|
3629
5331
|
@pulumi.getter(name="apiVersion")
|
|
3630
|
-
def api_version(self) -> Optional[str]:
|
|
5332
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
3631
5333
|
"""
|
|
3632
5334
|
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
|
|
3633
5335
|
"""
|
|
@@ -3635,7 +5337,7 @@ class ResourceSlice(dict):
|
|
|
3635
5337
|
|
|
3636
5338
|
@property
|
|
3637
5339
|
@pulumi.getter
|
|
3638
|
-
def kind(self) -> Optional[str]:
|
|
5340
|
+
def kind(self) -> Optional[builtins.str]:
|
|
3639
5341
|
"""
|
|
3640
5342
|
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
|
|
3641
5343
|
"""
|
|
@@ -3664,6 +5366,10 @@ class ResourceSliceSpec(dict):
|
|
|
3664
5366
|
suggest = "node_name"
|
|
3665
5367
|
elif key == "nodeSelector":
|
|
3666
5368
|
suggest = "node_selector"
|
|
5369
|
+
elif key == "perDeviceNodeSelection":
|
|
5370
|
+
suggest = "per_device_node_selection"
|
|
5371
|
+
elif key == "sharedCounters":
|
|
5372
|
+
suggest = "shared_counters"
|
|
3667
5373
|
|
|
3668
5374
|
if suggest:
|
|
3669
5375
|
pulumi.log.warn(f"Key '{key}' not found in ResourceSliceSpec. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3677,34 +5383,44 @@ class ResourceSliceSpec(dict):
|
|
|
3677
5383
|
return super().get(key, default)
|
|
3678
5384
|
|
|
3679
5385
|
def __init__(__self__, *,
|
|
3680
|
-
driver: str,
|
|
5386
|
+
driver: builtins.str,
|
|
3681
5387
|
pool: 'outputs.ResourcePool',
|
|
3682
|
-
all_nodes: Optional[bool] = None,
|
|
5388
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
3683
5389
|
devices: Optional[Sequence['outputs.Device']] = None,
|
|
3684
|
-
node_name: Optional[str] = None,
|
|
3685
|
-
node_selector: Optional['_core.v1.outputs.NodeSelector'] = None
|
|
5390
|
+
node_name: Optional[builtins.str] = None,
|
|
5391
|
+
node_selector: Optional['_core.v1.outputs.NodeSelector'] = None,
|
|
5392
|
+
per_device_node_selection: Optional[builtins.bool] = None,
|
|
5393
|
+
shared_counters: Optional[Sequence['outputs.CounterSet']] = None):
|
|
3686
5394
|
"""
|
|
3687
5395
|
ResourceSliceSpec contains the information published by the driver in one ResourceSlice.
|
|
3688
|
-
:param str driver: Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
|
|
5396
|
+
:param builtins.str driver: Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
|
|
3689
5397
|
|
|
3690
5398
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. This field is immutable.
|
|
3691
5399
|
:param 'ResourcePoolArgs' pool: Pool describes the pool that this ResourceSlice belongs to.
|
|
3692
|
-
:param bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
5400
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3693
5401
|
|
|
3694
|
-
Exactly one of NodeName, NodeSelector and
|
|
5402
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3695
5403
|
:param Sequence['DeviceArgs'] devices: Devices lists some or all of the devices in this pool.
|
|
3696
5404
|
|
|
3697
5405
|
Must not have more than 128 entries.
|
|
3698
|
-
:param str node_name: NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.
|
|
5406
|
+
:param builtins.str node_name: NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.
|
|
3699
5407
|
|
|
3700
5408
|
This field can be used to limit access from nodes to ResourceSlices with the same node name. It also indicates to autoscalers that adding new nodes of the same type as some old node might also make new resources available.
|
|
3701
5409
|
|
|
3702
|
-
Exactly one of NodeName, NodeSelector and
|
|
5410
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3703
5411
|
:param '_core.v1.NodeSelectorArgs' node_selector: NodeSelector defines which nodes have access to the resources in the pool, when that pool is not limited to a single node.
|
|
3704
5412
|
|
|
3705
5413
|
Must use exactly one term.
|
|
3706
5414
|
|
|
3707
|
-
Exactly one of NodeName, NodeSelector and
|
|
5415
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
5416
|
+
:param builtins.bool per_device_node_selection: PerDeviceNodeSelection defines whether the access from nodes to resources in the pool is set on the ResourceSlice level or on each device. If it is set to true, every device defined the ResourceSlice must specify this individually.
|
|
5417
|
+
|
|
5418
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
5419
|
+
:param Sequence['CounterSetArgs'] shared_counters: SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
5420
|
+
|
|
5421
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
5422
|
+
|
|
5423
|
+
The maximum number of SharedCounters is 32.
|
|
3708
5424
|
"""
|
|
3709
5425
|
pulumi.set(__self__, "driver", driver)
|
|
3710
5426
|
pulumi.set(__self__, "pool", pool)
|
|
@@ -3716,10 +5432,14 @@ class ResourceSliceSpec(dict):
|
|
|
3716
5432
|
pulumi.set(__self__, "node_name", node_name)
|
|
3717
5433
|
if node_selector is not None:
|
|
3718
5434
|
pulumi.set(__self__, "node_selector", node_selector)
|
|
5435
|
+
if per_device_node_selection is not None:
|
|
5436
|
+
pulumi.set(__self__, "per_device_node_selection", per_device_node_selection)
|
|
5437
|
+
if shared_counters is not None:
|
|
5438
|
+
pulumi.set(__self__, "shared_counters", shared_counters)
|
|
3719
5439
|
|
|
3720
5440
|
@property
|
|
3721
5441
|
@pulumi.getter
|
|
3722
|
-
def driver(self) -> str:
|
|
5442
|
+
def driver(self) -> builtins.str:
|
|
3723
5443
|
"""
|
|
3724
5444
|
Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
|
|
3725
5445
|
|
|
@@ -3737,11 +5457,11 @@ class ResourceSliceSpec(dict):
|
|
|
3737
5457
|
|
|
3738
5458
|
@property
|
|
3739
5459
|
@pulumi.getter(name="allNodes")
|
|
3740
|
-
def all_nodes(self) -> Optional[bool]:
|
|
5460
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
3741
5461
|
"""
|
|
3742
5462
|
AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3743
5463
|
|
|
3744
|
-
Exactly one of NodeName, NodeSelector and
|
|
5464
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3745
5465
|
"""
|
|
3746
5466
|
return pulumi.get(self, "all_nodes")
|
|
3747
5467
|
|
|
@@ -3757,13 +5477,13 @@ class ResourceSliceSpec(dict):
|
|
|
3757
5477
|
|
|
3758
5478
|
@property
|
|
3759
5479
|
@pulumi.getter(name="nodeName")
|
|
3760
|
-
def node_name(self) -> Optional[str]:
|
|
5480
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
3761
5481
|
"""
|
|
3762
5482
|
NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.
|
|
3763
5483
|
|
|
3764
5484
|
This field can be used to limit access from nodes to ResourceSlices with the same node name. It also indicates to autoscalers that adding new nodes of the same type as some old node might also make new resources available.
|
|
3765
5485
|
|
|
3766
|
-
Exactly one of NodeName, NodeSelector and
|
|
5486
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3767
5487
|
"""
|
|
3768
5488
|
return pulumi.get(self, "node_name")
|
|
3769
5489
|
|
|
@@ -3775,10 +5495,32 @@ class ResourceSliceSpec(dict):
|
|
|
3775
5495
|
|
|
3776
5496
|
Must use exactly one term.
|
|
3777
5497
|
|
|
3778
|
-
Exactly one of NodeName, NodeSelector and
|
|
5498
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3779
5499
|
"""
|
|
3780
5500
|
return pulumi.get(self, "node_selector")
|
|
3781
5501
|
|
|
5502
|
+
@property
|
|
5503
|
+
@pulumi.getter(name="perDeviceNodeSelection")
|
|
5504
|
+
def per_device_node_selection(self) -> Optional[builtins.bool]:
|
|
5505
|
+
"""
|
|
5506
|
+
PerDeviceNodeSelection defines whether the access from nodes to resources in the pool is set on the ResourceSlice level or on each device. If it is set to true, every device defined the ResourceSlice must specify this individually.
|
|
5507
|
+
|
|
5508
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
5509
|
+
"""
|
|
5510
|
+
return pulumi.get(self, "per_device_node_selection")
|
|
5511
|
+
|
|
5512
|
+
@property
|
|
5513
|
+
@pulumi.getter(name="sharedCounters")
|
|
5514
|
+
def shared_counters(self) -> Optional[Sequence['outputs.CounterSet']]:
|
|
5515
|
+
"""
|
|
5516
|
+
SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
5517
|
+
|
|
5518
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
5519
|
+
|
|
5520
|
+
The maximum number of SharedCounters is 32.
|
|
5521
|
+
"""
|
|
5522
|
+
return pulumi.get(self, "shared_counters")
|
|
5523
|
+
|
|
3782
5524
|
|
|
3783
5525
|
@pulumi.output_type
|
|
3784
5526
|
class ResourceSliceSpecPatch(dict):
|
|
@@ -3794,6 +5536,10 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3794
5536
|
suggest = "node_name"
|
|
3795
5537
|
elif key == "nodeSelector":
|
|
3796
5538
|
suggest = "node_selector"
|
|
5539
|
+
elif key == "perDeviceNodeSelection":
|
|
5540
|
+
suggest = "per_device_node_selection"
|
|
5541
|
+
elif key == "sharedCounters":
|
|
5542
|
+
suggest = "shared_counters"
|
|
3797
5543
|
|
|
3798
5544
|
if suggest:
|
|
3799
5545
|
pulumi.log.warn(f"Key '{key}' not found in ResourceSliceSpecPatch. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3807,34 +5553,44 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3807
5553
|
return super().get(key, default)
|
|
3808
5554
|
|
|
3809
5555
|
def __init__(__self__, *,
|
|
3810
|
-
all_nodes: Optional[bool] = None,
|
|
5556
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
3811
5557
|
devices: Optional[Sequence['outputs.DevicePatch']] = None,
|
|
3812
|
-
driver: Optional[str] = None,
|
|
3813
|
-
node_name: Optional[str] = None,
|
|
5558
|
+
driver: Optional[builtins.str] = None,
|
|
5559
|
+
node_name: Optional[builtins.str] = None,
|
|
3814
5560
|
node_selector: Optional['_core.v1.outputs.NodeSelectorPatch'] = None,
|
|
3815
|
-
|
|
5561
|
+
per_device_node_selection: Optional[builtins.bool] = None,
|
|
5562
|
+
pool: Optional['outputs.ResourcePoolPatch'] = None,
|
|
5563
|
+
shared_counters: Optional[Sequence['outputs.CounterSetPatch']] = None):
|
|
3816
5564
|
"""
|
|
3817
5565
|
ResourceSliceSpec contains the information published by the driver in one ResourceSlice.
|
|
3818
|
-
:param bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
5566
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3819
5567
|
|
|
3820
|
-
Exactly one of NodeName, NodeSelector and
|
|
5568
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3821
5569
|
:param Sequence['DevicePatchArgs'] devices: Devices lists some or all of the devices in this pool.
|
|
3822
5570
|
|
|
3823
5571
|
Must not have more than 128 entries.
|
|
3824
|
-
:param str driver: Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
|
|
5572
|
+
:param builtins.str driver: Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
|
|
3825
5573
|
|
|
3826
5574
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. This field is immutable.
|
|
3827
|
-
:param str node_name: NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.
|
|
5575
|
+
:param builtins.str node_name: NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.
|
|
3828
5576
|
|
|
3829
5577
|
This field can be used to limit access from nodes to ResourceSlices with the same node name. It also indicates to autoscalers that adding new nodes of the same type as some old node might also make new resources available.
|
|
3830
5578
|
|
|
3831
|
-
Exactly one of NodeName, NodeSelector and
|
|
5579
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3832
5580
|
:param '_core.v1.NodeSelectorPatchArgs' node_selector: NodeSelector defines which nodes have access to the resources in the pool, when that pool is not limited to a single node.
|
|
3833
5581
|
|
|
3834
5582
|
Must use exactly one term.
|
|
3835
5583
|
|
|
3836
|
-
Exactly one of NodeName, NodeSelector and
|
|
5584
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
5585
|
+
:param builtins.bool per_device_node_selection: PerDeviceNodeSelection defines whether the access from nodes to resources in the pool is set on the ResourceSlice level or on each device. If it is set to true, every device defined the ResourceSlice must specify this individually.
|
|
5586
|
+
|
|
5587
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3837
5588
|
:param 'ResourcePoolPatchArgs' pool: Pool describes the pool that this ResourceSlice belongs to.
|
|
5589
|
+
:param Sequence['CounterSetPatchArgs'] shared_counters: SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
5590
|
+
|
|
5591
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
5592
|
+
|
|
5593
|
+
The maximum number of SharedCounters is 32.
|
|
3838
5594
|
"""
|
|
3839
5595
|
if all_nodes is not None:
|
|
3840
5596
|
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
@@ -3846,16 +5602,20 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3846
5602
|
pulumi.set(__self__, "node_name", node_name)
|
|
3847
5603
|
if node_selector is not None:
|
|
3848
5604
|
pulumi.set(__self__, "node_selector", node_selector)
|
|
5605
|
+
if per_device_node_selection is not None:
|
|
5606
|
+
pulumi.set(__self__, "per_device_node_selection", per_device_node_selection)
|
|
3849
5607
|
if pool is not None:
|
|
3850
5608
|
pulumi.set(__self__, "pool", pool)
|
|
5609
|
+
if shared_counters is not None:
|
|
5610
|
+
pulumi.set(__self__, "shared_counters", shared_counters)
|
|
3851
5611
|
|
|
3852
5612
|
@property
|
|
3853
5613
|
@pulumi.getter(name="allNodes")
|
|
3854
|
-
def all_nodes(self) -> Optional[bool]:
|
|
5614
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
3855
5615
|
"""
|
|
3856
5616
|
AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3857
5617
|
|
|
3858
|
-
Exactly one of NodeName, NodeSelector and
|
|
5618
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3859
5619
|
"""
|
|
3860
5620
|
return pulumi.get(self, "all_nodes")
|
|
3861
5621
|
|
|
@@ -3871,7 +5631,7 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3871
5631
|
|
|
3872
5632
|
@property
|
|
3873
5633
|
@pulumi.getter
|
|
3874
|
-
def driver(self) -> Optional[str]:
|
|
5634
|
+
def driver(self) -> Optional[builtins.str]:
|
|
3875
5635
|
"""
|
|
3876
5636
|
Driver identifies the DRA driver providing the capacity information. A field selector can be used to list only ResourceSlice objects with a certain driver name.
|
|
3877
5637
|
|
|
@@ -3881,13 +5641,13 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3881
5641
|
|
|
3882
5642
|
@property
|
|
3883
5643
|
@pulumi.getter(name="nodeName")
|
|
3884
|
-
def node_name(self) -> Optional[str]:
|
|
5644
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
3885
5645
|
"""
|
|
3886
5646
|
NodeName identifies the node which provides the resources in this pool. A field selector can be used to list only ResourceSlice objects belonging to a certain node.
|
|
3887
5647
|
|
|
3888
5648
|
This field can be used to limit access from nodes to ResourceSlices with the same node name. It also indicates to autoscalers that adding new nodes of the same type as some old node might also make new resources available.
|
|
3889
5649
|
|
|
3890
|
-
Exactly one of NodeName, NodeSelector and
|
|
5650
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3891
5651
|
"""
|
|
3892
5652
|
return pulumi.get(self, "node_name")
|
|
3893
5653
|
|
|
@@ -3899,10 +5659,20 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3899
5659
|
|
|
3900
5660
|
Must use exactly one term.
|
|
3901
5661
|
|
|
3902
|
-
Exactly one of NodeName, NodeSelector and
|
|
5662
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3903
5663
|
"""
|
|
3904
5664
|
return pulumi.get(self, "node_selector")
|
|
3905
5665
|
|
|
5666
|
+
@property
|
|
5667
|
+
@pulumi.getter(name="perDeviceNodeSelection")
|
|
5668
|
+
def per_device_node_selection(self) -> Optional[builtins.bool]:
|
|
5669
|
+
"""
|
|
5670
|
+
PerDeviceNodeSelection defines whether the access from nodes to resources in the pool is set on the ResourceSlice level or on each device. If it is set to true, every device defined the ResourceSlice must specify this individually.
|
|
5671
|
+
|
|
5672
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
5673
|
+
"""
|
|
5674
|
+
return pulumi.get(self, "per_device_node_selection")
|
|
5675
|
+
|
|
3906
5676
|
@property
|
|
3907
5677
|
@pulumi.getter
|
|
3908
5678
|
def pool(self) -> Optional['outputs.ResourcePoolPatch']:
|
|
@@ -3911,4 +5681,16 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3911
5681
|
"""
|
|
3912
5682
|
return pulumi.get(self, "pool")
|
|
3913
5683
|
|
|
5684
|
+
@property
|
|
5685
|
+
@pulumi.getter(name="sharedCounters")
|
|
5686
|
+
def shared_counters(self) -> Optional[Sequence['outputs.CounterSetPatch']]:
|
|
5687
|
+
"""
|
|
5688
|
+
SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
5689
|
+
|
|
5690
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
5691
|
+
|
|
5692
|
+
The maximum number of SharedCounters is 32.
|
|
5693
|
+
"""
|
|
5694
|
+
return pulumi.get(self, "shared_counters")
|
|
5695
|
+
|
|
3914
5696
|
|