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',
|
|
@@ -44,6 +48,8 @@ __all__ = [
|
|
|
44
48
|
'DeviceClassSpecPatch',
|
|
45
49
|
'DeviceConstraint',
|
|
46
50
|
'DeviceConstraintPatch',
|
|
51
|
+
'DeviceCounterConsumption',
|
|
52
|
+
'DeviceCounterConsumptionPatch',
|
|
47
53
|
'DevicePatch',
|
|
48
54
|
'DeviceRequest',
|
|
49
55
|
'DeviceRequestAllocationResult',
|
|
@@ -51,6 +57,12 @@ __all__ = [
|
|
|
51
57
|
'DeviceRequestPatch',
|
|
52
58
|
'DeviceSelector',
|
|
53
59
|
'DeviceSelectorPatch',
|
|
60
|
+
'DeviceSubRequest',
|
|
61
|
+
'DeviceSubRequestPatch',
|
|
62
|
+
'DeviceTaint',
|
|
63
|
+
'DeviceTaintPatch',
|
|
64
|
+
'DeviceToleration',
|
|
65
|
+
'DeviceTolerationPatch',
|
|
54
66
|
'NetworkDeviceData',
|
|
55
67
|
'NetworkDeviceDataPatch',
|
|
56
68
|
'OpaqueDeviceConfiguration',
|
|
@@ -95,22 +107,24 @@ class AllocatedDeviceStatus(dict):
|
|
|
95
107
|
return super().get(key, default)
|
|
96
108
|
|
|
97
109
|
def __init__(__self__, *,
|
|
98
|
-
device: str,
|
|
99
|
-
driver: str,
|
|
100
|
-
pool: str,
|
|
110
|
+
device: builtins.str,
|
|
111
|
+
driver: builtins.str,
|
|
112
|
+
pool: builtins.str,
|
|
101
113
|
conditions: Optional[Sequence['_meta.v1.outputs.Condition']] = None,
|
|
102
114
|
data: Optional[Any] = None,
|
|
103
115
|
network_data: Optional['outputs.NetworkDeviceData'] = None):
|
|
104
116
|
"""
|
|
105
117
|
AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.
|
|
106
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
107
|
-
: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.
|
|
118
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
119
|
+
: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.
|
|
108
120
|
|
|
109
121
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
110
|
-
: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>`).
|
|
122
|
+
: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>`).
|
|
111
123
|
|
|
112
124
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
113
125
|
: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.
|
|
126
|
+
|
|
127
|
+
Must not contain more than 8 entries.
|
|
114
128
|
:param Any data: Data contains arbitrary driver-specific data.
|
|
115
129
|
|
|
116
130
|
The length of the raw data must be smaller or equal to 10 Ki.
|
|
@@ -128,7 +142,7 @@ class AllocatedDeviceStatus(dict):
|
|
|
128
142
|
|
|
129
143
|
@property
|
|
130
144
|
@pulumi.getter
|
|
131
|
-
def device(self) -> str:
|
|
145
|
+
def device(self) -> builtins.str:
|
|
132
146
|
"""
|
|
133
147
|
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
134
148
|
"""
|
|
@@ -136,7 +150,7 @@ class AllocatedDeviceStatus(dict):
|
|
|
136
150
|
|
|
137
151
|
@property
|
|
138
152
|
@pulumi.getter
|
|
139
|
-
def driver(self) -> str:
|
|
153
|
+
def driver(self) -> builtins.str:
|
|
140
154
|
"""
|
|
141
155
|
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.
|
|
142
156
|
|
|
@@ -146,7 +160,7 @@ class AllocatedDeviceStatus(dict):
|
|
|
146
160
|
|
|
147
161
|
@property
|
|
148
162
|
@pulumi.getter
|
|
149
|
-
def pool(self) -> str:
|
|
163
|
+
def pool(self) -> builtins.str:
|
|
150
164
|
"""
|
|
151
165
|
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
152
166
|
|
|
@@ -159,6 +173,8 @@ class AllocatedDeviceStatus(dict):
|
|
|
159
173
|
def conditions(self) -> Optional[Sequence['_meta.v1.outputs.Condition']]:
|
|
160
174
|
"""
|
|
161
175
|
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.
|
|
176
|
+
|
|
177
|
+
Must not contain more than 8 entries.
|
|
162
178
|
"""
|
|
163
179
|
return pulumi.get(self, "conditions")
|
|
164
180
|
|
|
@@ -206,22 +222,24 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
206
222
|
def __init__(__self__, *,
|
|
207
223
|
conditions: Optional[Sequence['_meta.v1.outputs.ConditionPatch']] = None,
|
|
208
224
|
data: Optional[Any] = None,
|
|
209
|
-
device: Optional[str] = None,
|
|
210
|
-
driver: Optional[str] = None,
|
|
225
|
+
device: Optional[builtins.str] = None,
|
|
226
|
+
driver: Optional[builtins.str] = None,
|
|
211
227
|
network_data: Optional['outputs.NetworkDeviceDataPatch'] = None,
|
|
212
|
-
pool: Optional[str] = None):
|
|
228
|
+
pool: Optional[builtins.str] = None):
|
|
213
229
|
"""
|
|
214
230
|
AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.
|
|
215
231
|
: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.
|
|
232
|
+
|
|
233
|
+
Must not contain more than 8 entries.
|
|
216
234
|
:param Any data: Data contains arbitrary driver-specific data.
|
|
217
235
|
|
|
218
236
|
The length of the raw data must be smaller or equal to 10 Ki.
|
|
219
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
220
|
-
: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.
|
|
237
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
238
|
+
: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.
|
|
221
239
|
|
|
222
240
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
223
241
|
:param 'NetworkDeviceDataPatchArgs' network_data: NetworkData contains network-related information specific to the device.
|
|
224
|
-
: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>`).
|
|
242
|
+
: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>`).
|
|
225
243
|
|
|
226
244
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
227
245
|
"""
|
|
@@ -243,6 +261,8 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
243
261
|
def conditions(self) -> Optional[Sequence['_meta.v1.outputs.ConditionPatch']]:
|
|
244
262
|
"""
|
|
245
263
|
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.
|
|
264
|
+
|
|
265
|
+
Must not contain more than 8 entries.
|
|
246
266
|
"""
|
|
247
267
|
return pulumi.get(self, "conditions")
|
|
248
268
|
|
|
@@ -258,7 +278,7 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
258
278
|
|
|
259
279
|
@property
|
|
260
280
|
@pulumi.getter
|
|
261
|
-
def device(self) -> Optional[str]:
|
|
281
|
+
def device(self) -> Optional[builtins.str]:
|
|
262
282
|
"""
|
|
263
283
|
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
264
284
|
"""
|
|
@@ -266,7 +286,7 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
266
286
|
|
|
267
287
|
@property
|
|
268
288
|
@pulumi.getter
|
|
269
|
-
def driver(self) -> Optional[str]:
|
|
289
|
+
def driver(self) -> Optional[builtins.str]:
|
|
270
290
|
"""
|
|
271
291
|
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.
|
|
272
292
|
|
|
@@ -284,7 +304,7 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
284
304
|
|
|
285
305
|
@property
|
|
286
306
|
@pulumi.getter
|
|
287
|
-
def pool(self) -> Optional[str]:
|
|
307
|
+
def pool(self) -> Optional[builtins.str]:
|
|
288
308
|
"""
|
|
289
309
|
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
290
310
|
|
|
@@ -402,22 +422,91 @@ class BasicDevice(dict):
|
|
|
402
422
|
"""
|
|
403
423
|
BasicDevice defines one device instance.
|
|
404
424
|
"""
|
|
425
|
+
@staticmethod
|
|
426
|
+
def __key_warning(key: str):
|
|
427
|
+
suggest = None
|
|
428
|
+
if key == "allNodes":
|
|
429
|
+
suggest = "all_nodes"
|
|
430
|
+
elif key == "consumesCounters":
|
|
431
|
+
suggest = "consumes_counters"
|
|
432
|
+
elif key == "nodeName":
|
|
433
|
+
suggest = "node_name"
|
|
434
|
+
elif key == "nodeSelector":
|
|
435
|
+
suggest = "node_selector"
|
|
436
|
+
|
|
437
|
+
if suggest:
|
|
438
|
+
pulumi.log.warn(f"Key '{key}' not found in BasicDevice. Access the value via the '{suggest}' property getter instead.")
|
|
439
|
+
|
|
440
|
+
def __getitem__(self, key: str) -> Any:
|
|
441
|
+
BasicDevice.__key_warning(key)
|
|
442
|
+
return super().__getitem__(key)
|
|
443
|
+
|
|
444
|
+
def get(self, key: str, default = None) -> Any:
|
|
445
|
+
BasicDevice.__key_warning(key)
|
|
446
|
+
return super().get(key, default)
|
|
447
|
+
|
|
405
448
|
def __init__(__self__, *,
|
|
449
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
406
450
|
attributes: Optional[Mapping[str, 'outputs.DeviceAttribute']] = None,
|
|
407
|
-
capacity: Optional[Mapping[str, 'outputs.DeviceCapacity']] = None
|
|
451
|
+
capacity: Optional[Mapping[str, 'outputs.DeviceCapacity']] = None,
|
|
452
|
+
consumes_counters: Optional[Sequence['outputs.DeviceCounterConsumption']] = None,
|
|
453
|
+
node_name: Optional[builtins.str] = None,
|
|
454
|
+
node_selector: Optional['_core.v1.outputs.NodeSelector'] = None,
|
|
455
|
+
taints: Optional[Sequence['outputs.DeviceTaint']] = None):
|
|
408
456
|
"""
|
|
409
457
|
BasicDevice defines one device instance.
|
|
458
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the device.
|
|
459
|
+
|
|
460
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
410
461
|
: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.
|
|
411
462
|
|
|
412
463
|
The maximum number of attributes and capacities combined is 32.
|
|
413
464
|
:param Mapping[str, 'DeviceCapacityArgs'] capacity: Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
414
465
|
|
|
415
466
|
The maximum number of attributes and capacities combined is 32.
|
|
467
|
+
: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.
|
|
468
|
+
|
|
469
|
+
There can only be a single entry per counterSet.
|
|
470
|
+
|
|
471
|
+
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).
|
|
472
|
+
:param builtins.str node_name: NodeName identifies the node where the device is available.
|
|
473
|
+
|
|
474
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
475
|
+
:param '_core.v1.NodeSelectorArgs' node_selector: NodeSelector defines the nodes where the device is available.
|
|
476
|
+
|
|
477
|
+
Must use exactly one term.
|
|
478
|
+
|
|
479
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
480
|
+
:param Sequence['DeviceTaintArgs'] taints: If specified, these are the driver-defined taints.
|
|
481
|
+
|
|
482
|
+
The maximum number of taints is 4.
|
|
483
|
+
|
|
484
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
416
485
|
"""
|
|
486
|
+
if all_nodes is not None:
|
|
487
|
+
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
417
488
|
if attributes is not None:
|
|
418
489
|
pulumi.set(__self__, "attributes", attributes)
|
|
419
490
|
if capacity is not None:
|
|
420
491
|
pulumi.set(__self__, "capacity", capacity)
|
|
492
|
+
if consumes_counters is not None:
|
|
493
|
+
pulumi.set(__self__, "consumes_counters", consumes_counters)
|
|
494
|
+
if node_name is not None:
|
|
495
|
+
pulumi.set(__self__, "node_name", node_name)
|
|
496
|
+
if node_selector is not None:
|
|
497
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
|
498
|
+
if taints is not None:
|
|
499
|
+
pulumi.set(__self__, "taints", taints)
|
|
500
|
+
|
|
501
|
+
@property
|
|
502
|
+
@pulumi.getter(name="allNodes")
|
|
503
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
504
|
+
"""
|
|
505
|
+
AllNodes indicates that all nodes have access to the device.
|
|
506
|
+
|
|
507
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
508
|
+
"""
|
|
509
|
+
return pulumi.get(self, "all_nodes")
|
|
421
510
|
|
|
422
511
|
@property
|
|
423
512
|
@pulumi.getter
|
|
@@ -439,28 +528,143 @@ class BasicDevice(dict):
|
|
|
439
528
|
"""
|
|
440
529
|
return pulumi.get(self, "capacity")
|
|
441
530
|
|
|
531
|
+
@property
|
|
532
|
+
@pulumi.getter(name="consumesCounters")
|
|
533
|
+
def consumes_counters(self) -> Optional[Sequence['outputs.DeviceCounterConsumption']]:
|
|
534
|
+
"""
|
|
535
|
+
ConsumesCounters defines a list of references to sharedCounters and the set of counters that the device will consume from those counter sets.
|
|
536
|
+
|
|
537
|
+
There can only be a single entry per counterSet.
|
|
538
|
+
|
|
539
|
+
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).
|
|
540
|
+
"""
|
|
541
|
+
return pulumi.get(self, "consumes_counters")
|
|
542
|
+
|
|
543
|
+
@property
|
|
544
|
+
@pulumi.getter(name="nodeName")
|
|
545
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
546
|
+
"""
|
|
547
|
+
NodeName identifies the node where the device is available.
|
|
548
|
+
|
|
549
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
550
|
+
"""
|
|
551
|
+
return pulumi.get(self, "node_name")
|
|
552
|
+
|
|
553
|
+
@property
|
|
554
|
+
@pulumi.getter(name="nodeSelector")
|
|
555
|
+
def node_selector(self) -> Optional['_core.v1.outputs.NodeSelector']:
|
|
556
|
+
"""
|
|
557
|
+
NodeSelector defines the nodes where the device is available.
|
|
558
|
+
|
|
559
|
+
Must use exactly one term.
|
|
560
|
+
|
|
561
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
562
|
+
"""
|
|
563
|
+
return pulumi.get(self, "node_selector")
|
|
564
|
+
|
|
565
|
+
@property
|
|
566
|
+
@pulumi.getter
|
|
567
|
+
def taints(self) -> Optional[Sequence['outputs.DeviceTaint']]:
|
|
568
|
+
"""
|
|
569
|
+
If specified, these are the driver-defined taints.
|
|
570
|
+
|
|
571
|
+
The maximum number of taints is 4.
|
|
572
|
+
|
|
573
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
574
|
+
"""
|
|
575
|
+
return pulumi.get(self, "taints")
|
|
576
|
+
|
|
442
577
|
|
|
443
578
|
@pulumi.output_type
|
|
444
579
|
class BasicDevicePatch(dict):
|
|
445
580
|
"""
|
|
446
581
|
BasicDevice defines one device instance.
|
|
447
582
|
"""
|
|
583
|
+
@staticmethod
|
|
584
|
+
def __key_warning(key: str):
|
|
585
|
+
suggest = None
|
|
586
|
+
if key == "allNodes":
|
|
587
|
+
suggest = "all_nodes"
|
|
588
|
+
elif key == "consumesCounters":
|
|
589
|
+
suggest = "consumes_counters"
|
|
590
|
+
elif key == "nodeName":
|
|
591
|
+
suggest = "node_name"
|
|
592
|
+
elif key == "nodeSelector":
|
|
593
|
+
suggest = "node_selector"
|
|
594
|
+
|
|
595
|
+
if suggest:
|
|
596
|
+
pulumi.log.warn(f"Key '{key}' not found in BasicDevicePatch. Access the value via the '{suggest}' property getter instead.")
|
|
597
|
+
|
|
598
|
+
def __getitem__(self, key: str) -> Any:
|
|
599
|
+
BasicDevicePatch.__key_warning(key)
|
|
600
|
+
return super().__getitem__(key)
|
|
601
|
+
|
|
602
|
+
def get(self, key: str, default = None) -> Any:
|
|
603
|
+
BasicDevicePatch.__key_warning(key)
|
|
604
|
+
return super().get(key, default)
|
|
605
|
+
|
|
448
606
|
def __init__(__self__, *,
|
|
607
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
449
608
|
attributes: Optional[Mapping[str, 'outputs.DeviceAttribute']] = None,
|
|
450
|
-
capacity: Optional[Mapping[str, 'outputs.DeviceCapacity']] = None
|
|
609
|
+
capacity: Optional[Mapping[str, 'outputs.DeviceCapacity']] = None,
|
|
610
|
+
consumes_counters: Optional[Sequence['outputs.DeviceCounterConsumptionPatch']] = None,
|
|
611
|
+
node_name: Optional[builtins.str] = None,
|
|
612
|
+
node_selector: Optional['_core.v1.outputs.NodeSelectorPatch'] = None,
|
|
613
|
+
taints: Optional[Sequence['outputs.DeviceTaintPatch']] = None):
|
|
451
614
|
"""
|
|
452
615
|
BasicDevice defines one device instance.
|
|
616
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the device.
|
|
617
|
+
|
|
618
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
453
619
|
: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.
|
|
454
620
|
|
|
455
621
|
The maximum number of attributes and capacities combined is 32.
|
|
456
622
|
:param Mapping[str, 'DeviceCapacityArgs'] capacity: Capacity defines the set of capacities for this device. The name of each capacity must be unique in that set.
|
|
457
623
|
|
|
458
624
|
The maximum number of attributes and capacities combined is 32.
|
|
625
|
+
: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.
|
|
626
|
+
|
|
627
|
+
There can only be a single entry per counterSet.
|
|
628
|
+
|
|
629
|
+
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).
|
|
630
|
+
:param builtins.str node_name: NodeName identifies the node where the device is available.
|
|
631
|
+
|
|
632
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
633
|
+
:param '_core.v1.NodeSelectorPatchArgs' node_selector: NodeSelector defines the nodes where the device is available.
|
|
634
|
+
|
|
635
|
+
Must use exactly one term.
|
|
636
|
+
|
|
637
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
638
|
+
:param Sequence['DeviceTaintPatchArgs'] taints: If specified, these are the driver-defined taints.
|
|
639
|
+
|
|
640
|
+
The maximum number of taints is 4.
|
|
641
|
+
|
|
642
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
459
643
|
"""
|
|
644
|
+
if all_nodes is not None:
|
|
645
|
+
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
460
646
|
if attributes is not None:
|
|
461
647
|
pulumi.set(__self__, "attributes", attributes)
|
|
462
648
|
if capacity is not None:
|
|
463
649
|
pulumi.set(__self__, "capacity", capacity)
|
|
650
|
+
if consumes_counters is not None:
|
|
651
|
+
pulumi.set(__self__, "consumes_counters", consumes_counters)
|
|
652
|
+
if node_name is not None:
|
|
653
|
+
pulumi.set(__self__, "node_name", node_name)
|
|
654
|
+
if node_selector is not None:
|
|
655
|
+
pulumi.set(__self__, "node_selector", node_selector)
|
|
656
|
+
if taints is not None:
|
|
657
|
+
pulumi.set(__self__, "taints", taints)
|
|
658
|
+
|
|
659
|
+
@property
|
|
660
|
+
@pulumi.getter(name="allNodes")
|
|
661
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
662
|
+
"""
|
|
663
|
+
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.
|
|
666
|
+
"""
|
|
667
|
+
return pulumi.get(self, "all_nodes")
|
|
464
668
|
|
|
465
669
|
@property
|
|
466
670
|
@pulumi.getter
|
|
@@ -482,6 +686,52 @@ class BasicDevicePatch(dict):
|
|
|
482
686
|
"""
|
|
483
687
|
return pulumi.get(self, "capacity")
|
|
484
688
|
|
|
689
|
+
@property
|
|
690
|
+
@pulumi.getter(name="consumesCounters")
|
|
691
|
+
def consumes_counters(self) -> Optional[Sequence['outputs.DeviceCounterConsumptionPatch']]:
|
|
692
|
+
"""
|
|
693
|
+
ConsumesCounters defines a list of references to sharedCounters and the set of counters that the device will consume from those counter sets.
|
|
694
|
+
|
|
695
|
+
There can only be a single entry per counterSet.
|
|
696
|
+
|
|
697
|
+
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).
|
|
698
|
+
"""
|
|
699
|
+
return pulumi.get(self, "consumes_counters")
|
|
700
|
+
|
|
701
|
+
@property
|
|
702
|
+
@pulumi.getter(name="nodeName")
|
|
703
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
704
|
+
"""
|
|
705
|
+
NodeName identifies the node where the device is available.
|
|
706
|
+
|
|
707
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
708
|
+
"""
|
|
709
|
+
return pulumi.get(self, "node_name")
|
|
710
|
+
|
|
711
|
+
@property
|
|
712
|
+
@pulumi.getter(name="nodeSelector")
|
|
713
|
+
def node_selector(self) -> Optional['_core.v1.outputs.NodeSelectorPatch']:
|
|
714
|
+
"""
|
|
715
|
+
NodeSelector defines the nodes where the device is available.
|
|
716
|
+
|
|
717
|
+
Must use exactly one term.
|
|
718
|
+
|
|
719
|
+
Must only be set if Spec.PerDeviceNodeSelection is set to true. At most one of NodeName, NodeSelector and AllNodes can be set.
|
|
720
|
+
"""
|
|
721
|
+
return pulumi.get(self, "node_selector")
|
|
722
|
+
|
|
723
|
+
@property
|
|
724
|
+
@pulumi.getter
|
|
725
|
+
def taints(self) -> Optional[Sequence['outputs.DeviceTaintPatch']]:
|
|
726
|
+
"""
|
|
727
|
+
If specified, these are the driver-defined taints.
|
|
728
|
+
|
|
729
|
+
The maximum number of taints is 4.
|
|
730
|
+
|
|
731
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
732
|
+
"""
|
|
733
|
+
return pulumi.get(self, "taints")
|
|
734
|
+
|
|
485
735
|
|
|
486
736
|
@pulumi.output_type
|
|
487
737
|
class CELDeviceSelector(dict):
|
|
@@ -489,10 +739,10 @@ class CELDeviceSelector(dict):
|
|
|
489
739
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
490
740
|
"""
|
|
491
741
|
def __init__(__self__, *,
|
|
492
|
-
expression: str):
|
|
742
|
+
expression: builtins.str):
|
|
493
743
|
"""
|
|
494
744
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
495
|
-
: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.
|
|
745
|
+
: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.
|
|
496
746
|
|
|
497
747
|
The expression's input is an object named "device", which carries the following properties:
|
|
498
748
|
- driver (string): the name of the driver which defines this device.
|
|
@@ -526,7 +776,7 @@ class CELDeviceSelector(dict):
|
|
|
526
776
|
|
|
527
777
|
@property
|
|
528
778
|
@pulumi.getter
|
|
529
|
-
def expression(self) -> str:
|
|
779
|
+
def expression(self) -> builtins.str:
|
|
530
780
|
"""
|
|
531
781
|
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.
|
|
532
782
|
|
|
@@ -567,10 +817,10 @@ class CELDeviceSelectorPatch(dict):
|
|
|
567
817
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
568
818
|
"""
|
|
569
819
|
def __init__(__self__, *,
|
|
570
|
-
expression: Optional[str] = None):
|
|
820
|
+
expression: Optional[builtins.str] = None):
|
|
571
821
|
"""
|
|
572
822
|
CELDeviceSelector contains a CEL expression for selecting a device.
|
|
573
|
-
: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.
|
|
823
|
+
: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.
|
|
574
824
|
|
|
575
825
|
The expression's input is an object named "device", which carries the following properties:
|
|
576
826
|
- driver (string): the name of the driver which defines this device.
|
|
@@ -605,7 +855,7 @@ class CELDeviceSelectorPatch(dict):
|
|
|
605
855
|
|
|
606
856
|
@property
|
|
607
857
|
@pulumi.getter
|
|
608
|
-
def expression(self) -> Optional[str]:
|
|
858
|
+
def expression(self) -> Optional[builtins.str]:
|
|
609
859
|
"""
|
|
610
860
|
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.
|
|
611
861
|
|
|
@@ -640,17 +890,123 @@ class CELDeviceSelectorPatch(dict):
|
|
|
640
890
|
return pulumi.get(self, "expression")
|
|
641
891
|
|
|
642
892
|
|
|
893
|
+
@pulumi.output_type
|
|
894
|
+
class Counter(dict):
|
|
895
|
+
"""
|
|
896
|
+
Counter describes a quantity associated with a device.
|
|
897
|
+
"""
|
|
898
|
+
def __init__(__self__, *,
|
|
899
|
+
value: builtins.str):
|
|
900
|
+
"""
|
|
901
|
+
Counter describes a quantity associated with a device.
|
|
902
|
+
:param builtins.str value: Value defines how much of a certain device counter is available.
|
|
903
|
+
"""
|
|
904
|
+
pulumi.set(__self__, "value", value)
|
|
905
|
+
|
|
906
|
+
@property
|
|
907
|
+
@pulumi.getter
|
|
908
|
+
def value(self) -> builtins.str:
|
|
909
|
+
"""
|
|
910
|
+
Value defines how much of a certain device counter is available.
|
|
911
|
+
"""
|
|
912
|
+
return pulumi.get(self, "value")
|
|
913
|
+
|
|
914
|
+
|
|
915
|
+
@pulumi.output_type
|
|
916
|
+
class CounterSet(dict):
|
|
917
|
+
"""
|
|
918
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
919
|
+
|
|
920
|
+
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.
|
|
921
|
+
"""
|
|
922
|
+
def __init__(__self__, *,
|
|
923
|
+
counters: Mapping[str, 'outputs.Counter'],
|
|
924
|
+
name: builtins.str):
|
|
925
|
+
"""
|
|
926
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
927
|
+
|
|
928
|
+
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.
|
|
929
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the set of counters for this CounterSet The name of each counter must be unique in that set and must be a DNS label.
|
|
930
|
+
|
|
931
|
+
The maximum number of counters is 32.
|
|
932
|
+
:param builtins.str name: Name defines the name of the counter set. It must be a DNS label.
|
|
933
|
+
"""
|
|
934
|
+
pulumi.set(__self__, "counters", counters)
|
|
935
|
+
pulumi.set(__self__, "name", name)
|
|
936
|
+
|
|
937
|
+
@property
|
|
938
|
+
@pulumi.getter
|
|
939
|
+
def counters(self) -> Mapping[str, 'outputs.Counter']:
|
|
940
|
+
"""
|
|
941
|
+
Counters defines the set of counters for this CounterSet The name of each counter must be unique in that set and must be a DNS label.
|
|
942
|
+
|
|
943
|
+
The maximum number of counters is 32.
|
|
944
|
+
"""
|
|
945
|
+
return pulumi.get(self, "counters")
|
|
946
|
+
|
|
947
|
+
@property
|
|
948
|
+
@pulumi.getter
|
|
949
|
+
def name(self) -> builtins.str:
|
|
950
|
+
"""
|
|
951
|
+
Name defines the name of the counter set. It must be a DNS label.
|
|
952
|
+
"""
|
|
953
|
+
return pulumi.get(self, "name")
|
|
954
|
+
|
|
955
|
+
|
|
956
|
+
@pulumi.output_type
|
|
957
|
+
class CounterSetPatch(dict):
|
|
958
|
+
"""
|
|
959
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
960
|
+
|
|
961
|
+
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.
|
|
962
|
+
"""
|
|
963
|
+
def __init__(__self__, *,
|
|
964
|
+
counters: Optional[Mapping[str, 'outputs.Counter']] = None,
|
|
965
|
+
name: Optional[builtins.str] = None):
|
|
966
|
+
"""
|
|
967
|
+
CounterSet defines a named set of counters that are available to be used by devices defined in the ResourceSlice.
|
|
968
|
+
|
|
969
|
+
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.
|
|
970
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the set of counters for this CounterSet The name of each counter must be unique in that set and must be a DNS label.
|
|
971
|
+
|
|
972
|
+
The maximum number of counters is 32.
|
|
973
|
+
:param builtins.str name: Name defines the name of the counter set. It must be a DNS label.
|
|
974
|
+
"""
|
|
975
|
+
if counters is not None:
|
|
976
|
+
pulumi.set(__self__, "counters", counters)
|
|
977
|
+
if name is not None:
|
|
978
|
+
pulumi.set(__self__, "name", name)
|
|
979
|
+
|
|
980
|
+
@property
|
|
981
|
+
@pulumi.getter
|
|
982
|
+
def counters(self) -> Optional[Mapping[str, 'outputs.Counter']]:
|
|
983
|
+
"""
|
|
984
|
+
Counters defines the set of counters for this CounterSet The name of each counter must be unique in that set and must be a DNS label.
|
|
985
|
+
|
|
986
|
+
The maximum number of counters is 32.
|
|
987
|
+
"""
|
|
988
|
+
return pulumi.get(self, "counters")
|
|
989
|
+
|
|
990
|
+
@property
|
|
991
|
+
@pulumi.getter
|
|
992
|
+
def name(self) -> Optional[builtins.str]:
|
|
993
|
+
"""
|
|
994
|
+
Name defines the name of the counter set. It must be a DNS label.
|
|
995
|
+
"""
|
|
996
|
+
return pulumi.get(self, "name")
|
|
997
|
+
|
|
998
|
+
|
|
643
999
|
@pulumi.output_type
|
|
644
1000
|
class Device(dict):
|
|
645
1001
|
"""
|
|
646
1002
|
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
647
1003
|
"""
|
|
648
1004
|
def __init__(__self__, *,
|
|
649
|
-
name: str,
|
|
1005
|
+
name: builtins.str,
|
|
650
1006
|
basic: Optional['outputs.BasicDevice'] = None):
|
|
651
1007
|
"""
|
|
652
1008
|
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
653
|
-
:param str name: Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
1009
|
+
:param builtins.str name: Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
654
1010
|
:param 'BasicDeviceArgs' basic: Basic defines one device instance.
|
|
655
1011
|
"""
|
|
656
1012
|
pulumi.set(__self__, "name", name)
|
|
@@ -659,7 +1015,7 @@ class Device(dict):
|
|
|
659
1015
|
|
|
660
1016
|
@property
|
|
661
1017
|
@pulumi.getter
|
|
662
|
-
def name(self) -> str:
|
|
1018
|
+
def name(self) -> builtins.str:
|
|
663
1019
|
"""
|
|
664
1020
|
Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
665
1021
|
"""
|
|
@@ -680,14 +1036,16 @@ class DeviceAllocationConfiguration(dict):
|
|
|
680
1036
|
DeviceAllocationConfiguration gets embedded in an AllocationResult.
|
|
681
1037
|
"""
|
|
682
1038
|
def __init__(__self__, *,
|
|
683
|
-
source: str,
|
|
1039
|
+
source: builtins.str,
|
|
684
1040
|
opaque: Optional['outputs.OpaqueDeviceConfiguration'] = None,
|
|
685
|
-
requests: Optional[Sequence[str]] = None):
|
|
1041
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
686
1042
|
"""
|
|
687
1043
|
DeviceAllocationConfiguration gets embedded in an AllocationResult.
|
|
688
|
-
: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.
|
|
1044
|
+
: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.
|
|
689
1045
|
:param 'OpaqueDeviceConfigurationArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
690
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1046
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1047
|
+
|
|
1048
|
+
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.
|
|
691
1049
|
"""
|
|
692
1050
|
pulumi.set(__self__, "source", source)
|
|
693
1051
|
if opaque is not None:
|
|
@@ -697,7 +1055,7 @@ class DeviceAllocationConfiguration(dict):
|
|
|
697
1055
|
|
|
698
1056
|
@property
|
|
699
1057
|
@pulumi.getter
|
|
700
|
-
def source(self) -> str:
|
|
1058
|
+
def source(self) -> builtins.str:
|
|
701
1059
|
"""
|
|
702
1060
|
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.
|
|
703
1061
|
"""
|
|
@@ -713,9 +1071,11 @@ class DeviceAllocationConfiguration(dict):
|
|
|
713
1071
|
|
|
714
1072
|
@property
|
|
715
1073
|
@pulumi.getter
|
|
716
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1074
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
717
1075
|
"""
|
|
718
1076
|
Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1077
|
+
|
|
1078
|
+
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.
|
|
719
1079
|
"""
|
|
720
1080
|
return pulumi.get(self, "requests")
|
|
721
1081
|
|
|
@@ -727,13 +1087,15 @@ class DeviceAllocationConfigurationPatch(dict):
|
|
|
727
1087
|
"""
|
|
728
1088
|
def __init__(__self__, *,
|
|
729
1089
|
opaque: Optional['outputs.OpaqueDeviceConfigurationPatch'] = None,
|
|
730
|
-
requests: Optional[Sequence[str]] = None,
|
|
731
|
-
source: Optional[str] = None):
|
|
1090
|
+
requests: Optional[Sequence[builtins.str]] = None,
|
|
1091
|
+
source: Optional[builtins.str] = None):
|
|
732
1092
|
"""
|
|
733
1093
|
DeviceAllocationConfiguration gets embedded in an AllocationResult.
|
|
734
1094
|
:param 'OpaqueDeviceConfigurationPatchArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
735
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
736
|
-
|
|
1095
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1096
|
+
|
|
1097
|
+
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.
|
|
1098
|
+
: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.
|
|
737
1099
|
"""
|
|
738
1100
|
if opaque is not None:
|
|
739
1101
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -752,15 +1114,17 @@ class DeviceAllocationConfigurationPatch(dict):
|
|
|
752
1114
|
|
|
753
1115
|
@property
|
|
754
1116
|
@pulumi.getter
|
|
755
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1117
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
756
1118
|
"""
|
|
757
1119
|
Requests lists the names of requests where the configuration applies. If empty, its applies to all requests.
|
|
1120
|
+
|
|
1121
|
+
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.
|
|
758
1122
|
"""
|
|
759
1123
|
return pulumi.get(self, "requests")
|
|
760
1124
|
|
|
761
1125
|
@property
|
|
762
1126
|
@pulumi.getter
|
|
763
|
-
def source(self) -> Optional[str]:
|
|
1127
|
+
def source(self) -> Optional[builtins.str]:
|
|
764
1128
|
"""
|
|
765
1129
|
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.
|
|
766
1130
|
"""
|
|
@@ -851,16 +1215,16 @@ class DeviceAttribute(dict):
|
|
|
851
1215
|
DeviceAttribute must have exactly one field set.
|
|
852
1216
|
"""
|
|
853
1217
|
def __init__(__self__, *,
|
|
854
|
-
bool: Optional[bool] = None,
|
|
855
|
-
int: Optional[int] = None,
|
|
856
|
-
string: Optional[str] = None,
|
|
857
|
-
version: Optional[str] = None):
|
|
1218
|
+
bool: Optional[builtins.bool] = None,
|
|
1219
|
+
int: Optional[builtins.int] = None,
|
|
1220
|
+
string: Optional[builtins.str] = None,
|
|
1221
|
+
version: Optional[builtins.str] = None):
|
|
858
1222
|
"""
|
|
859
1223
|
DeviceAttribute must have exactly one field set.
|
|
860
|
-
:param bool bool: BoolValue is a true/false value.
|
|
861
|
-
:param int int: IntValue is a number.
|
|
862
|
-
:param str string: StringValue is a string. Must not be longer than 64 characters.
|
|
863
|
-
:param str version: VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.
|
|
1224
|
+
:param builtins.bool bool: BoolValue is a true/false value.
|
|
1225
|
+
:param builtins.int int: IntValue is a number.
|
|
1226
|
+
:param builtins.str string: StringValue is a string. Must not be longer than 64 characters.
|
|
1227
|
+
:param builtins.str version: VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.
|
|
864
1228
|
"""
|
|
865
1229
|
if bool is not None:
|
|
866
1230
|
pulumi.set(__self__, "bool", bool)
|
|
@@ -873,7 +1237,7 @@ class DeviceAttribute(dict):
|
|
|
873
1237
|
|
|
874
1238
|
@property
|
|
875
1239
|
@pulumi.getter
|
|
876
|
-
def bool(self) -> Optional[bool]:
|
|
1240
|
+
def bool(self) -> Optional[builtins.bool]:
|
|
877
1241
|
"""
|
|
878
1242
|
BoolValue is a true/false value.
|
|
879
1243
|
"""
|
|
@@ -881,7 +1245,7 @@ class DeviceAttribute(dict):
|
|
|
881
1245
|
|
|
882
1246
|
@property
|
|
883
1247
|
@pulumi.getter
|
|
884
|
-
def int(self) -> Optional[int]:
|
|
1248
|
+
def int(self) -> Optional[builtins.int]:
|
|
885
1249
|
"""
|
|
886
1250
|
IntValue is a number.
|
|
887
1251
|
"""
|
|
@@ -889,7 +1253,7 @@ class DeviceAttribute(dict):
|
|
|
889
1253
|
|
|
890
1254
|
@property
|
|
891
1255
|
@pulumi.getter
|
|
892
|
-
def string(self) -> Optional[str]:
|
|
1256
|
+
def string(self) -> Optional[builtins.str]:
|
|
893
1257
|
"""
|
|
894
1258
|
StringValue is a string. Must not be longer than 64 characters.
|
|
895
1259
|
"""
|
|
@@ -897,7 +1261,7 @@ class DeviceAttribute(dict):
|
|
|
897
1261
|
|
|
898
1262
|
@property
|
|
899
1263
|
@pulumi.getter
|
|
900
|
-
def version(self) -> Optional[str]:
|
|
1264
|
+
def version(self) -> Optional[builtins.str]:
|
|
901
1265
|
"""
|
|
902
1266
|
VersionValue is a semantic version according to semver.org spec 2.0.0. Must not be longer than 64 characters.
|
|
903
1267
|
"""
|
|
@@ -910,16 +1274,16 @@ class DeviceCapacity(dict):
|
|
|
910
1274
|
DeviceCapacity describes a quantity associated with a device.
|
|
911
1275
|
"""
|
|
912
1276
|
def __init__(__self__, *,
|
|
913
|
-
value: str):
|
|
1277
|
+
value: builtins.str):
|
|
914
1278
|
"""
|
|
915
1279
|
DeviceCapacity describes a quantity associated with a device.
|
|
916
|
-
:param str value: Value defines how much of a certain device capacity is available.
|
|
1280
|
+
:param builtins.str value: Value defines how much of a certain device capacity is available.
|
|
917
1281
|
"""
|
|
918
1282
|
pulumi.set(__self__, "value", value)
|
|
919
1283
|
|
|
920
1284
|
@property
|
|
921
1285
|
@pulumi.getter
|
|
922
|
-
def value(self) -> str:
|
|
1286
|
+
def value(self) -> builtins.str:
|
|
923
1287
|
"""
|
|
924
1288
|
Value defines how much of a certain device capacity is available.
|
|
925
1289
|
"""
|
|
@@ -980,11 +1344,13 @@ class DeviceClaimConfiguration(dict):
|
|
|
980
1344
|
"""
|
|
981
1345
|
def __init__(__self__, *,
|
|
982
1346
|
opaque: Optional['outputs.OpaqueDeviceConfiguration'] = None,
|
|
983
|
-
requests: Optional[Sequence[str]] = None):
|
|
1347
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
984
1348
|
"""
|
|
985
1349
|
DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.
|
|
986
1350
|
:param 'OpaqueDeviceConfigurationArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
987
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1351
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1352
|
+
|
|
1353
|
+
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.
|
|
988
1354
|
"""
|
|
989
1355
|
if opaque is not None:
|
|
990
1356
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -1001,9 +1367,11 @@ class DeviceClaimConfiguration(dict):
|
|
|
1001
1367
|
|
|
1002
1368
|
@property
|
|
1003
1369
|
@pulumi.getter
|
|
1004
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1370
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1005
1371
|
"""
|
|
1006
1372
|
Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1373
|
+
|
|
1374
|
+
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.
|
|
1007
1375
|
"""
|
|
1008
1376
|
return pulumi.get(self, "requests")
|
|
1009
1377
|
|
|
@@ -1015,11 +1383,13 @@ class DeviceClaimConfigurationPatch(dict):
|
|
|
1015
1383
|
"""
|
|
1016
1384
|
def __init__(__self__, *,
|
|
1017
1385
|
opaque: Optional['outputs.OpaqueDeviceConfigurationPatch'] = None,
|
|
1018
|
-
requests: Optional[Sequence[str]] = None):
|
|
1386
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
1019
1387
|
"""
|
|
1020
1388
|
DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.
|
|
1021
1389
|
:param 'OpaqueDeviceConfigurationPatchArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
1022
|
-
:param Sequence[str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1390
|
+
:param Sequence[builtins.str] requests: Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1391
|
+
|
|
1392
|
+
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.
|
|
1023
1393
|
"""
|
|
1024
1394
|
if opaque is not None:
|
|
1025
1395
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -1036,9 +1406,11 @@ class DeviceClaimConfigurationPatch(dict):
|
|
|
1036
1406
|
|
|
1037
1407
|
@property
|
|
1038
1408
|
@pulumi.getter
|
|
1039
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1409
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1040
1410
|
"""
|
|
1041
1411
|
Requests lists the names of requests where the configuration applies. If empty, it applies to all requests.
|
|
1412
|
+
|
|
1413
|
+
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.
|
|
1042
1414
|
"""
|
|
1043
1415
|
return pulumi.get(self, "requests")
|
|
1044
1416
|
|
|
@@ -1116,8 +1488,8 @@ class DeviceClass(dict):
|
|
|
1116
1488
|
|
|
1117
1489
|
def __init__(__self__, *,
|
|
1118
1490
|
spec: 'outputs.DeviceClassSpec',
|
|
1119
|
-
api_version: Optional[str] = None,
|
|
1120
|
-
kind: Optional[str] = None,
|
|
1491
|
+
api_version: Optional[builtins.str] = None,
|
|
1492
|
+
kind: Optional[builtins.str] = None,
|
|
1121
1493
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None):
|
|
1122
1494
|
"""
|
|
1123
1495
|
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.
|
|
@@ -1128,8 +1500,8 @@ class DeviceClass(dict):
|
|
|
1128
1500
|
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.
|
|
1129
1501
|
|
|
1130
1502
|
Changing the spec automatically increments the metadata.generation number.
|
|
1131
|
-
: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
|
|
1132
|
-
: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
|
|
1503
|
+
: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
|
|
1504
|
+
: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
|
|
1133
1505
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
1134
1506
|
"""
|
|
1135
1507
|
pulumi.set(__self__, "spec", spec)
|
|
@@ -1154,7 +1526,7 @@ class DeviceClass(dict):
|
|
|
1154
1526
|
|
|
1155
1527
|
@property
|
|
1156
1528
|
@pulumi.getter(name="apiVersion")
|
|
1157
|
-
def api_version(self) -> Optional[str]:
|
|
1529
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
1158
1530
|
"""
|
|
1159
1531
|
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
|
|
1160
1532
|
"""
|
|
@@ -1162,7 +1534,7 @@ class DeviceClass(dict):
|
|
|
1162
1534
|
|
|
1163
1535
|
@property
|
|
1164
1536
|
@pulumi.getter
|
|
1165
|
-
def kind(self) -> Optional[str]:
|
|
1537
|
+
def kind(self) -> Optional[builtins.str]:
|
|
1166
1538
|
"""
|
|
1167
1539
|
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
|
|
1168
1540
|
"""
|
|
@@ -1324,16 +1696,18 @@ class DeviceConstraint(dict):
|
|
|
1324
1696
|
return super().get(key, default)
|
|
1325
1697
|
|
|
1326
1698
|
def __init__(__self__, *,
|
|
1327
|
-
match_attribute: Optional[str] = None,
|
|
1328
|
-
requests: Optional[Sequence[str]] = None):
|
|
1699
|
+
match_attribute: Optional[builtins.str] = None,
|
|
1700
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
1329
1701
|
"""
|
|
1330
1702
|
DeviceConstraint must have exactly one field set besides Requests.
|
|
1331
|
-
: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.
|
|
1703
|
+
: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.
|
|
1332
1704
|
|
|
1333
1705
|
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.
|
|
1334
1706
|
|
|
1335
1707
|
Must include the domain qualifier.
|
|
1336
|
-
: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.
|
|
1708
|
+
: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.
|
|
1709
|
+
|
|
1710
|
+
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.
|
|
1337
1711
|
"""
|
|
1338
1712
|
if match_attribute is not None:
|
|
1339
1713
|
pulumi.set(__self__, "match_attribute", match_attribute)
|
|
@@ -1342,7 +1716,7 @@ class DeviceConstraint(dict):
|
|
|
1342
1716
|
|
|
1343
1717
|
@property
|
|
1344
1718
|
@pulumi.getter(name="matchAttribute")
|
|
1345
|
-
def match_attribute(self) -> Optional[str]:
|
|
1719
|
+
def match_attribute(self) -> Optional[builtins.str]:
|
|
1346
1720
|
"""
|
|
1347
1721
|
MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1348
1722
|
|
|
@@ -1354,9 +1728,11 @@ class DeviceConstraint(dict):
|
|
|
1354
1728
|
|
|
1355
1729
|
@property
|
|
1356
1730
|
@pulumi.getter
|
|
1357
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1731
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1358
1732
|
"""
|
|
1359
1733
|
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.
|
|
1734
|
+
|
|
1735
|
+
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.
|
|
1360
1736
|
"""
|
|
1361
1737
|
return pulumi.get(self, "requests")
|
|
1362
1738
|
|
|
@@ -1384,16 +1760,18 @@ class DeviceConstraintPatch(dict):
|
|
|
1384
1760
|
return super().get(key, default)
|
|
1385
1761
|
|
|
1386
1762
|
def __init__(__self__, *,
|
|
1387
|
-
match_attribute: Optional[str] = None,
|
|
1388
|
-
requests: Optional[Sequence[str]] = None):
|
|
1763
|
+
match_attribute: Optional[builtins.str] = None,
|
|
1764
|
+
requests: Optional[Sequence[builtins.str]] = None):
|
|
1389
1765
|
"""
|
|
1390
1766
|
DeviceConstraint must have exactly one field set besides Requests.
|
|
1391
|
-
: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.
|
|
1767
|
+
: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.
|
|
1392
1768
|
|
|
1393
1769
|
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.
|
|
1394
1770
|
|
|
1395
1771
|
Must include the domain qualifier.
|
|
1396
|
-
: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.
|
|
1772
|
+
: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.
|
|
1773
|
+
|
|
1774
|
+
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.
|
|
1397
1775
|
"""
|
|
1398
1776
|
if match_attribute is not None:
|
|
1399
1777
|
pulumi.set(__self__, "match_attribute", match_attribute)
|
|
@@ -1402,7 +1780,7 @@ class DeviceConstraintPatch(dict):
|
|
|
1402
1780
|
|
|
1403
1781
|
@property
|
|
1404
1782
|
@pulumi.getter(name="matchAttribute")
|
|
1405
|
-
def match_attribute(self) -> Optional[str]:
|
|
1783
|
+
def match_attribute(self) -> Optional[builtins.str]:
|
|
1406
1784
|
"""
|
|
1407
1785
|
MatchAttribute requires that all devices in question have this attribute and that its type and value are the same across those devices.
|
|
1408
1786
|
|
|
@@ -1414,64 +1792,176 @@ class DeviceConstraintPatch(dict):
|
|
|
1414
1792
|
|
|
1415
1793
|
@property
|
|
1416
1794
|
@pulumi.getter
|
|
1417
|
-
def requests(self) -> Optional[Sequence[str]]:
|
|
1795
|
+
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1418
1796
|
"""
|
|
1419
1797
|
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.
|
|
1798
|
+
|
|
1799
|
+
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.
|
|
1420
1800
|
"""
|
|
1421
1801
|
return pulumi.get(self, "requests")
|
|
1422
1802
|
|
|
1423
1803
|
|
|
1424
1804
|
@pulumi.output_type
|
|
1425
|
-
class
|
|
1805
|
+
class DeviceCounterConsumption(dict):
|
|
1426
1806
|
"""
|
|
1427
|
-
|
|
1807
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1428
1808
|
"""
|
|
1809
|
+
@staticmethod
|
|
1810
|
+
def __key_warning(key: str):
|
|
1811
|
+
suggest = None
|
|
1812
|
+
if key == "counterSet":
|
|
1813
|
+
suggest = "counter_set"
|
|
1814
|
+
|
|
1815
|
+
if suggest:
|
|
1816
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceCounterConsumption. Access the value via the '{suggest}' property getter instead.")
|
|
1817
|
+
|
|
1818
|
+
def __getitem__(self, key: str) -> Any:
|
|
1819
|
+
DeviceCounterConsumption.__key_warning(key)
|
|
1820
|
+
return super().__getitem__(key)
|
|
1821
|
+
|
|
1822
|
+
def get(self, key: str, default = None) -> Any:
|
|
1823
|
+
DeviceCounterConsumption.__key_warning(key)
|
|
1824
|
+
return super().get(key, default)
|
|
1825
|
+
|
|
1429
1826
|
def __init__(__self__, *,
|
|
1430
|
-
|
|
1431
|
-
|
|
1827
|
+
counter_set: builtins.str,
|
|
1828
|
+
counters: Mapping[str, 'outputs.Counter']):
|
|
1432
1829
|
"""
|
|
1433
|
-
|
|
1434
|
-
:param
|
|
1435
|
-
:param str
|
|
1830
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1831
|
+
:param builtins.str counter_set: CounterSet is the name of the set from which the counters defined will be consumed.
|
|
1832
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the counters that will be consumed by the device.
|
|
1833
|
+
|
|
1834
|
+
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).
|
|
1436
1835
|
"""
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
if name is not None:
|
|
1440
|
-
pulumi.set(__self__, "name", name)
|
|
1836
|
+
pulumi.set(__self__, "counter_set", counter_set)
|
|
1837
|
+
pulumi.set(__self__, "counters", counters)
|
|
1441
1838
|
|
|
1442
1839
|
@property
|
|
1443
|
-
@pulumi.getter
|
|
1444
|
-
def
|
|
1840
|
+
@pulumi.getter(name="counterSet")
|
|
1841
|
+
def counter_set(self) -> builtins.str:
|
|
1445
1842
|
"""
|
|
1446
|
-
|
|
1843
|
+
CounterSet is the name of the set from which the counters defined will be consumed.
|
|
1447
1844
|
"""
|
|
1448
|
-
return pulumi.get(self, "
|
|
1845
|
+
return pulumi.get(self, "counter_set")
|
|
1449
1846
|
|
|
1450
1847
|
@property
|
|
1451
1848
|
@pulumi.getter
|
|
1452
|
-
def
|
|
1849
|
+
def counters(self) -> Mapping[str, 'outputs.Counter']:
|
|
1453
1850
|
"""
|
|
1454
|
-
|
|
1851
|
+
Counters defines the counters that will be consumed by the device.
|
|
1852
|
+
|
|
1853
|
+
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).
|
|
1455
1854
|
"""
|
|
1456
|
-
return pulumi.get(self, "
|
|
1855
|
+
return pulumi.get(self, "counters")
|
|
1457
1856
|
|
|
1458
1857
|
|
|
1459
1858
|
@pulumi.output_type
|
|
1460
|
-
class
|
|
1859
|
+
class DeviceCounterConsumptionPatch(dict):
|
|
1461
1860
|
"""
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
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.
|
|
1861
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1465
1862
|
"""
|
|
1466
1863
|
@staticmethod
|
|
1467
1864
|
def __key_warning(key: str):
|
|
1468
1865
|
suggest = None
|
|
1469
|
-
if key == "
|
|
1470
|
-
suggest = "
|
|
1471
|
-
|
|
1472
|
-
|
|
1866
|
+
if key == "counterSet":
|
|
1867
|
+
suggest = "counter_set"
|
|
1868
|
+
|
|
1869
|
+
if suggest:
|
|
1870
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceCounterConsumptionPatch. Access the value via the '{suggest}' property getter instead.")
|
|
1871
|
+
|
|
1872
|
+
def __getitem__(self, key: str) -> Any:
|
|
1873
|
+
DeviceCounterConsumptionPatch.__key_warning(key)
|
|
1874
|
+
return super().__getitem__(key)
|
|
1875
|
+
|
|
1876
|
+
def get(self, key: str, default = None) -> Any:
|
|
1877
|
+
DeviceCounterConsumptionPatch.__key_warning(key)
|
|
1878
|
+
return super().get(key, default)
|
|
1879
|
+
|
|
1880
|
+
def __init__(__self__, *,
|
|
1881
|
+
counter_set: Optional[builtins.str] = None,
|
|
1882
|
+
counters: Optional[Mapping[str, 'outputs.Counter']] = None):
|
|
1883
|
+
"""
|
|
1884
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1885
|
+
:param builtins.str counter_set: CounterSet is the name of the set from which the counters defined will be consumed.
|
|
1886
|
+
:param Mapping[str, 'CounterArgs'] counters: Counters defines the counters that will be consumed by the device.
|
|
1887
|
+
|
|
1888
|
+
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).
|
|
1889
|
+
"""
|
|
1890
|
+
if counter_set is not None:
|
|
1891
|
+
pulumi.set(__self__, "counter_set", counter_set)
|
|
1892
|
+
if counters is not None:
|
|
1893
|
+
pulumi.set(__self__, "counters", counters)
|
|
1894
|
+
|
|
1895
|
+
@property
|
|
1896
|
+
@pulumi.getter(name="counterSet")
|
|
1897
|
+
def counter_set(self) -> Optional[builtins.str]:
|
|
1898
|
+
"""
|
|
1899
|
+
CounterSet is the name of the set from which the counters defined will be consumed.
|
|
1900
|
+
"""
|
|
1901
|
+
return pulumi.get(self, "counter_set")
|
|
1902
|
+
|
|
1903
|
+
@property
|
|
1904
|
+
@pulumi.getter
|
|
1905
|
+
def counters(self) -> Optional[Mapping[str, 'outputs.Counter']]:
|
|
1906
|
+
"""
|
|
1907
|
+
Counters defines the counters that will be consumed by the device.
|
|
1908
|
+
|
|
1909
|
+
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).
|
|
1910
|
+
"""
|
|
1911
|
+
return pulumi.get(self, "counters")
|
|
1912
|
+
|
|
1913
|
+
|
|
1914
|
+
@pulumi.output_type
|
|
1915
|
+
class DevicePatch(dict):
|
|
1916
|
+
"""
|
|
1917
|
+
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
1918
|
+
"""
|
|
1919
|
+
def __init__(__self__, *,
|
|
1920
|
+
basic: Optional['outputs.BasicDevicePatch'] = None,
|
|
1921
|
+
name: Optional[builtins.str] = None):
|
|
1922
|
+
"""
|
|
1923
|
+
Device represents one individual hardware instance that can be selected based on its attributes. Besides the name, exactly one field must be set.
|
|
1924
|
+
:param 'BasicDevicePatchArgs' basic: Basic defines one device instance.
|
|
1925
|
+
:param builtins.str name: Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
1926
|
+
"""
|
|
1927
|
+
if basic is not None:
|
|
1928
|
+
pulumi.set(__self__, "basic", basic)
|
|
1929
|
+
if name is not None:
|
|
1930
|
+
pulumi.set(__self__, "name", name)
|
|
1931
|
+
|
|
1932
|
+
@property
|
|
1933
|
+
@pulumi.getter
|
|
1934
|
+
def basic(self) -> Optional['outputs.BasicDevicePatch']:
|
|
1935
|
+
"""
|
|
1936
|
+
Basic defines one device instance.
|
|
1937
|
+
"""
|
|
1938
|
+
return pulumi.get(self, "basic")
|
|
1939
|
+
|
|
1940
|
+
@property
|
|
1941
|
+
@pulumi.getter
|
|
1942
|
+
def name(self) -> Optional[builtins.str]:
|
|
1943
|
+
"""
|
|
1944
|
+
Name is unique identifier among all devices managed by the driver in the pool. It must be a DNS label.
|
|
1945
|
+
"""
|
|
1946
|
+
return pulumi.get(self, "name")
|
|
1947
|
+
|
|
1948
|
+
|
|
1949
|
+
@pulumi.output_type
|
|
1950
|
+
class DeviceRequest(dict):
|
|
1951
|
+
"""
|
|
1952
|
+
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.
|
|
1953
|
+
"""
|
|
1954
|
+
@staticmethod
|
|
1955
|
+
def __key_warning(key: str):
|
|
1956
|
+
suggest = None
|
|
1957
|
+
if key == "adminAccess":
|
|
1958
|
+
suggest = "admin_access"
|
|
1473
1959
|
elif key == "allocationMode":
|
|
1474
1960
|
suggest = "allocation_mode"
|
|
1961
|
+
elif key == "deviceClassName":
|
|
1962
|
+
suggest = "device_class_name"
|
|
1963
|
+
elif key == "firstAvailable":
|
|
1964
|
+
suggest = "first_available"
|
|
1475
1965
|
|
|
1476
1966
|
if suggest:
|
|
1477
1967
|
pulumi.log.warn(f"Key '{key}' not found in DeviceRequest. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -1485,44 +1975,68 @@ class DeviceRequest(dict):
|
|
|
1485
1975
|
return super().get(key, default)
|
|
1486
1976
|
|
|
1487
1977
|
def __init__(__self__, *,
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1978
|
+
name: builtins.str,
|
|
1979
|
+
admin_access: Optional[builtins.bool] = None,
|
|
1980
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
1981
|
+
count: Optional[builtins.int] = None,
|
|
1982
|
+
device_class_name: Optional[builtins.str] = None,
|
|
1983
|
+
first_available: Optional[Sequence['outputs.DeviceSubRequest']] = None,
|
|
1984
|
+
selectors: Optional[Sequence['outputs.DeviceSelector']] = None,
|
|
1985
|
+
tolerations: Optional[Sequence['outputs.DeviceToleration']] = None):
|
|
1494
1986
|
"""
|
|
1495
1987
|
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.
|
|
1496
|
-
|
|
1497
|
-
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.
|
|
1498
|
-
:param str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
1988
|
+
: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.
|
|
1499
1989
|
|
|
1500
|
-
|
|
1990
|
+
Must be a DNS label and unique among all DeviceRequests in a ResourceClaim.
|
|
1991
|
+
: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.
|
|
1501
1992
|
|
|
1502
|
-
|
|
1503
|
-
:param 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.
|
|
1504
|
-
|
|
1505
|
-
Must be a DNS label.
|
|
1506
|
-
: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.
|
|
1993
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1507
1994
|
|
|
1508
1995
|
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.
|
|
1509
|
-
:param str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
1996
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
1510
1997
|
|
|
1511
1998
|
- ExactCount: This request is for a specific number of devices.
|
|
1512
1999
|
This is the default. The exact number is provided in the
|
|
1513
2000
|
count field.
|
|
1514
2001
|
|
|
1515
2002
|
- All: This request is for all of the matching devices in a pool.
|
|
2003
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
1516
2004
|
Allocation will fail if some devices are already allocated,
|
|
1517
2005
|
unless adminAccess is requested.
|
|
1518
2006
|
|
|
1519
|
-
If
|
|
2007
|
+
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.
|
|
2008
|
+
|
|
2009
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1520
2010
|
|
|
1521
2011
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1522
|
-
: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.
|
|
2012
|
+
: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.
|
|
2013
|
+
|
|
2014
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2015
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2016
|
+
|
|
2017
|
+
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.
|
|
2018
|
+
|
|
2019
|
+
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.
|
|
2020
|
+
: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.
|
|
2021
|
+
|
|
2022
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2023
|
+
|
|
2024
|
+
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.
|
|
1523
2025
|
: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.
|
|
2026
|
+
|
|
2027
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2028
|
+
:param Sequence['DeviceTolerationArgs'] tolerations: If specified, the request's tolerations.
|
|
2029
|
+
|
|
2030
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2031
|
+
|
|
2032
|
+
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.
|
|
2033
|
+
|
|
2034
|
+
The maximum number of tolerations is 16.
|
|
2035
|
+
|
|
2036
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2037
|
+
|
|
2038
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
1524
2039
|
"""
|
|
1525
|
-
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
1526
2040
|
pulumi.set(__self__, "name", name)
|
|
1527
2041
|
if admin_access is not None:
|
|
1528
2042
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
@@ -1530,44 +2044,40 @@ class DeviceRequest(dict):
|
|
|
1530
2044
|
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
1531
2045
|
if count is not None:
|
|
1532
2046
|
pulumi.set(__self__, "count", count)
|
|
2047
|
+
if device_class_name is not None:
|
|
2048
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
2049
|
+
if first_available is not None:
|
|
2050
|
+
pulumi.set(__self__, "first_available", first_available)
|
|
1533
2051
|
if selectors is not None:
|
|
1534
2052
|
pulumi.set(__self__, "selectors", selectors)
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
@pulumi.getter(name="deviceClassName")
|
|
1538
|
-
def device_class_name(self) -> str:
|
|
1539
|
-
"""
|
|
1540
|
-
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
1541
|
-
|
|
1542
|
-
A class is required. Which classes are available depends on the cluster.
|
|
1543
|
-
|
|
1544
|
-
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.
|
|
1545
|
-
"""
|
|
1546
|
-
return pulumi.get(self, "device_class_name")
|
|
2053
|
+
if tolerations is not None:
|
|
2054
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1547
2055
|
|
|
1548
2056
|
@property
|
|
1549
2057
|
@pulumi.getter
|
|
1550
|
-
def name(self) -> str:
|
|
2058
|
+
def name(self) -> builtins.str:
|
|
1551
2059
|
"""
|
|
1552
2060
|
Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.
|
|
1553
2061
|
|
|
1554
|
-
Must be a DNS label.
|
|
2062
|
+
Must be a DNS label and unique among all DeviceRequests in a ResourceClaim.
|
|
1555
2063
|
"""
|
|
1556
2064
|
return pulumi.get(self, "name")
|
|
1557
2065
|
|
|
1558
2066
|
@property
|
|
1559
2067
|
@pulumi.getter(name="adminAccess")
|
|
1560
|
-
def admin_access(self) -> Optional[bool]:
|
|
2068
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
1561
2069
|
"""
|
|
1562
2070
|
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.
|
|
1563
2071
|
|
|
2072
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2073
|
+
|
|
1564
2074
|
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.
|
|
1565
2075
|
"""
|
|
1566
2076
|
return pulumi.get(self, "admin_access")
|
|
1567
2077
|
|
|
1568
2078
|
@property
|
|
1569
2079
|
@pulumi.getter(name="allocationMode")
|
|
1570
|
-
def allocation_mode(self) -> Optional[str]:
|
|
2080
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
1571
2081
|
"""
|
|
1572
2082
|
AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
1573
2083
|
|
|
@@ -1576,10 +2086,13 @@ class DeviceRequest(dict):
|
|
|
1576
2086
|
count field.
|
|
1577
2087
|
|
|
1578
2088
|
- All: This request is for all of the matching devices in a pool.
|
|
2089
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
1579
2090
|
Allocation will fail if some devices are already allocated,
|
|
1580
2091
|
unless adminAccess is requested.
|
|
1581
2092
|
|
|
1582
|
-
If
|
|
2093
|
+
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.
|
|
2094
|
+
|
|
2095
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1583
2096
|
|
|
1584
2097
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1585
2098
|
"""
|
|
@@ -1587,20 +2100,66 @@ class DeviceRequest(dict):
|
|
|
1587
2100
|
|
|
1588
2101
|
@property
|
|
1589
2102
|
@pulumi.getter
|
|
1590
|
-
def count(self) -> Optional[int]:
|
|
2103
|
+
def count(self) -> Optional[builtins.int]:
|
|
1591
2104
|
"""
|
|
1592
2105
|
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.
|
|
2106
|
+
|
|
2107
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1593
2108
|
"""
|
|
1594
2109
|
return pulumi.get(self, "count")
|
|
1595
2110
|
|
|
2111
|
+
@property
|
|
2112
|
+
@pulumi.getter(name="deviceClassName")
|
|
2113
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
2114
|
+
"""
|
|
2115
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2116
|
+
|
|
2117
|
+
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.
|
|
2118
|
+
|
|
2119
|
+
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.
|
|
2120
|
+
"""
|
|
2121
|
+
return pulumi.get(self, "device_class_name")
|
|
2122
|
+
|
|
2123
|
+
@property
|
|
2124
|
+
@pulumi.getter(name="firstAvailable")
|
|
2125
|
+
def first_available(self) -> Optional[Sequence['outputs.DeviceSubRequest']]:
|
|
2126
|
+
"""
|
|
2127
|
+
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.
|
|
2128
|
+
|
|
2129
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2130
|
+
|
|
2131
|
+
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.
|
|
2132
|
+
"""
|
|
2133
|
+
return pulumi.get(self, "first_available")
|
|
2134
|
+
|
|
1596
2135
|
@property
|
|
1597
2136
|
@pulumi.getter
|
|
1598
2137
|
def selectors(self) -> Optional[Sequence['outputs.DeviceSelector']]:
|
|
1599
2138
|
"""
|
|
1600
2139
|
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.
|
|
2140
|
+
|
|
2141
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1601
2142
|
"""
|
|
1602
2143
|
return pulumi.get(self, "selectors")
|
|
1603
2144
|
|
|
2145
|
+
@property
|
|
2146
|
+
@pulumi.getter
|
|
2147
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceToleration']]:
|
|
2148
|
+
"""
|
|
2149
|
+
If specified, the request's tolerations.
|
|
2150
|
+
|
|
2151
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2152
|
+
|
|
2153
|
+
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.
|
|
2154
|
+
|
|
2155
|
+
The maximum number of tolerations is 16.
|
|
2156
|
+
|
|
2157
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2158
|
+
|
|
2159
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2160
|
+
"""
|
|
2161
|
+
return pulumi.get(self, "tolerations")
|
|
2162
|
+
|
|
1604
2163
|
|
|
1605
2164
|
@pulumi.output_type
|
|
1606
2165
|
class DeviceRequestAllocationResult(dict):
|
|
@@ -1625,24 +2184,32 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1625
2184
|
return super().get(key, default)
|
|
1626
2185
|
|
|
1627
2186
|
def __init__(__self__, *,
|
|
1628
|
-
device: str,
|
|
1629
|
-
driver: str,
|
|
1630
|
-
pool: str,
|
|
1631
|
-
request: str,
|
|
1632
|
-
admin_access: Optional[bool] = None
|
|
2187
|
+
device: builtins.str,
|
|
2188
|
+
driver: builtins.str,
|
|
2189
|
+
pool: builtins.str,
|
|
2190
|
+
request: builtins.str,
|
|
2191
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2192
|
+
tolerations: Optional[Sequence['outputs.DeviceToleration']] = None):
|
|
1633
2193
|
"""
|
|
1634
2194
|
DeviceRequestAllocationResult contains the allocation result for one request.
|
|
1635
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
1636
|
-
: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.
|
|
2195
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
2196
|
+
: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.
|
|
1637
2197
|
|
|
1638
2198
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
1639
|
-
: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>`).
|
|
2199
|
+
: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>`).
|
|
1640
2200
|
|
|
1641
2201
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
1642
|
-
:param str request: Request is the name of the request in the claim which caused this device to be allocated.
|
|
1643
|
-
|
|
2202
|
+
: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>.
|
|
2203
|
+
|
|
2204
|
+
Multiple devices may have been allocated per request.
|
|
2205
|
+
: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.
|
|
1644
2206
|
|
|
1645
2207
|
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.
|
|
2208
|
+
:param Sequence['DeviceTolerationArgs'] tolerations: A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2209
|
+
|
|
2210
|
+
The maximum number of tolerations is 16.
|
|
2211
|
+
|
|
2212
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
1646
2213
|
"""
|
|
1647
2214
|
pulumi.set(__self__, "device", device)
|
|
1648
2215
|
pulumi.set(__self__, "driver", driver)
|
|
@@ -1650,10 +2217,12 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1650
2217
|
pulumi.set(__self__, "request", request)
|
|
1651
2218
|
if admin_access is not None:
|
|
1652
2219
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
2220
|
+
if tolerations is not None:
|
|
2221
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1653
2222
|
|
|
1654
2223
|
@property
|
|
1655
2224
|
@pulumi.getter
|
|
1656
|
-
def device(self) -> str:
|
|
2225
|
+
def device(self) -> builtins.str:
|
|
1657
2226
|
"""
|
|
1658
2227
|
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
1659
2228
|
"""
|
|
@@ -1661,7 +2230,7 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1661
2230
|
|
|
1662
2231
|
@property
|
|
1663
2232
|
@pulumi.getter
|
|
1664
|
-
def driver(self) -> str:
|
|
2233
|
+
def driver(self) -> builtins.str:
|
|
1665
2234
|
"""
|
|
1666
2235
|
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.
|
|
1667
2236
|
|
|
@@ -1671,7 +2240,7 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1671
2240
|
|
|
1672
2241
|
@property
|
|
1673
2242
|
@pulumi.getter
|
|
1674
|
-
def pool(self) -> str:
|
|
2243
|
+
def pool(self) -> builtins.str:
|
|
1675
2244
|
"""
|
|
1676
2245
|
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
1677
2246
|
|
|
@@ -1681,15 +2250,17 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1681
2250
|
|
|
1682
2251
|
@property
|
|
1683
2252
|
@pulumi.getter
|
|
1684
|
-
def request(self) -> str:
|
|
2253
|
+
def request(self) -> builtins.str:
|
|
1685
2254
|
"""
|
|
1686
|
-
Request is the name of the request in the claim which caused this device to be allocated.
|
|
2255
|
+
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>.
|
|
2256
|
+
|
|
2257
|
+
Multiple devices may have been allocated per request.
|
|
1687
2258
|
"""
|
|
1688
2259
|
return pulumi.get(self, "request")
|
|
1689
2260
|
|
|
1690
2261
|
@property
|
|
1691
2262
|
@pulumi.getter(name="adminAccess")
|
|
1692
|
-
def admin_access(self) -> Optional[bool]:
|
|
2263
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
1693
2264
|
"""
|
|
1694
2265
|
AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
|
|
1695
2266
|
|
|
@@ -1697,6 +2268,18 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1697
2268
|
"""
|
|
1698
2269
|
return pulumi.get(self, "admin_access")
|
|
1699
2270
|
|
|
2271
|
+
@property
|
|
2272
|
+
@pulumi.getter
|
|
2273
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceToleration']]:
|
|
2274
|
+
"""
|
|
2275
|
+
A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2276
|
+
|
|
2277
|
+
The maximum number of tolerations is 16.
|
|
2278
|
+
|
|
2279
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2280
|
+
"""
|
|
2281
|
+
return pulumi.get(self, "tolerations")
|
|
2282
|
+
|
|
1700
2283
|
|
|
1701
2284
|
@pulumi.output_type
|
|
1702
2285
|
class DeviceRequestAllocationResultPatch(dict):
|
|
@@ -1721,24 +2304,32 @@ class DeviceRequestAllocationResultPatch(dict):
|
|
|
1721
2304
|
return super().get(key, default)
|
|
1722
2305
|
|
|
1723
2306
|
def __init__(__self__, *,
|
|
1724
|
-
admin_access: Optional[bool] = None,
|
|
1725
|
-
device: Optional[str] = None,
|
|
1726
|
-
driver: Optional[str] = None,
|
|
1727
|
-
pool: Optional[str] = None,
|
|
1728
|
-
request: Optional[str] = None
|
|
2307
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2308
|
+
device: Optional[builtins.str] = None,
|
|
2309
|
+
driver: Optional[builtins.str] = None,
|
|
2310
|
+
pool: Optional[builtins.str] = None,
|
|
2311
|
+
request: Optional[builtins.str] = None,
|
|
2312
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
1729
2313
|
"""
|
|
1730
2314
|
DeviceRequestAllocationResult contains the allocation result for one request.
|
|
1731
|
-
:param bool admin_access: AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
|
|
2315
|
+
: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.
|
|
1732
2316
|
|
|
1733
2317
|
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.
|
|
1734
|
-
:param str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
1735
|
-
: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.
|
|
2318
|
+
:param builtins.str device: Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
2319
|
+
: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.
|
|
1736
2320
|
|
|
1737
2321
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
1738
|
-
: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>`).
|
|
2322
|
+
: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>`).
|
|
1739
2323
|
|
|
1740
2324
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
1741
|
-
:param str request: Request is the name of the request in the claim which caused this device to be allocated.
|
|
2325
|
+
: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>.
|
|
2326
|
+
|
|
2327
|
+
Multiple devices may have been allocated per request.
|
|
2328
|
+
:param Sequence['DeviceTolerationPatchArgs'] tolerations: A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2329
|
+
|
|
2330
|
+
The maximum number of tolerations is 16.
|
|
2331
|
+
|
|
2332
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
1742
2333
|
"""
|
|
1743
2334
|
if admin_access is not None:
|
|
1744
2335
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
@@ -1750,122 +2341,558 @@ class DeviceRequestAllocationResultPatch(dict):
|
|
|
1750
2341
|
pulumi.set(__self__, "pool", pool)
|
|
1751
2342
|
if request is not None:
|
|
1752
2343
|
pulumi.set(__self__, "request", request)
|
|
2344
|
+
if tolerations is not None:
|
|
2345
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1753
2346
|
|
|
1754
2347
|
@property
|
|
1755
2348
|
@pulumi.getter(name="adminAccess")
|
|
1756
|
-
def admin_access(self) -> Optional[bool]:
|
|
2349
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
1757
2350
|
"""
|
|
1758
2351
|
AdminAccess indicates that this device was allocated for administrative access. See the corresponding request field for a definition of mode.
|
|
1759
2352
|
|
|
1760
2353
|
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.
|
|
1761
2354
|
"""
|
|
1762
|
-
return pulumi.get(self, "admin_access")
|
|
2355
|
+
return pulumi.get(self, "admin_access")
|
|
2356
|
+
|
|
2357
|
+
@property
|
|
2358
|
+
@pulumi.getter
|
|
2359
|
+
def device(self) -> Optional[builtins.str]:
|
|
2360
|
+
"""
|
|
2361
|
+
Device references one device instance via its name in the driver's resource pool. It must be a DNS label.
|
|
2362
|
+
"""
|
|
2363
|
+
return pulumi.get(self, "device")
|
|
2364
|
+
|
|
2365
|
+
@property
|
|
2366
|
+
@pulumi.getter
|
|
2367
|
+
def driver(self) -> Optional[builtins.str]:
|
|
2368
|
+
"""
|
|
2369
|
+
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.
|
|
2370
|
+
|
|
2371
|
+
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
2372
|
+
"""
|
|
2373
|
+
return pulumi.get(self, "driver")
|
|
2374
|
+
|
|
2375
|
+
@property
|
|
2376
|
+
@pulumi.getter
|
|
2377
|
+
def pool(self) -> Optional[builtins.str]:
|
|
2378
|
+
"""
|
|
2379
|
+
This name together with the driver name and the device name field identify which device was allocated (`<driver name>/<pool name>/<device name>`).
|
|
2380
|
+
|
|
2381
|
+
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
2382
|
+
"""
|
|
2383
|
+
return pulumi.get(self, "pool")
|
|
2384
|
+
|
|
2385
|
+
@property
|
|
2386
|
+
@pulumi.getter
|
|
2387
|
+
def request(self) -> Optional[builtins.str]:
|
|
2388
|
+
"""
|
|
2389
|
+
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>.
|
|
2390
|
+
|
|
2391
|
+
Multiple devices may have been allocated per request.
|
|
2392
|
+
"""
|
|
2393
|
+
return pulumi.get(self, "request")
|
|
2394
|
+
|
|
2395
|
+
@property
|
|
2396
|
+
@pulumi.getter
|
|
2397
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceTolerationPatch']]:
|
|
2398
|
+
"""
|
|
2399
|
+
A copy of all tolerations specified in the request at the time when the device got allocated.
|
|
2400
|
+
|
|
2401
|
+
The maximum number of tolerations is 16.
|
|
2402
|
+
|
|
2403
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2404
|
+
"""
|
|
2405
|
+
return pulumi.get(self, "tolerations")
|
|
2406
|
+
|
|
2407
|
+
|
|
2408
|
+
@pulumi.output_type
|
|
2409
|
+
class DeviceRequestPatch(dict):
|
|
2410
|
+
"""
|
|
2411
|
+
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.
|
|
2412
|
+
"""
|
|
2413
|
+
@staticmethod
|
|
2414
|
+
def __key_warning(key: str):
|
|
2415
|
+
suggest = None
|
|
2416
|
+
if key == "adminAccess":
|
|
2417
|
+
suggest = "admin_access"
|
|
2418
|
+
elif key == "allocationMode":
|
|
2419
|
+
suggest = "allocation_mode"
|
|
2420
|
+
elif key == "deviceClassName":
|
|
2421
|
+
suggest = "device_class_name"
|
|
2422
|
+
elif key == "firstAvailable":
|
|
2423
|
+
suggest = "first_available"
|
|
2424
|
+
|
|
2425
|
+
if suggest:
|
|
2426
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceRequestPatch. Access the value via the '{suggest}' property getter instead.")
|
|
2427
|
+
|
|
2428
|
+
def __getitem__(self, key: str) -> Any:
|
|
2429
|
+
DeviceRequestPatch.__key_warning(key)
|
|
2430
|
+
return super().__getitem__(key)
|
|
2431
|
+
|
|
2432
|
+
def get(self, key: str, default = None) -> Any:
|
|
2433
|
+
DeviceRequestPatch.__key_warning(key)
|
|
2434
|
+
return super().get(key, default)
|
|
2435
|
+
|
|
2436
|
+
def __init__(__self__, *,
|
|
2437
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2438
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
2439
|
+
count: Optional[builtins.int] = None,
|
|
2440
|
+
device_class_name: Optional[builtins.str] = None,
|
|
2441
|
+
first_available: Optional[Sequence['outputs.DeviceSubRequestPatch']] = None,
|
|
2442
|
+
name: Optional[builtins.str] = None,
|
|
2443
|
+
selectors: Optional[Sequence['outputs.DeviceSelectorPatch']] = None,
|
|
2444
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
2445
|
+
"""
|
|
2446
|
+
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.
|
|
2447
|
+
: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.
|
|
2448
|
+
|
|
2449
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2450
|
+
|
|
2451
|
+
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.
|
|
2452
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2453
|
+
|
|
2454
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2455
|
+
This is the default. The exact number is provided in the
|
|
2456
|
+
count field.
|
|
2457
|
+
|
|
2458
|
+
- All: This request is for all of the matching devices in a pool.
|
|
2459
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
2460
|
+
Allocation will fail if some devices are already allocated,
|
|
2461
|
+
unless adminAccess is requested.
|
|
2462
|
+
|
|
2463
|
+
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.
|
|
2464
|
+
|
|
2465
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2466
|
+
|
|
2467
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2468
|
+
: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.
|
|
2469
|
+
|
|
2470
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2471
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2472
|
+
|
|
2473
|
+
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.
|
|
2474
|
+
|
|
2475
|
+
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.
|
|
2476
|
+
: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.
|
|
2477
|
+
|
|
2478
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2479
|
+
|
|
2480
|
+
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.
|
|
2481
|
+
: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.
|
|
2482
|
+
|
|
2483
|
+
Must be a DNS label and unique among all DeviceRequests in a ResourceClaim.
|
|
2484
|
+
: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.
|
|
2485
|
+
|
|
2486
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2487
|
+
:param Sequence['DeviceTolerationPatchArgs'] tolerations: If specified, the request's tolerations.
|
|
2488
|
+
|
|
2489
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2490
|
+
|
|
2491
|
+
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.
|
|
2492
|
+
|
|
2493
|
+
The maximum number of tolerations is 16.
|
|
2494
|
+
|
|
2495
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2496
|
+
|
|
2497
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2498
|
+
"""
|
|
2499
|
+
if admin_access is not None:
|
|
2500
|
+
pulumi.set(__self__, "admin_access", admin_access)
|
|
2501
|
+
if allocation_mode is not None:
|
|
2502
|
+
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
2503
|
+
if count is not None:
|
|
2504
|
+
pulumi.set(__self__, "count", count)
|
|
2505
|
+
if device_class_name is not None:
|
|
2506
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
2507
|
+
if first_available is not None:
|
|
2508
|
+
pulumi.set(__self__, "first_available", first_available)
|
|
2509
|
+
if name is not None:
|
|
2510
|
+
pulumi.set(__self__, "name", name)
|
|
2511
|
+
if selectors is not None:
|
|
2512
|
+
pulumi.set(__self__, "selectors", selectors)
|
|
2513
|
+
if tolerations is not None:
|
|
2514
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
2515
|
+
|
|
2516
|
+
@property
|
|
2517
|
+
@pulumi.getter(name="adminAccess")
|
|
2518
|
+
def admin_access(self) -> Optional[builtins.bool]:
|
|
2519
|
+
"""
|
|
2520
|
+
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.
|
|
2521
|
+
|
|
2522
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2523
|
+
|
|
2524
|
+
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.
|
|
2525
|
+
"""
|
|
2526
|
+
return pulumi.get(self, "admin_access")
|
|
2527
|
+
|
|
2528
|
+
@property
|
|
2529
|
+
@pulumi.getter(name="allocationMode")
|
|
2530
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
2531
|
+
"""
|
|
2532
|
+
AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2533
|
+
|
|
2534
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2535
|
+
This is the default. The exact number is provided in the
|
|
2536
|
+
count field.
|
|
2537
|
+
|
|
2538
|
+
- All: This request is for all of the matching devices in a pool.
|
|
2539
|
+
At least one device must exist on the node for the allocation to succeed.
|
|
2540
|
+
Allocation will fail if some devices are already allocated,
|
|
2541
|
+
unless adminAccess is requested.
|
|
2542
|
+
|
|
2543
|
+
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.
|
|
2544
|
+
|
|
2545
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2546
|
+
|
|
2547
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2548
|
+
"""
|
|
2549
|
+
return pulumi.get(self, "allocation_mode")
|
|
2550
|
+
|
|
2551
|
+
@property
|
|
2552
|
+
@pulumi.getter
|
|
2553
|
+
def count(self) -> Optional[builtins.int]:
|
|
2554
|
+
"""
|
|
2555
|
+
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.
|
|
2556
|
+
|
|
2557
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2558
|
+
"""
|
|
2559
|
+
return pulumi.get(self, "count")
|
|
2560
|
+
|
|
2561
|
+
@property
|
|
2562
|
+
@pulumi.getter(name="deviceClassName")
|
|
2563
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
2564
|
+
"""
|
|
2565
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
2566
|
+
|
|
2567
|
+
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.
|
|
2568
|
+
|
|
2569
|
+
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.
|
|
2570
|
+
"""
|
|
2571
|
+
return pulumi.get(self, "device_class_name")
|
|
2572
|
+
|
|
2573
|
+
@property
|
|
2574
|
+
@pulumi.getter(name="firstAvailable")
|
|
2575
|
+
def first_available(self) -> Optional[Sequence['outputs.DeviceSubRequestPatch']]:
|
|
2576
|
+
"""
|
|
2577
|
+
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.
|
|
2578
|
+
|
|
2579
|
+
This field may only be set in the entries of DeviceClaim.Requests.
|
|
2580
|
+
|
|
2581
|
+
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.
|
|
2582
|
+
"""
|
|
2583
|
+
return pulumi.get(self, "first_available")
|
|
2584
|
+
|
|
2585
|
+
@property
|
|
2586
|
+
@pulumi.getter
|
|
2587
|
+
def name(self) -> Optional[builtins.str]:
|
|
2588
|
+
"""
|
|
2589
|
+
Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.
|
|
2590
|
+
|
|
2591
|
+
Must be a DNS label and unique among all DeviceRequests in a ResourceClaim.
|
|
2592
|
+
"""
|
|
2593
|
+
return pulumi.get(self, "name")
|
|
2594
|
+
|
|
2595
|
+
@property
|
|
2596
|
+
@pulumi.getter
|
|
2597
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelectorPatch']]:
|
|
2598
|
+
"""
|
|
2599
|
+
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.
|
|
2600
|
+
|
|
2601
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2602
|
+
"""
|
|
2603
|
+
return pulumi.get(self, "selectors")
|
|
2604
|
+
|
|
2605
|
+
@property
|
|
2606
|
+
@pulumi.getter
|
|
2607
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceTolerationPatch']]:
|
|
2608
|
+
"""
|
|
2609
|
+
If specified, the request's tolerations.
|
|
2610
|
+
|
|
2611
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2612
|
+
|
|
2613
|
+
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.
|
|
2614
|
+
|
|
2615
|
+
The maximum number of tolerations is 16.
|
|
2616
|
+
|
|
2617
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2618
|
+
|
|
2619
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2620
|
+
"""
|
|
2621
|
+
return pulumi.get(self, "tolerations")
|
|
2622
|
+
|
|
2623
|
+
|
|
2624
|
+
@pulumi.output_type
|
|
2625
|
+
class DeviceSelector(dict):
|
|
2626
|
+
"""
|
|
2627
|
+
DeviceSelector must have exactly one field set.
|
|
2628
|
+
"""
|
|
2629
|
+
def __init__(__self__, *,
|
|
2630
|
+
cel: Optional['outputs.CELDeviceSelector'] = None):
|
|
2631
|
+
"""
|
|
2632
|
+
DeviceSelector must have exactly one field set.
|
|
2633
|
+
:param 'CELDeviceSelectorArgs' cel: CEL contains a CEL expression for selecting a device.
|
|
2634
|
+
"""
|
|
2635
|
+
if cel is not None:
|
|
2636
|
+
pulumi.set(__self__, "cel", cel)
|
|
2637
|
+
|
|
2638
|
+
@property
|
|
2639
|
+
@pulumi.getter
|
|
2640
|
+
def cel(self) -> Optional['outputs.CELDeviceSelector']:
|
|
2641
|
+
"""
|
|
2642
|
+
CEL contains a CEL expression for selecting a device.
|
|
2643
|
+
"""
|
|
2644
|
+
return pulumi.get(self, "cel")
|
|
2645
|
+
|
|
2646
|
+
|
|
2647
|
+
@pulumi.output_type
|
|
2648
|
+
class DeviceSelectorPatch(dict):
|
|
2649
|
+
"""
|
|
2650
|
+
DeviceSelector must have exactly one field set.
|
|
2651
|
+
"""
|
|
2652
|
+
def __init__(__self__, *,
|
|
2653
|
+
cel: Optional['outputs.CELDeviceSelectorPatch'] = None):
|
|
2654
|
+
"""
|
|
2655
|
+
DeviceSelector must have exactly one field set.
|
|
2656
|
+
:param 'CELDeviceSelectorPatchArgs' cel: CEL contains a CEL expression for selecting a device.
|
|
2657
|
+
"""
|
|
2658
|
+
if cel is not None:
|
|
2659
|
+
pulumi.set(__self__, "cel", cel)
|
|
2660
|
+
|
|
2661
|
+
@property
|
|
2662
|
+
@pulumi.getter
|
|
2663
|
+
def cel(self) -> Optional['outputs.CELDeviceSelectorPatch']:
|
|
2664
|
+
"""
|
|
2665
|
+
CEL contains a CEL expression for selecting a device.
|
|
2666
|
+
"""
|
|
2667
|
+
return pulumi.get(self, "cel")
|
|
2668
|
+
|
|
2669
|
+
|
|
2670
|
+
@pulumi.output_type
|
|
2671
|
+
class DeviceSubRequest(dict):
|
|
2672
|
+
"""
|
|
2673
|
+
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.
|
|
2674
|
+
|
|
2675
|
+
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.
|
|
2676
|
+
"""
|
|
2677
|
+
@staticmethod
|
|
2678
|
+
def __key_warning(key: str):
|
|
2679
|
+
suggest = None
|
|
2680
|
+
if key == "deviceClassName":
|
|
2681
|
+
suggest = "device_class_name"
|
|
2682
|
+
elif key == "allocationMode":
|
|
2683
|
+
suggest = "allocation_mode"
|
|
2684
|
+
|
|
2685
|
+
if suggest:
|
|
2686
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceSubRequest. Access the value via the '{suggest}' property getter instead.")
|
|
2687
|
+
|
|
2688
|
+
def __getitem__(self, key: str) -> Any:
|
|
2689
|
+
DeviceSubRequest.__key_warning(key)
|
|
2690
|
+
return super().__getitem__(key)
|
|
2691
|
+
|
|
2692
|
+
def get(self, key: str, default = None) -> Any:
|
|
2693
|
+
DeviceSubRequest.__key_warning(key)
|
|
2694
|
+
return super().get(key, default)
|
|
2695
|
+
|
|
2696
|
+
def __init__(__self__, *,
|
|
2697
|
+
device_class_name: builtins.str,
|
|
2698
|
+
name: builtins.str,
|
|
2699
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
2700
|
+
count: Optional[builtins.int] = None,
|
|
2701
|
+
selectors: Optional[Sequence['outputs.DeviceSelector']] = None,
|
|
2702
|
+
tolerations: Optional[Sequence['outputs.DeviceToleration']] = None):
|
|
2703
|
+
"""
|
|
2704
|
+
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.
|
|
2705
|
+
|
|
2706
|
+
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.
|
|
2707
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
2708
|
+
|
|
2709
|
+
A class is required. Which classes are available depends on the cluster.
|
|
2710
|
+
|
|
2711
|
+
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.
|
|
2712
|
+
: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>.
|
|
2713
|
+
|
|
2714
|
+
Must be a DNS label.
|
|
2715
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this subrequest. Supported values are:
|
|
2716
|
+
|
|
2717
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2718
|
+
This is the default. The exact number is provided in the
|
|
2719
|
+
count field.
|
|
2720
|
+
|
|
2721
|
+
- All: This subrequest is for all of the matching devices in a pool.
|
|
2722
|
+
Allocation will fail if some devices are already allocated,
|
|
2723
|
+
unless adminAccess is requested.
|
|
2724
|
+
|
|
2725
|
+
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 subrequests must specify this field.
|
|
2726
|
+
|
|
2727
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2728
|
+
: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.
|
|
2729
|
+
: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 subrequest. All selectors must be satisfied for a device to be considered.
|
|
2730
|
+
:param Sequence['DeviceTolerationArgs'] tolerations: If specified, the request's tolerations.
|
|
2731
|
+
|
|
2732
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2733
|
+
|
|
2734
|
+
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.
|
|
2735
|
+
|
|
2736
|
+
The maximum number of tolerations is 16.
|
|
2737
|
+
|
|
2738
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2739
|
+
"""
|
|
2740
|
+
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
2741
|
+
pulumi.set(__self__, "name", name)
|
|
2742
|
+
if allocation_mode is not None:
|
|
2743
|
+
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
2744
|
+
if count is not None:
|
|
2745
|
+
pulumi.set(__self__, "count", count)
|
|
2746
|
+
if selectors is not None:
|
|
2747
|
+
pulumi.set(__self__, "selectors", selectors)
|
|
2748
|
+
if tolerations is not None:
|
|
2749
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
2750
|
+
|
|
2751
|
+
@property
|
|
2752
|
+
@pulumi.getter(name="deviceClassName")
|
|
2753
|
+
def device_class_name(self) -> builtins.str:
|
|
2754
|
+
"""
|
|
2755
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
2756
|
+
|
|
2757
|
+
A class is required. Which classes are available depends on the cluster.
|
|
2758
|
+
|
|
2759
|
+
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.
|
|
2760
|
+
"""
|
|
2761
|
+
return pulumi.get(self, "device_class_name")
|
|
2762
|
+
|
|
2763
|
+
@property
|
|
2764
|
+
@pulumi.getter
|
|
2765
|
+
def name(self) -> builtins.str:
|
|
2766
|
+
"""
|
|
2767
|
+
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>.
|
|
2768
|
+
|
|
2769
|
+
Must be a DNS label.
|
|
2770
|
+
"""
|
|
2771
|
+
return pulumi.get(self, "name")
|
|
2772
|
+
|
|
2773
|
+
@property
|
|
2774
|
+
@pulumi.getter(name="allocationMode")
|
|
2775
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
2776
|
+
"""
|
|
2777
|
+
AllocationMode and its related fields define how devices are allocated to satisfy this subrequest. Supported values are:
|
|
2778
|
+
|
|
2779
|
+
- ExactCount: This request is for a specific number of devices.
|
|
2780
|
+
This is the default. The exact number is provided in the
|
|
2781
|
+
count field.
|
|
2782
|
+
|
|
2783
|
+
- All: This subrequest is for all of the matching devices in a pool.
|
|
2784
|
+
Allocation will fail if some devices are already allocated,
|
|
2785
|
+
unless adminAccess is requested.
|
|
2786
|
+
|
|
2787
|
+
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 subrequests must specify this field.
|
|
2788
|
+
|
|
2789
|
+
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
2790
|
+
"""
|
|
2791
|
+
return pulumi.get(self, "allocation_mode")
|
|
1763
2792
|
|
|
1764
2793
|
@property
|
|
1765
2794
|
@pulumi.getter
|
|
1766
|
-
def
|
|
2795
|
+
def count(self) -> Optional[builtins.int]:
|
|
1767
2796
|
"""
|
|
1768
|
-
|
|
2797
|
+
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.
|
|
1769
2798
|
"""
|
|
1770
|
-
return pulumi.get(self, "
|
|
2799
|
+
return pulumi.get(self, "count")
|
|
1771
2800
|
|
|
1772
2801
|
@property
|
|
1773
2802
|
@pulumi.getter
|
|
1774
|
-
def
|
|
2803
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelector']]:
|
|
1775
2804
|
"""
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
2805
|
+
Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this subrequest. All selectors must be satisfied for a device to be considered.
|
|
1779
2806
|
"""
|
|
1780
|
-
return pulumi.get(self, "
|
|
2807
|
+
return pulumi.get(self, "selectors")
|
|
1781
2808
|
|
|
1782
2809
|
@property
|
|
1783
2810
|
@pulumi.getter
|
|
1784
|
-
def
|
|
2811
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceToleration']]:
|
|
1785
2812
|
"""
|
|
1786
|
-
|
|
2813
|
+
If specified, the request's tolerations.
|
|
1787
2814
|
|
|
1788
|
-
|
|
1789
|
-
"""
|
|
1790
|
-
return pulumi.get(self, "pool")
|
|
2815
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
1791
2816
|
|
|
1792
|
-
|
|
1793
|
-
|
|
1794
|
-
|
|
1795
|
-
|
|
1796
|
-
|
|
2817
|
+
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.
|
|
2818
|
+
|
|
2819
|
+
The maximum number of tolerations is 16.
|
|
2820
|
+
|
|
2821
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
1797
2822
|
"""
|
|
1798
|
-
return pulumi.get(self, "
|
|
2823
|
+
return pulumi.get(self, "tolerations")
|
|
1799
2824
|
|
|
1800
2825
|
|
|
1801
2826
|
@pulumi.output_type
|
|
1802
|
-
class
|
|
2827
|
+
class DeviceSubRequestPatch(dict):
|
|
1803
2828
|
"""
|
|
1804
|
-
|
|
2829
|
+
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.
|
|
1805
2830
|
|
|
1806
|
-
|
|
2831
|
+
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.
|
|
1807
2832
|
"""
|
|
1808
2833
|
@staticmethod
|
|
1809
2834
|
def __key_warning(key: str):
|
|
1810
2835
|
suggest = None
|
|
1811
|
-
if key == "
|
|
1812
|
-
suggest = "admin_access"
|
|
1813
|
-
elif key == "allocationMode":
|
|
2836
|
+
if key == "allocationMode":
|
|
1814
2837
|
suggest = "allocation_mode"
|
|
1815
2838
|
elif key == "deviceClassName":
|
|
1816
2839
|
suggest = "device_class_name"
|
|
1817
2840
|
|
|
1818
2841
|
if suggest:
|
|
1819
|
-
pulumi.log.warn(f"Key '{key}' not found in
|
|
2842
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceSubRequestPatch. Access the value via the '{suggest}' property getter instead.")
|
|
1820
2843
|
|
|
1821
2844
|
def __getitem__(self, key: str) -> Any:
|
|
1822
|
-
|
|
2845
|
+
DeviceSubRequestPatch.__key_warning(key)
|
|
1823
2846
|
return super().__getitem__(key)
|
|
1824
2847
|
|
|
1825
2848
|
def get(self, key: str, default = None) -> Any:
|
|
1826
|
-
|
|
2849
|
+
DeviceSubRequestPatch.__key_warning(key)
|
|
1827
2850
|
return super().get(key, default)
|
|
1828
2851
|
|
|
1829
2852
|
def __init__(__self__, *,
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
2853
|
+
allocation_mode: Optional[builtins.str] = None,
|
|
2854
|
+
count: Optional[builtins.int] = None,
|
|
2855
|
+
device_class_name: Optional[builtins.str] = None,
|
|
2856
|
+
name: Optional[builtins.str] = None,
|
|
2857
|
+
selectors: Optional[Sequence['outputs.DeviceSelectorPatch']] = None,
|
|
2858
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
1836
2859
|
"""
|
|
1837
|
-
|
|
2860
|
+
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.
|
|
1838
2861
|
|
|
1839
|
-
|
|
1840
|
-
:param
|
|
1841
|
-
|
|
1842
|
-
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.
|
|
1843
|
-
:param str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
2862
|
+
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.
|
|
2863
|
+
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this subrequest. Supported values are:
|
|
1844
2864
|
|
|
1845
2865
|
- ExactCount: This request is for a specific number of devices.
|
|
1846
2866
|
This is the default. The exact number is provided in the
|
|
1847
2867
|
count field.
|
|
1848
2868
|
|
|
1849
|
-
- All: This
|
|
2869
|
+
- All: This subrequest is for all of the matching devices in a pool.
|
|
1850
2870
|
Allocation will fail if some devices are already allocated,
|
|
1851
2871
|
unless adminAccess is requested.
|
|
1852
2872
|
|
|
1853
|
-
If
|
|
2873
|
+
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 subrequests must specify this field.
|
|
1854
2874
|
|
|
1855
2875
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1856
|
-
: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.
|
|
1857
|
-
:param str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this
|
|
2876
|
+
: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.
|
|
2877
|
+
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
1858
2878
|
|
|
1859
2879
|
A class is required. Which classes are available depends on the cluster.
|
|
1860
2880
|
|
|
1861
2881
|
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.
|
|
1862
|
-
:param str name: Name can be used to reference this
|
|
2882
|
+
: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>.
|
|
1863
2883
|
|
|
1864
2884
|
Must be a DNS label.
|
|
1865
|
-
: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
|
|
2885
|
+
: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 subrequest. All selectors must be satisfied for a device to be considered.
|
|
2886
|
+
:param Sequence['DeviceTolerationPatchArgs'] tolerations: If specified, the request's tolerations.
|
|
2887
|
+
|
|
2888
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2889
|
+
|
|
2890
|
+
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.
|
|
2891
|
+
|
|
2892
|
+
The maximum number of tolerations is 16.
|
|
2893
|
+
|
|
2894
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
1866
2895
|
"""
|
|
1867
|
-
if admin_access is not None:
|
|
1868
|
-
pulumi.set(__self__, "admin_access", admin_access)
|
|
1869
2896
|
if allocation_mode is not None:
|
|
1870
2897
|
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
1871
2898
|
if count is not None:
|
|
@@ -1876,32 +2903,24 @@ class DeviceRequestPatch(dict):
|
|
|
1876
2903
|
pulumi.set(__self__, "name", name)
|
|
1877
2904
|
if selectors is not None:
|
|
1878
2905
|
pulumi.set(__self__, "selectors", selectors)
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
@pulumi.getter(name="adminAccess")
|
|
1882
|
-
def admin_access(self) -> Optional[bool]:
|
|
1883
|
-
"""
|
|
1884
|
-
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.
|
|
1885
|
-
|
|
1886
|
-
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.
|
|
1887
|
-
"""
|
|
1888
|
-
return pulumi.get(self, "admin_access")
|
|
2906
|
+
if tolerations is not None:
|
|
2907
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1889
2908
|
|
|
1890
2909
|
@property
|
|
1891
2910
|
@pulumi.getter(name="allocationMode")
|
|
1892
|
-
def allocation_mode(self) -> Optional[str]:
|
|
2911
|
+
def allocation_mode(self) -> Optional[builtins.str]:
|
|
1893
2912
|
"""
|
|
1894
|
-
AllocationMode and its related fields define how devices are allocated to satisfy this
|
|
2913
|
+
AllocationMode and its related fields define how devices are allocated to satisfy this subrequest. Supported values are:
|
|
1895
2914
|
|
|
1896
2915
|
- ExactCount: This request is for a specific number of devices.
|
|
1897
2916
|
This is the default. The exact number is provided in the
|
|
1898
2917
|
count field.
|
|
1899
2918
|
|
|
1900
|
-
- All: This
|
|
2919
|
+
- All: This subrequest is for all of the matching devices in a pool.
|
|
1901
2920
|
Allocation will fail if some devices are already allocated,
|
|
1902
2921
|
unless adminAccess is requested.
|
|
1903
2922
|
|
|
1904
|
-
If
|
|
2923
|
+
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 subrequests must specify this field.
|
|
1905
2924
|
|
|
1906
2925
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1907
2926
|
"""
|
|
@@ -1909,7 +2928,7 @@ class DeviceRequestPatch(dict):
|
|
|
1909
2928
|
|
|
1910
2929
|
@property
|
|
1911
2930
|
@pulumi.getter
|
|
1912
|
-
def count(self) -> Optional[int]:
|
|
2931
|
+
def count(self) -> Optional[builtins.int]:
|
|
1913
2932
|
"""
|
|
1914
2933
|
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.
|
|
1915
2934
|
"""
|
|
@@ -1917,9 +2936,9 @@ class DeviceRequestPatch(dict):
|
|
|
1917
2936
|
|
|
1918
2937
|
@property
|
|
1919
2938
|
@pulumi.getter(name="deviceClassName")
|
|
1920
|
-
def device_class_name(self) -> Optional[str]:
|
|
2939
|
+
def device_class_name(self) -> Optional[builtins.str]:
|
|
1921
2940
|
"""
|
|
1922
|
-
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this
|
|
2941
|
+
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this subrequest.
|
|
1923
2942
|
|
|
1924
2943
|
A class is required. Which classes are available depends on the cluster.
|
|
1925
2944
|
|
|
@@ -1929,9 +2948,9 @@ class DeviceRequestPatch(dict):
|
|
|
1929
2948
|
|
|
1930
2949
|
@property
|
|
1931
2950
|
@pulumi.getter
|
|
1932
|
-
def name(self) -> Optional[str]:
|
|
2951
|
+
def name(self) -> Optional[builtins.str]:
|
|
1933
2952
|
"""
|
|
1934
|
-
Name can be used to reference this
|
|
2953
|
+
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>.
|
|
1935
2954
|
|
|
1936
2955
|
Must be a DNS label.
|
|
1937
2956
|
"""
|
|
@@ -1941,55 +2960,351 @@ class DeviceRequestPatch(dict):
|
|
|
1941
2960
|
@pulumi.getter
|
|
1942
2961
|
def selectors(self) -> Optional[Sequence['outputs.DeviceSelectorPatch']]:
|
|
1943
2962
|
"""
|
|
1944
|
-
Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this
|
|
2963
|
+
Selectors define criteria which must be satisfied by a specific device in order for that device to be considered for this subrequest. All selectors must be satisfied for a device to be considered.
|
|
1945
2964
|
"""
|
|
1946
2965
|
return pulumi.get(self, "selectors")
|
|
1947
2966
|
|
|
2967
|
+
@property
|
|
2968
|
+
@pulumi.getter
|
|
2969
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceTolerationPatch']]:
|
|
2970
|
+
"""
|
|
2971
|
+
If specified, the request's tolerations.
|
|
2972
|
+
|
|
2973
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2974
|
+
|
|
2975
|
+
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.
|
|
2976
|
+
|
|
2977
|
+
The maximum number of tolerations is 16.
|
|
2978
|
+
|
|
2979
|
+
This is an alpha field and requires enabling the DRADeviceTaints feature gate.
|
|
2980
|
+
"""
|
|
2981
|
+
return pulumi.get(self, "tolerations")
|
|
2982
|
+
|
|
1948
2983
|
|
|
1949
2984
|
@pulumi.output_type
|
|
1950
|
-
class
|
|
2985
|
+
class DeviceTaint(dict):
|
|
1951
2986
|
"""
|
|
1952
|
-
|
|
2987
|
+
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.
|
|
1953
2988
|
"""
|
|
2989
|
+
@staticmethod
|
|
2990
|
+
def __key_warning(key: str):
|
|
2991
|
+
suggest = None
|
|
2992
|
+
if key == "timeAdded":
|
|
2993
|
+
suggest = "time_added"
|
|
2994
|
+
|
|
2995
|
+
if suggest:
|
|
2996
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaint. Access the value via the '{suggest}' property getter instead.")
|
|
2997
|
+
|
|
2998
|
+
def __getitem__(self, key: str) -> Any:
|
|
2999
|
+
DeviceTaint.__key_warning(key)
|
|
3000
|
+
return super().__getitem__(key)
|
|
3001
|
+
|
|
3002
|
+
def get(self, key: str, default = None) -> Any:
|
|
3003
|
+
DeviceTaint.__key_warning(key)
|
|
3004
|
+
return super().get(key, default)
|
|
3005
|
+
|
|
1954
3006
|
def __init__(__self__, *,
|
|
1955
|
-
|
|
3007
|
+
effect: builtins.str,
|
|
3008
|
+
key: builtins.str,
|
|
3009
|
+
time_added: Optional[builtins.str] = None,
|
|
3010
|
+
value: Optional[builtins.str] = None):
|
|
1956
3011
|
"""
|
|
1957
|
-
|
|
1958
|
-
:param
|
|
3012
|
+
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.
|
|
3013
|
+
: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.
|
|
3014
|
+
:param builtins.str key: The taint key to be applied to a device. Must be a label name.
|
|
3015
|
+
:param builtins.str time_added: TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3016
|
+
:param builtins.str value: The taint value corresponding to the taint key. Must be a label value.
|
|
1959
3017
|
"""
|
|
1960
|
-
|
|
1961
|
-
|
|
3018
|
+
pulumi.set(__self__, "effect", effect)
|
|
3019
|
+
pulumi.set(__self__, "key", key)
|
|
3020
|
+
if time_added is not None:
|
|
3021
|
+
pulumi.set(__self__, "time_added", time_added)
|
|
3022
|
+
if value is not None:
|
|
3023
|
+
pulumi.set(__self__, "value", value)
|
|
1962
3024
|
|
|
1963
3025
|
@property
|
|
1964
3026
|
@pulumi.getter
|
|
1965
|
-
def
|
|
3027
|
+
def effect(self) -> builtins.str:
|
|
1966
3028
|
"""
|
|
1967
|
-
|
|
3029
|
+
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.
|
|
1968
3030
|
"""
|
|
1969
|
-
return pulumi.get(self, "
|
|
3031
|
+
return pulumi.get(self, "effect")
|
|
3032
|
+
|
|
3033
|
+
@property
|
|
3034
|
+
@pulumi.getter
|
|
3035
|
+
def key(self) -> builtins.str:
|
|
3036
|
+
"""
|
|
3037
|
+
The taint key to be applied to a device. Must be a label name.
|
|
3038
|
+
"""
|
|
3039
|
+
return pulumi.get(self, "key")
|
|
3040
|
+
|
|
3041
|
+
@property
|
|
3042
|
+
@pulumi.getter(name="timeAdded")
|
|
3043
|
+
def time_added(self) -> Optional[builtins.str]:
|
|
3044
|
+
"""
|
|
3045
|
+
TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3046
|
+
"""
|
|
3047
|
+
return pulumi.get(self, "time_added")
|
|
3048
|
+
|
|
3049
|
+
@property
|
|
3050
|
+
@pulumi.getter
|
|
3051
|
+
def value(self) -> Optional[builtins.str]:
|
|
3052
|
+
"""
|
|
3053
|
+
The taint value corresponding to the taint key. Must be a label value.
|
|
3054
|
+
"""
|
|
3055
|
+
return pulumi.get(self, "value")
|
|
1970
3056
|
|
|
1971
3057
|
|
|
1972
3058
|
@pulumi.output_type
|
|
1973
|
-
class
|
|
3059
|
+
class DeviceTaintPatch(dict):
|
|
1974
3060
|
"""
|
|
1975
|
-
|
|
3061
|
+
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.
|
|
1976
3062
|
"""
|
|
3063
|
+
@staticmethod
|
|
3064
|
+
def __key_warning(key: str):
|
|
3065
|
+
suggest = None
|
|
3066
|
+
if key == "timeAdded":
|
|
3067
|
+
suggest = "time_added"
|
|
3068
|
+
|
|
3069
|
+
if suggest:
|
|
3070
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTaintPatch. Access the value via the '{suggest}' property getter instead.")
|
|
3071
|
+
|
|
3072
|
+
def __getitem__(self, key: str) -> Any:
|
|
3073
|
+
DeviceTaintPatch.__key_warning(key)
|
|
3074
|
+
return super().__getitem__(key)
|
|
3075
|
+
|
|
3076
|
+
def get(self, key: str, default = None) -> Any:
|
|
3077
|
+
DeviceTaintPatch.__key_warning(key)
|
|
3078
|
+
return super().get(key, default)
|
|
3079
|
+
|
|
1977
3080
|
def __init__(__self__, *,
|
|
1978
|
-
|
|
3081
|
+
effect: Optional[builtins.str] = None,
|
|
3082
|
+
key: Optional[builtins.str] = None,
|
|
3083
|
+
time_added: Optional[builtins.str] = None,
|
|
3084
|
+
value: Optional[builtins.str] = None):
|
|
3085
|
+
"""
|
|
3086
|
+
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.
|
|
3087
|
+
: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.
|
|
3088
|
+
:param builtins.str key: The taint key to be applied to a device. Must be a label name.
|
|
3089
|
+
:param builtins.str time_added: TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3090
|
+
:param builtins.str value: The taint value corresponding to the taint key. Must be a label value.
|
|
3091
|
+
"""
|
|
3092
|
+
if effect is not None:
|
|
3093
|
+
pulumi.set(__self__, "effect", effect)
|
|
3094
|
+
if key is not None:
|
|
3095
|
+
pulumi.set(__self__, "key", key)
|
|
3096
|
+
if time_added is not None:
|
|
3097
|
+
pulumi.set(__self__, "time_added", time_added)
|
|
3098
|
+
if value is not None:
|
|
3099
|
+
pulumi.set(__self__, "value", value)
|
|
3100
|
+
|
|
3101
|
+
@property
|
|
3102
|
+
@pulumi.getter
|
|
3103
|
+
def effect(self) -> Optional[builtins.str]:
|
|
1979
3104
|
"""
|
|
1980
|
-
|
|
1981
|
-
:param 'CELDeviceSelectorPatchArgs' cel: CEL contains a CEL expression for selecting a device.
|
|
3105
|
+
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.
|
|
1982
3106
|
"""
|
|
1983
|
-
|
|
1984
|
-
pulumi.set(__self__, "cel", cel)
|
|
3107
|
+
return pulumi.get(self, "effect")
|
|
1985
3108
|
|
|
1986
3109
|
@property
|
|
1987
3110
|
@pulumi.getter
|
|
1988
|
-
def
|
|
3111
|
+
def key(self) -> Optional[builtins.str]:
|
|
1989
3112
|
"""
|
|
1990
|
-
|
|
3113
|
+
The taint key to be applied to a device. Must be a label name.
|
|
1991
3114
|
"""
|
|
1992
|
-
return pulumi.get(self, "
|
|
3115
|
+
return pulumi.get(self, "key")
|
|
3116
|
+
|
|
3117
|
+
@property
|
|
3118
|
+
@pulumi.getter(name="timeAdded")
|
|
3119
|
+
def time_added(self) -> Optional[builtins.str]:
|
|
3120
|
+
"""
|
|
3121
|
+
TimeAdded represents the time at which the taint was added. Added automatically during create or update if not set.
|
|
3122
|
+
"""
|
|
3123
|
+
return pulumi.get(self, "time_added")
|
|
3124
|
+
|
|
3125
|
+
@property
|
|
3126
|
+
@pulumi.getter
|
|
3127
|
+
def value(self) -> Optional[builtins.str]:
|
|
3128
|
+
"""
|
|
3129
|
+
The taint value corresponding to the taint key. Must be a label value.
|
|
3130
|
+
"""
|
|
3131
|
+
return pulumi.get(self, "value")
|
|
3132
|
+
|
|
3133
|
+
|
|
3134
|
+
@pulumi.output_type
|
|
3135
|
+
class DeviceToleration(dict):
|
|
3136
|
+
"""
|
|
3137
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
3138
|
+
"""
|
|
3139
|
+
@staticmethod
|
|
3140
|
+
def __key_warning(key: str):
|
|
3141
|
+
suggest = None
|
|
3142
|
+
if key == "tolerationSeconds":
|
|
3143
|
+
suggest = "toleration_seconds"
|
|
3144
|
+
|
|
3145
|
+
if suggest:
|
|
3146
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceToleration. Access the value via the '{suggest}' property getter instead.")
|
|
3147
|
+
|
|
3148
|
+
def __getitem__(self, key: str) -> Any:
|
|
3149
|
+
DeviceToleration.__key_warning(key)
|
|
3150
|
+
return super().__getitem__(key)
|
|
3151
|
+
|
|
3152
|
+
def get(self, key: str, default = None) -> Any:
|
|
3153
|
+
DeviceToleration.__key_warning(key)
|
|
3154
|
+
return super().get(key, default)
|
|
3155
|
+
|
|
3156
|
+
def __init__(__self__, *,
|
|
3157
|
+
effect: Optional[builtins.str] = None,
|
|
3158
|
+
key: Optional[builtins.str] = None,
|
|
3159
|
+
operator: Optional[builtins.str] = None,
|
|
3160
|
+
toleration_seconds: Optional[builtins.int] = None,
|
|
3161
|
+
value: Optional[builtins.str] = None):
|
|
3162
|
+
"""
|
|
3163
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
3164
|
+
: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.
|
|
3165
|
+
: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.
|
|
3166
|
+
: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.
|
|
3167
|
+
: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>.
|
|
3168
|
+
: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.
|
|
3169
|
+
"""
|
|
3170
|
+
if effect is not None:
|
|
3171
|
+
pulumi.set(__self__, "effect", effect)
|
|
3172
|
+
if key is not None:
|
|
3173
|
+
pulumi.set(__self__, "key", key)
|
|
3174
|
+
if operator is not None:
|
|
3175
|
+
pulumi.set(__self__, "operator", operator)
|
|
3176
|
+
if toleration_seconds is not None:
|
|
3177
|
+
pulumi.set(__self__, "toleration_seconds", toleration_seconds)
|
|
3178
|
+
if value is not None:
|
|
3179
|
+
pulumi.set(__self__, "value", value)
|
|
3180
|
+
|
|
3181
|
+
@property
|
|
3182
|
+
@pulumi.getter
|
|
3183
|
+
def effect(self) -> Optional[builtins.str]:
|
|
3184
|
+
"""
|
|
3185
|
+
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule and NoExecute.
|
|
3186
|
+
"""
|
|
3187
|
+
return pulumi.get(self, "effect")
|
|
3188
|
+
|
|
3189
|
+
@property
|
|
3190
|
+
@pulumi.getter
|
|
3191
|
+
def key(self) -> Optional[builtins.str]:
|
|
3192
|
+
"""
|
|
3193
|
+
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.
|
|
3194
|
+
"""
|
|
3195
|
+
return pulumi.get(self, "key")
|
|
3196
|
+
|
|
3197
|
+
@property
|
|
3198
|
+
@pulumi.getter
|
|
3199
|
+
def operator(self) -> Optional[builtins.str]:
|
|
3200
|
+
"""
|
|
3201
|
+
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.
|
|
3202
|
+
"""
|
|
3203
|
+
return pulumi.get(self, "operator")
|
|
3204
|
+
|
|
3205
|
+
@property
|
|
3206
|
+
@pulumi.getter(name="tolerationSeconds")
|
|
3207
|
+
def toleration_seconds(self) -> Optional[builtins.int]:
|
|
3208
|
+
"""
|
|
3209
|
+
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>.
|
|
3210
|
+
"""
|
|
3211
|
+
return pulumi.get(self, "toleration_seconds")
|
|
3212
|
+
|
|
3213
|
+
@property
|
|
3214
|
+
@pulumi.getter
|
|
3215
|
+
def value(self) -> Optional[builtins.str]:
|
|
3216
|
+
"""
|
|
3217
|
+
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.
|
|
3218
|
+
"""
|
|
3219
|
+
return pulumi.get(self, "value")
|
|
3220
|
+
|
|
3221
|
+
|
|
3222
|
+
@pulumi.output_type
|
|
3223
|
+
class DeviceTolerationPatch(dict):
|
|
3224
|
+
"""
|
|
3225
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
3226
|
+
"""
|
|
3227
|
+
@staticmethod
|
|
3228
|
+
def __key_warning(key: str):
|
|
3229
|
+
suggest = None
|
|
3230
|
+
if key == "tolerationSeconds":
|
|
3231
|
+
suggest = "toleration_seconds"
|
|
3232
|
+
|
|
3233
|
+
if suggest:
|
|
3234
|
+
pulumi.log.warn(f"Key '{key}' not found in DeviceTolerationPatch. Access the value via the '{suggest}' property getter instead.")
|
|
3235
|
+
|
|
3236
|
+
def __getitem__(self, key: str) -> Any:
|
|
3237
|
+
DeviceTolerationPatch.__key_warning(key)
|
|
3238
|
+
return super().__getitem__(key)
|
|
3239
|
+
|
|
3240
|
+
def get(self, key: str, default = None) -> Any:
|
|
3241
|
+
DeviceTolerationPatch.__key_warning(key)
|
|
3242
|
+
return super().get(key, default)
|
|
3243
|
+
|
|
3244
|
+
def __init__(__self__, *,
|
|
3245
|
+
effect: Optional[builtins.str] = None,
|
|
3246
|
+
key: Optional[builtins.str] = None,
|
|
3247
|
+
operator: Optional[builtins.str] = None,
|
|
3248
|
+
toleration_seconds: Optional[builtins.int] = None,
|
|
3249
|
+
value: Optional[builtins.str] = None):
|
|
3250
|
+
"""
|
|
3251
|
+
The ResourceClaim this DeviceToleration is attached to tolerates any taint that matches the triple <key,value,effect> using the matching operator <operator>.
|
|
3252
|
+
: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.
|
|
3253
|
+
: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.
|
|
3254
|
+
: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.
|
|
3255
|
+
: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>.
|
|
3256
|
+
: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.
|
|
3257
|
+
"""
|
|
3258
|
+
if effect is not None:
|
|
3259
|
+
pulumi.set(__self__, "effect", effect)
|
|
3260
|
+
if key is not None:
|
|
3261
|
+
pulumi.set(__self__, "key", key)
|
|
3262
|
+
if operator is not None:
|
|
3263
|
+
pulumi.set(__self__, "operator", operator)
|
|
3264
|
+
if toleration_seconds is not None:
|
|
3265
|
+
pulumi.set(__self__, "toleration_seconds", toleration_seconds)
|
|
3266
|
+
if value is not None:
|
|
3267
|
+
pulumi.set(__self__, "value", value)
|
|
3268
|
+
|
|
3269
|
+
@property
|
|
3270
|
+
@pulumi.getter
|
|
3271
|
+
def effect(self) -> Optional[builtins.str]:
|
|
3272
|
+
"""
|
|
3273
|
+
Effect indicates the taint effect to match. Empty means match all taint effects. When specified, allowed values are NoSchedule and NoExecute.
|
|
3274
|
+
"""
|
|
3275
|
+
return pulumi.get(self, "effect")
|
|
3276
|
+
|
|
3277
|
+
@property
|
|
3278
|
+
@pulumi.getter
|
|
3279
|
+
def key(self) -> Optional[builtins.str]:
|
|
3280
|
+
"""
|
|
3281
|
+
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.
|
|
3282
|
+
"""
|
|
3283
|
+
return pulumi.get(self, "key")
|
|
3284
|
+
|
|
3285
|
+
@property
|
|
3286
|
+
@pulumi.getter
|
|
3287
|
+
def operator(self) -> Optional[builtins.str]:
|
|
3288
|
+
"""
|
|
3289
|
+
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.
|
|
3290
|
+
"""
|
|
3291
|
+
return pulumi.get(self, "operator")
|
|
3292
|
+
|
|
3293
|
+
@property
|
|
3294
|
+
@pulumi.getter(name="tolerationSeconds")
|
|
3295
|
+
def toleration_seconds(self) -> Optional[builtins.int]:
|
|
3296
|
+
"""
|
|
3297
|
+
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>.
|
|
3298
|
+
"""
|
|
3299
|
+
return pulumi.get(self, "toleration_seconds")
|
|
3300
|
+
|
|
3301
|
+
@property
|
|
3302
|
+
@pulumi.getter
|
|
3303
|
+
def value(self) -> Optional[builtins.str]:
|
|
3304
|
+
"""
|
|
3305
|
+
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.
|
|
3306
|
+
"""
|
|
3307
|
+
return pulumi.get(self, "value")
|
|
1993
3308
|
|
|
1994
3309
|
|
|
1995
3310
|
@pulumi.output_type
|
|
@@ -2017,18 +3332,20 @@ class NetworkDeviceData(dict):
|
|
|
2017
3332
|
return super().get(key, default)
|
|
2018
3333
|
|
|
2019
3334
|
def __init__(__self__, *,
|
|
2020
|
-
hardware_address: Optional[str] = None,
|
|
2021
|
-
interface_name: Optional[str] = None,
|
|
2022
|
-
ips: Optional[Sequence[str]] = None):
|
|
3335
|
+
hardware_address: Optional[builtins.str] = None,
|
|
3336
|
+
interface_name: Optional[builtins.str] = None,
|
|
3337
|
+
ips: Optional[Sequence[builtins.str]] = None):
|
|
2023
3338
|
"""
|
|
2024
3339
|
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.
|
|
2025
|
-
:param str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
3340
|
+
:param builtins.str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2026
3341
|
|
|
2027
3342
|
Must not be longer than 128 characters.
|
|
2028
|
-
: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.
|
|
3343
|
+
: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.
|
|
2029
3344
|
|
|
2030
3345
|
Must not be longer than 256 characters.
|
|
2031
|
-
: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.
|
|
3346
|
+
: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.
|
|
3347
|
+
|
|
3348
|
+
Must not contain more than 16 entries.
|
|
2032
3349
|
"""
|
|
2033
3350
|
if hardware_address is not None:
|
|
2034
3351
|
pulumi.set(__self__, "hardware_address", hardware_address)
|
|
@@ -2039,7 +3356,7 @@ class NetworkDeviceData(dict):
|
|
|
2039
3356
|
|
|
2040
3357
|
@property
|
|
2041
3358
|
@pulumi.getter(name="hardwareAddress")
|
|
2042
|
-
def hardware_address(self) -> Optional[str]:
|
|
3359
|
+
def hardware_address(self) -> Optional[builtins.str]:
|
|
2043
3360
|
"""
|
|
2044
3361
|
HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2045
3362
|
|
|
@@ -2049,7 +3366,7 @@ class NetworkDeviceData(dict):
|
|
|
2049
3366
|
|
|
2050
3367
|
@property
|
|
2051
3368
|
@pulumi.getter(name="interfaceName")
|
|
2052
|
-
def interface_name(self) -> Optional[str]:
|
|
3369
|
+
def interface_name(self) -> Optional[builtins.str]:
|
|
2053
3370
|
"""
|
|
2054
3371
|
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.
|
|
2055
3372
|
|
|
@@ -2059,9 +3376,11 @@ class NetworkDeviceData(dict):
|
|
|
2059
3376
|
|
|
2060
3377
|
@property
|
|
2061
3378
|
@pulumi.getter
|
|
2062
|
-
def ips(self) -> Optional[Sequence[str]]:
|
|
3379
|
+
def ips(self) -> Optional[Sequence[builtins.str]]:
|
|
2063
3380
|
"""
|
|
2064
3381
|
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.
|
|
3382
|
+
|
|
3383
|
+
Must not contain more than 16 entries.
|
|
2065
3384
|
"""
|
|
2066
3385
|
return pulumi.get(self, "ips")
|
|
2067
3386
|
|
|
@@ -2091,18 +3410,20 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2091
3410
|
return super().get(key, default)
|
|
2092
3411
|
|
|
2093
3412
|
def __init__(__self__, *,
|
|
2094
|
-
hardware_address: Optional[str] = None,
|
|
2095
|
-
interface_name: Optional[str] = None,
|
|
2096
|
-
ips: Optional[Sequence[str]] = None):
|
|
3413
|
+
hardware_address: Optional[builtins.str] = None,
|
|
3414
|
+
interface_name: Optional[builtins.str] = None,
|
|
3415
|
+
ips: Optional[Sequence[builtins.str]] = None):
|
|
2097
3416
|
"""
|
|
2098
3417
|
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.
|
|
2099
|
-
:param str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
3418
|
+
:param builtins.str hardware_address: HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2100
3419
|
|
|
2101
3420
|
Must not be longer than 128 characters.
|
|
2102
|
-
: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.
|
|
3421
|
+
: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.
|
|
2103
3422
|
|
|
2104
3423
|
Must not be longer than 256 characters.
|
|
2105
|
-
: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.
|
|
3424
|
+
: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.
|
|
3425
|
+
|
|
3426
|
+
Must not contain more than 16 entries.
|
|
2106
3427
|
"""
|
|
2107
3428
|
if hardware_address is not None:
|
|
2108
3429
|
pulumi.set(__self__, "hardware_address", hardware_address)
|
|
@@ -2113,7 +3434,7 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2113
3434
|
|
|
2114
3435
|
@property
|
|
2115
3436
|
@pulumi.getter(name="hardwareAddress")
|
|
2116
|
-
def hardware_address(self) -> Optional[str]:
|
|
3437
|
+
def hardware_address(self) -> Optional[builtins.str]:
|
|
2117
3438
|
"""
|
|
2118
3439
|
HardwareAddress represents the hardware address (e.g. MAC Address) of the device's network interface.
|
|
2119
3440
|
|
|
@@ -2123,7 +3444,7 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2123
3444
|
|
|
2124
3445
|
@property
|
|
2125
3446
|
@pulumi.getter(name="interfaceName")
|
|
2126
|
-
def interface_name(self) -> Optional[str]:
|
|
3447
|
+
def interface_name(self) -> Optional[builtins.str]:
|
|
2127
3448
|
"""
|
|
2128
3449
|
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.
|
|
2129
3450
|
|
|
@@ -2133,9 +3454,11 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2133
3454
|
|
|
2134
3455
|
@property
|
|
2135
3456
|
@pulumi.getter
|
|
2136
|
-
def ips(self) -> Optional[Sequence[str]]:
|
|
3457
|
+
def ips(self) -> Optional[Sequence[builtins.str]]:
|
|
2137
3458
|
"""
|
|
2138
3459
|
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.
|
|
3460
|
+
|
|
3461
|
+
Must not contain more than 16 entries.
|
|
2139
3462
|
"""
|
|
2140
3463
|
return pulumi.get(self, "ips")
|
|
2141
3464
|
|
|
@@ -2146,11 +3469,11 @@ class OpaqueDeviceConfiguration(dict):
|
|
|
2146
3469
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2147
3470
|
"""
|
|
2148
3471
|
def __init__(__self__, *,
|
|
2149
|
-
driver: str,
|
|
3472
|
+
driver: builtins.str,
|
|
2150
3473
|
parameters: Any):
|
|
2151
3474
|
"""
|
|
2152
3475
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2153
|
-
:param str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
3476
|
+
:param builtins.str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2154
3477
|
|
|
2155
3478
|
An admission policy provided by the driver developer could use this to decide whether it needs to validate them.
|
|
2156
3479
|
|
|
@@ -2164,7 +3487,7 @@ class OpaqueDeviceConfiguration(dict):
|
|
|
2164
3487
|
|
|
2165
3488
|
@property
|
|
2166
3489
|
@pulumi.getter
|
|
2167
|
-
def driver(self) -> str:
|
|
3490
|
+
def driver(self) -> builtins.str:
|
|
2168
3491
|
"""
|
|
2169
3492
|
Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2170
3493
|
|
|
@@ -2191,11 +3514,11 @@ class OpaqueDeviceConfigurationPatch(dict):
|
|
|
2191
3514
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2192
3515
|
"""
|
|
2193
3516
|
def __init__(__self__, *,
|
|
2194
|
-
driver: Optional[str] = None,
|
|
3517
|
+
driver: Optional[builtins.str] = None,
|
|
2195
3518
|
parameters: Optional[Any] = None):
|
|
2196
3519
|
"""
|
|
2197
3520
|
OpaqueDeviceConfiguration contains configuration parameters for a driver in a format defined by the driver vendor.
|
|
2198
|
-
:param str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
3521
|
+
:param builtins.str driver: Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2199
3522
|
|
|
2200
3523
|
An admission policy provided by the driver developer could use this to decide whether it needs to validate them.
|
|
2201
3524
|
|
|
@@ -2211,7 +3534,7 @@ class OpaqueDeviceConfigurationPatch(dict):
|
|
|
2211
3534
|
|
|
2212
3535
|
@property
|
|
2213
3536
|
@pulumi.getter
|
|
2214
|
-
def driver(self) -> Optional[str]:
|
|
3537
|
+
def driver(self) -> Optional[builtins.str]:
|
|
2215
3538
|
"""
|
|
2216
3539
|
Driver is used to determine which kubelet plugin needs to be passed these configuration parameters.
|
|
2217
3540
|
|
|
@@ -2258,8 +3581,8 @@ class ResourceClaim(dict):
|
|
|
2258
3581
|
|
|
2259
3582
|
def __init__(__self__, *,
|
|
2260
3583
|
spec: 'outputs.ResourceClaimSpec',
|
|
2261
|
-
api_version: Optional[str] = None,
|
|
2262
|
-
kind: Optional[str] = None,
|
|
3584
|
+
api_version: Optional[builtins.str] = None,
|
|
3585
|
+
kind: Optional[builtins.str] = None,
|
|
2263
3586
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None,
|
|
2264
3587
|
status: Optional['outputs.ResourceClaimStatus'] = None):
|
|
2265
3588
|
"""
|
|
@@ -2267,8 +3590,8 @@ class ResourceClaim(dict):
|
|
|
2267
3590
|
|
|
2268
3591
|
This is an alpha type and requires enabling the DynamicResourceAllocation feature gate.
|
|
2269
3592
|
:param 'ResourceClaimSpecArgs' spec: Spec describes what is being requested and how to configure it. The spec is immutable.
|
|
2270
|
-
: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
|
|
2271
|
-
: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
|
|
3593
|
+
: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
|
|
3594
|
+
: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
|
|
2272
3595
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
2273
3596
|
:param 'ResourceClaimStatusArgs' status: Status describes whether the claim is ready to use and what has been allocated.
|
|
2274
3597
|
"""
|
|
@@ -2292,7 +3615,7 @@ class ResourceClaim(dict):
|
|
|
2292
3615
|
|
|
2293
3616
|
@property
|
|
2294
3617
|
@pulumi.getter(name="apiVersion")
|
|
2295
|
-
def api_version(self) -> Optional[str]:
|
|
3618
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
2296
3619
|
"""
|
|
2297
3620
|
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
|
|
2298
3621
|
"""
|
|
@@ -2300,7 +3623,7 @@ class ResourceClaim(dict):
|
|
|
2300
3623
|
|
|
2301
3624
|
@property
|
|
2302
3625
|
@pulumi.getter
|
|
2303
|
-
def kind(self) -> Optional[str]:
|
|
3626
|
+
def kind(self) -> Optional[builtins.str]:
|
|
2304
3627
|
"""
|
|
2305
3628
|
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
|
|
2306
3629
|
"""
|
|
@@ -2346,16 +3669,16 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2346
3669
|
return super().get(key, default)
|
|
2347
3670
|
|
|
2348
3671
|
def __init__(__self__, *,
|
|
2349
|
-
name: str,
|
|
2350
|
-
resource: str,
|
|
2351
|
-
uid: str,
|
|
2352
|
-
api_group: Optional[str] = None):
|
|
3672
|
+
name: builtins.str,
|
|
3673
|
+
resource: builtins.str,
|
|
3674
|
+
uid: builtins.str,
|
|
3675
|
+
api_group: Optional[builtins.str] = None):
|
|
2353
3676
|
"""
|
|
2354
3677
|
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.
|
|
2355
|
-
:param str name: Name is the name of resource being referenced.
|
|
2356
|
-
:param str resource: Resource is the type of resource being referenced, for example "pods".
|
|
2357
|
-
:param str uid: UID identifies exactly one incarnation of the resource.
|
|
2358
|
-
: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.
|
|
3678
|
+
:param builtins.str name: Name is the name of resource being referenced.
|
|
3679
|
+
:param builtins.str resource: Resource is the type of resource being referenced, for example "pods".
|
|
3680
|
+
:param builtins.str uid: UID identifies exactly one incarnation of the resource.
|
|
3681
|
+
: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.
|
|
2359
3682
|
"""
|
|
2360
3683
|
pulumi.set(__self__, "name", name)
|
|
2361
3684
|
pulumi.set(__self__, "resource", resource)
|
|
@@ -2365,7 +3688,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2365
3688
|
|
|
2366
3689
|
@property
|
|
2367
3690
|
@pulumi.getter
|
|
2368
|
-
def name(self) -> str:
|
|
3691
|
+
def name(self) -> builtins.str:
|
|
2369
3692
|
"""
|
|
2370
3693
|
Name is the name of resource being referenced.
|
|
2371
3694
|
"""
|
|
@@ -2373,7 +3696,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2373
3696
|
|
|
2374
3697
|
@property
|
|
2375
3698
|
@pulumi.getter
|
|
2376
|
-
def resource(self) -> str:
|
|
3699
|
+
def resource(self) -> builtins.str:
|
|
2377
3700
|
"""
|
|
2378
3701
|
Resource is the type of resource being referenced, for example "pods".
|
|
2379
3702
|
"""
|
|
@@ -2381,7 +3704,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2381
3704
|
|
|
2382
3705
|
@property
|
|
2383
3706
|
@pulumi.getter
|
|
2384
|
-
def uid(self) -> str:
|
|
3707
|
+
def uid(self) -> builtins.str:
|
|
2385
3708
|
"""
|
|
2386
3709
|
UID identifies exactly one incarnation of the resource.
|
|
2387
3710
|
"""
|
|
@@ -2389,7 +3712,7 @@ class ResourceClaimConsumerReference(dict):
|
|
|
2389
3712
|
|
|
2390
3713
|
@property
|
|
2391
3714
|
@pulumi.getter(name="apiGroup")
|
|
2392
|
-
def api_group(self) -> Optional[str]:
|
|
3715
|
+
def api_group(self) -> Optional[builtins.str]:
|
|
2393
3716
|
"""
|
|
2394
3717
|
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.
|
|
2395
3718
|
"""
|
|
@@ -2419,16 +3742,16 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2419
3742
|
return super().get(key, default)
|
|
2420
3743
|
|
|
2421
3744
|
def __init__(__self__, *,
|
|
2422
|
-
api_group: Optional[str] = None,
|
|
2423
|
-
name: Optional[str] = None,
|
|
2424
|
-
resource: Optional[str] = None,
|
|
2425
|
-
uid: Optional[str] = None):
|
|
3745
|
+
api_group: Optional[builtins.str] = None,
|
|
3746
|
+
name: Optional[builtins.str] = None,
|
|
3747
|
+
resource: Optional[builtins.str] = None,
|
|
3748
|
+
uid: Optional[builtins.str] = None):
|
|
2426
3749
|
"""
|
|
2427
3750
|
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.
|
|
2428
|
-
: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.
|
|
2429
|
-
:param str name: Name is the name of resource being referenced.
|
|
2430
|
-
:param str resource: Resource is the type of resource being referenced, for example "pods".
|
|
2431
|
-
:param str uid: UID identifies exactly one incarnation of the resource.
|
|
3751
|
+
: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.
|
|
3752
|
+
:param builtins.str name: Name is the name of resource being referenced.
|
|
3753
|
+
:param builtins.str resource: Resource is the type of resource being referenced, for example "pods".
|
|
3754
|
+
:param builtins.str uid: UID identifies exactly one incarnation of the resource.
|
|
2432
3755
|
"""
|
|
2433
3756
|
if api_group is not None:
|
|
2434
3757
|
pulumi.set(__self__, "api_group", api_group)
|
|
@@ -2441,7 +3764,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2441
3764
|
|
|
2442
3765
|
@property
|
|
2443
3766
|
@pulumi.getter(name="apiGroup")
|
|
2444
|
-
def api_group(self) -> Optional[str]:
|
|
3767
|
+
def api_group(self) -> Optional[builtins.str]:
|
|
2445
3768
|
"""
|
|
2446
3769
|
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.
|
|
2447
3770
|
"""
|
|
@@ -2449,7 +3772,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2449
3772
|
|
|
2450
3773
|
@property
|
|
2451
3774
|
@pulumi.getter
|
|
2452
|
-
def name(self) -> Optional[str]:
|
|
3775
|
+
def name(self) -> Optional[builtins.str]:
|
|
2453
3776
|
"""
|
|
2454
3777
|
Name is the name of resource being referenced.
|
|
2455
3778
|
"""
|
|
@@ -2457,7 +3780,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2457
3780
|
|
|
2458
3781
|
@property
|
|
2459
3782
|
@pulumi.getter
|
|
2460
|
-
def resource(self) -> Optional[str]:
|
|
3783
|
+
def resource(self) -> Optional[builtins.str]:
|
|
2461
3784
|
"""
|
|
2462
3785
|
Resource is the type of resource being referenced, for example "pods".
|
|
2463
3786
|
"""
|
|
@@ -2465,7 +3788,7 @@ class ResourceClaimConsumerReferencePatch(dict):
|
|
|
2465
3788
|
|
|
2466
3789
|
@property
|
|
2467
3790
|
@pulumi.getter
|
|
2468
|
-
def uid(self) -> Optional[str]:
|
|
3791
|
+
def uid(self) -> Optional[builtins.str]:
|
|
2469
3792
|
"""
|
|
2470
3793
|
UID identifies exactly one incarnation of the resource.
|
|
2471
3794
|
"""
|
|
@@ -2554,7 +3877,7 @@ class ResourceClaimStatus(dict):
|
|
|
2554
3877
|
|
|
2555
3878
|
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.
|
|
2556
3879
|
|
|
2557
|
-
There can be at most
|
|
3880
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2558
3881
|
"""
|
|
2559
3882
|
if allocation is not None:
|
|
2560
3883
|
pulumi.set(__self__, "allocation", allocation)
|
|
@@ -2589,7 +3912,7 @@ class ResourceClaimStatus(dict):
|
|
|
2589
3912
|
|
|
2590
3913
|
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.
|
|
2591
3914
|
|
|
2592
|
-
There can be at most
|
|
3915
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2593
3916
|
"""
|
|
2594
3917
|
return pulumi.get(self, "reserved_for")
|
|
2595
3918
|
|
|
@@ -2630,7 +3953,7 @@ class ResourceClaimStatusPatch(dict):
|
|
|
2630
3953
|
|
|
2631
3954
|
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.
|
|
2632
3955
|
|
|
2633
|
-
There can be at most
|
|
3956
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2634
3957
|
"""
|
|
2635
3958
|
if allocation is not None:
|
|
2636
3959
|
pulumi.set(__self__, "allocation", allocation)
|
|
@@ -2665,7 +3988,7 @@ class ResourceClaimStatusPatch(dict):
|
|
|
2665
3988
|
|
|
2666
3989
|
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.
|
|
2667
3990
|
|
|
2668
|
-
There can be at most
|
|
3991
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2669
3992
|
"""
|
|
2670
3993
|
return pulumi.get(self, "reserved_for")
|
|
2671
3994
|
|
|
@@ -2696,8 +4019,8 @@ class ResourceClaimTemplate(dict):
|
|
|
2696
4019
|
|
|
2697
4020
|
def __init__(__self__, *,
|
|
2698
4021
|
spec: 'outputs.ResourceClaimTemplateSpec',
|
|
2699
|
-
api_version: Optional[str] = None,
|
|
2700
|
-
kind: Optional[str] = None,
|
|
4022
|
+
api_version: Optional[builtins.str] = None,
|
|
4023
|
+
kind: Optional[builtins.str] = None,
|
|
2701
4024
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None):
|
|
2702
4025
|
"""
|
|
2703
4026
|
ResourceClaimTemplate is used to produce ResourceClaim objects.
|
|
@@ -2706,8 +4029,8 @@ class ResourceClaimTemplate(dict):
|
|
|
2706
4029
|
:param 'ResourceClaimTemplateSpecArgs' spec: Describes the ResourceClaim that is to be generated.
|
|
2707
4030
|
|
|
2708
4031
|
This field is immutable. A ResourceClaim will get created by the control plane for a Pod when needed and then not get updated anymore.
|
|
2709
|
-
: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
|
|
2710
|
-
: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
|
|
4032
|
+
: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
|
|
4033
|
+
: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
|
|
2711
4034
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
2712
4035
|
"""
|
|
2713
4036
|
pulumi.set(__self__, "spec", spec)
|
|
@@ -2730,7 +4053,7 @@ class ResourceClaimTemplate(dict):
|
|
|
2730
4053
|
|
|
2731
4054
|
@property
|
|
2732
4055
|
@pulumi.getter(name="apiVersion")
|
|
2733
|
-
def api_version(self) -> Optional[str]:
|
|
4056
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
2734
4057
|
"""
|
|
2735
4058
|
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
|
|
2736
4059
|
"""
|
|
@@ -2738,7 +4061,7 @@ class ResourceClaimTemplate(dict):
|
|
|
2738
4061
|
|
|
2739
4062
|
@property
|
|
2740
4063
|
@pulumi.getter
|
|
2741
|
-
def kind(self) -> Optional[str]:
|
|
4064
|
+
def kind(self) -> Optional[builtins.str]:
|
|
2742
4065
|
"""
|
|
2743
4066
|
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
|
|
2744
4067
|
"""
|
|
@@ -2845,18 +4168,18 @@ class ResourcePool(dict):
|
|
|
2845
4168
|
return super().get(key, default)
|
|
2846
4169
|
|
|
2847
4170
|
def __init__(__self__, *,
|
|
2848
|
-
generation: int,
|
|
2849
|
-
name: str,
|
|
2850
|
-
resource_slice_count: int):
|
|
4171
|
+
generation: builtins.int,
|
|
4172
|
+
name: builtins.str,
|
|
4173
|
+
resource_slice_count: builtins.int):
|
|
2851
4174
|
"""
|
|
2852
4175
|
ResourcePool describes the pool that ResourceSlices belong to.
|
|
2853
|
-
: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.
|
|
4176
|
+
: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.
|
|
2854
4177
|
|
|
2855
4178
|
Combined with ResourceSliceCount, this mechanism enables consumers to detect pools which are comprised of multiple ResourceSlices and are in an incomplete state.
|
|
2856
|
-
: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.
|
|
4179
|
+
: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.
|
|
2857
4180
|
|
|
2858
4181
|
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.
|
|
2859
|
-
:param int resource_slice_count: ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
4182
|
+
: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.
|
|
2860
4183
|
|
|
2861
4184
|
Consumers can use this to check whether they have seen all ResourceSlices belonging to the same pool.
|
|
2862
4185
|
"""
|
|
@@ -2866,7 +4189,7 @@ class ResourcePool(dict):
|
|
|
2866
4189
|
|
|
2867
4190
|
@property
|
|
2868
4191
|
@pulumi.getter
|
|
2869
|
-
def generation(self) -> int:
|
|
4192
|
+
def generation(self) -> builtins.int:
|
|
2870
4193
|
"""
|
|
2871
4194
|
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.
|
|
2872
4195
|
|
|
@@ -2876,7 +4199,7 @@ class ResourcePool(dict):
|
|
|
2876
4199
|
|
|
2877
4200
|
@property
|
|
2878
4201
|
@pulumi.getter
|
|
2879
|
-
def name(self) -> str:
|
|
4202
|
+
def name(self) -> builtins.str:
|
|
2880
4203
|
"""
|
|
2881
4204
|
Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
2882
4205
|
|
|
@@ -2886,7 +4209,7 @@ class ResourcePool(dict):
|
|
|
2886
4209
|
|
|
2887
4210
|
@property
|
|
2888
4211
|
@pulumi.getter(name="resourceSliceCount")
|
|
2889
|
-
def resource_slice_count(self) -> int:
|
|
4212
|
+
def resource_slice_count(self) -> builtins.int:
|
|
2890
4213
|
"""
|
|
2891
4214
|
ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
2892
4215
|
|
|
@@ -2918,18 +4241,18 @@ class ResourcePoolPatch(dict):
|
|
|
2918
4241
|
return super().get(key, default)
|
|
2919
4242
|
|
|
2920
4243
|
def __init__(__self__, *,
|
|
2921
|
-
generation: Optional[int] = None,
|
|
2922
|
-
name: Optional[str] = None,
|
|
2923
|
-
resource_slice_count: Optional[int] = None):
|
|
4244
|
+
generation: Optional[builtins.int] = None,
|
|
4245
|
+
name: Optional[builtins.str] = None,
|
|
4246
|
+
resource_slice_count: Optional[builtins.int] = None):
|
|
2924
4247
|
"""
|
|
2925
4248
|
ResourcePool describes the pool that ResourceSlices belong to.
|
|
2926
|
-
: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.
|
|
4249
|
+
: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.
|
|
2927
4250
|
|
|
2928
4251
|
Combined with ResourceSliceCount, this mechanism enables consumers to detect pools which are comprised of multiple ResourceSlices and are in an incomplete state.
|
|
2929
|
-
: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.
|
|
4252
|
+
: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.
|
|
2930
4253
|
|
|
2931
4254
|
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.
|
|
2932
|
-
:param int resource_slice_count: ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
4255
|
+
: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.
|
|
2933
4256
|
|
|
2934
4257
|
Consumers can use this to check whether they have seen all ResourceSlices belonging to the same pool.
|
|
2935
4258
|
"""
|
|
@@ -2942,7 +4265,7 @@ class ResourcePoolPatch(dict):
|
|
|
2942
4265
|
|
|
2943
4266
|
@property
|
|
2944
4267
|
@pulumi.getter
|
|
2945
|
-
def generation(self) -> Optional[int]:
|
|
4268
|
+
def generation(self) -> Optional[builtins.int]:
|
|
2946
4269
|
"""
|
|
2947
4270
|
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.
|
|
2948
4271
|
|
|
@@ -2952,7 +4275,7 @@ class ResourcePoolPatch(dict):
|
|
|
2952
4275
|
|
|
2953
4276
|
@property
|
|
2954
4277
|
@pulumi.getter
|
|
2955
|
-
def name(self) -> Optional[str]:
|
|
4278
|
+
def name(self) -> Optional[builtins.str]:
|
|
2956
4279
|
"""
|
|
2957
4280
|
Name is used to identify the pool. For node-local devices, this is often the node name, but this is not required.
|
|
2958
4281
|
|
|
@@ -2962,7 +4285,7 @@ class ResourcePoolPatch(dict):
|
|
|
2962
4285
|
|
|
2963
4286
|
@property
|
|
2964
4287
|
@pulumi.getter(name="resourceSliceCount")
|
|
2965
|
-
def resource_slice_count(self) -> Optional[int]:
|
|
4288
|
+
def resource_slice_count(self) -> Optional[builtins.int]:
|
|
2966
4289
|
"""
|
|
2967
4290
|
ResourceSliceCount is the total number of ResourceSlices in the pool at this generation number. Must be greater than zero.
|
|
2968
4291
|
|
|
@@ -3005,8 +4328,8 @@ class ResourceSlice(dict):
|
|
|
3005
4328
|
|
|
3006
4329
|
def __init__(__self__, *,
|
|
3007
4330
|
spec: 'outputs.ResourceSliceSpec',
|
|
3008
|
-
api_version: Optional[str] = None,
|
|
3009
|
-
kind: Optional[str] = None,
|
|
4331
|
+
api_version: Optional[builtins.str] = None,
|
|
4332
|
+
kind: Optional[builtins.str] = None,
|
|
3010
4333
|
metadata: Optional['_meta.v1.outputs.ObjectMeta'] = None):
|
|
3011
4334
|
"""
|
|
3012
4335
|
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.
|
|
@@ -3023,8 +4346,8 @@ class ResourceSlice(dict):
|
|
|
3023
4346
|
:param 'ResourceSliceSpecArgs' spec: Contains the information published by the driver.
|
|
3024
4347
|
|
|
3025
4348
|
Changing the spec automatically increments the metadata.generation number.
|
|
3026
|
-
: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
|
|
3027
|
-
: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
|
|
4349
|
+
: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
|
|
4350
|
+
: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
|
|
3028
4351
|
:param '_meta.v1.ObjectMetaArgs' metadata: Standard object metadata
|
|
3029
4352
|
"""
|
|
3030
4353
|
pulumi.set(__self__, "spec", spec)
|
|
@@ -3047,7 +4370,7 @@ class ResourceSlice(dict):
|
|
|
3047
4370
|
|
|
3048
4371
|
@property
|
|
3049
4372
|
@pulumi.getter(name="apiVersion")
|
|
3050
|
-
def api_version(self) -> Optional[str]:
|
|
4373
|
+
def api_version(self) -> Optional[builtins.str]:
|
|
3051
4374
|
"""
|
|
3052
4375
|
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
|
|
3053
4376
|
"""
|
|
@@ -3055,7 +4378,7 @@ class ResourceSlice(dict):
|
|
|
3055
4378
|
|
|
3056
4379
|
@property
|
|
3057
4380
|
@pulumi.getter
|
|
3058
|
-
def kind(self) -> Optional[str]:
|
|
4381
|
+
def kind(self) -> Optional[builtins.str]:
|
|
3059
4382
|
"""
|
|
3060
4383
|
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
|
|
3061
4384
|
"""
|
|
@@ -3084,6 +4407,10 @@ class ResourceSliceSpec(dict):
|
|
|
3084
4407
|
suggest = "node_name"
|
|
3085
4408
|
elif key == "nodeSelector":
|
|
3086
4409
|
suggest = "node_selector"
|
|
4410
|
+
elif key == "perDeviceNodeSelection":
|
|
4411
|
+
suggest = "per_device_node_selection"
|
|
4412
|
+
elif key == "sharedCounters":
|
|
4413
|
+
suggest = "shared_counters"
|
|
3087
4414
|
|
|
3088
4415
|
if suggest:
|
|
3089
4416
|
pulumi.log.warn(f"Key '{key}' not found in ResourceSliceSpec. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3097,34 +4424,44 @@ class ResourceSliceSpec(dict):
|
|
|
3097
4424
|
return super().get(key, default)
|
|
3098
4425
|
|
|
3099
4426
|
def __init__(__self__, *,
|
|
3100
|
-
driver: str,
|
|
4427
|
+
driver: builtins.str,
|
|
3101
4428
|
pool: 'outputs.ResourcePool',
|
|
3102
|
-
all_nodes: Optional[bool] = None,
|
|
4429
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
3103
4430
|
devices: Optional[Sequence['outputs.Device']] = None,
|
|
3104
|
-
node_name: Optional[str] = None,
|
|
3105
|
-
node_selector: Optional['_core.v1.outputs.NodeSelector'] = None
|
|
4431
|
+
node_name: Optional[builtins.str] = None,
|
|
4432
|
+
node_selector: Optional['_core.v1.outputs.NodeSelector'] = None,
|
|
4433
|
+
per_device_node_selection: Optional[builtins.bool] = None,
|
|
4434
|
+
shared_counters: Optional[Sequence['outputs.CounterSet']] = None):
|
|
3106
4435
|
"""
|
|
3107
4436
|
ResourceSliceSpec contains the information published by the driver in one ResourceSlice.
|
|
3108
|
-
: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.
|
|
4437
|
+
: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.
|
|
3109
4438
|
|
|
3110
4439
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. This field is immutable.
|
|
3111
4440
|
:param 'ResourcePoolArgs' pool: Pool describes the pool that this ResourceSlice belongs to.
|
|
3112
|
-
:param bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
4441
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3113
4442
|
|
|
3114
|
-
Exactly one of NodeName, NodeSelector and
|
|
4443
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3115
4444
|
:param Sequence['DeviceArgs'] devices: Devices lists some or all of the devices in this pool.
|
|
3116
4445
|
|
|
3117
4446
|
Must not have more than 128 entries.
|
|
3118
|
-
: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.
|
|
4447
|
+
: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.
|
|
3119
4448
|
|
|
3120
4449
|
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.
|
|
3121
4450
|
|
|
3122
|
-
Exactly one of NodeName, NodeSelector and
|
|
4451
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3123
4452
|
: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.
|
|
3124
4453
|
|
|
3125
4454
|
Must use exactly one term.
|
|
3126
4455
|
|
|
3127
|
-
Exactly one of NodeName, NodeSelector and
|
|
4456
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
4457
|
+
: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.
|
|
4458
|
+
|
|
4459
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
4460
|
+
:param Sequence['CounterSetArgs'] shared_counters: SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
4461
|
+
|
|
4462
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
4463
|
+
|
|
4464
|
+
The maximum number of SharedCounters is 32.
|
|
3128
4465
|
"""
|
|
3129
4466
|
pulumi.set(__self__, "driver", driver)
|
|
3130
4467
|
pulumi.set(__self__, "pool", pool)
|
|
@@ -3136,10 +4473,14 @@ class ResourceSliceSpec(dict):
|
|
|
3136
4473
|
pulumi.set(__self__, "node_name", node_name)
|
|
3137
4474
|
if node_selector is not None:
|
|
3138
4475
|
pulumi.set(__self__, "node_selector", node_selector)
|
|
4476
|
+
if per_device_node_selection is not None:
|
|
4477
|
+
pulumi.set(__self__, "per_device_node_selection", per_device_node_selection)
|
|
4478
|
+
if shared_counters is not None:
|
|
4479
|
+
pulumi.set(__self__, "shared_counters", shared_counters)
|
|
3139
4480
|
|
|
3140
4481
|
@property
|
|
3141
4482
|
@pulumi.getter
|
|
3142
|
-
def driver(self) -> str:
|
|
4483
|
+
def driver(self) -> builtins.str:
|
|
3143
4484
|
"""
|
|
3144
4485
|
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.
|
|
3145
4486
|
|
|
@@ -3157,11 +4498,11 @@ class ResourceSliceSpec(dict):
|
|
|
3157
4498
|
|
|
3158
4499
|
@property
|
|
3159
4500
|
@pulumi.getter(name="allNodes")
|
|
3160
|
-
def all_nodes(self) -> Optional[bool]:
|
|
4501
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
3161
4502
|
"""
|
|
3162
4503
|
AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3163
4504
|
|
|
3164
|
-
Exactly one of NodeName, NodeSelector and
|
|
4505
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3165
4506
|
"""
|
|
3166
4507
|
return pulumi.get(self, "all_nodes")
|
|
3167
4508
|
|
|
@@ -3177,13 +4518,13 @@ class ResourceSliceSpec(dict):
|
|
|
3177
4518
|
|
|
3178
4519
|
@property
|
|
3179
4520
|
@pulumi.getter(name="nodeName")
|
|
3180
|
-
def node_name(self) -> Optional[str]:
|
|
4521
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
3181
4522
|
"""
|
|
3182
4523
|
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.
|
|
3183
4524
|
|
|
3184
4525
|
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.
|
|
3185
4526
|
|
|
3186
|
-
Exactly one of NodeName, NodeSelector and
|
|
4527
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3187
4528
|
"""
|
|
3188
4529
|
return pulumi.get(self, "node_name")
|
|
3189
4530
|
|
|
@@ -3195,10 +4536,32 @@ class ResourceSliceSpec(dict):
|
|
|
3195
4536
|
|
|
3196
4537
|
Must use exactly one term.
|
|
3197
4538
|
|
|
3198
|
-
Exactly one of NodeName, NodeSelector and
|
|
4539
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3199
4540
|
"""
|
|
3200
4541
|
return pulumi.get(self, "node_selector")
|
|
3201
4542
|
|
|
4543
|
+
@property
|
|
4544
|
+
@pulumi.getter(name="perDeviceNodeSelection")
|
|
4545
|
+
def per_device_node_selection(self) -> Optional[builtins.bool]:
|
|
4546
|
+
"""
|
|
4547
|
+
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.
|
|
4548
|
+
|
|
4549
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
4550
|
+
"""
|
|
4551
|
+
return pulumi.get(self, "per_device_node_selection")
|
|
4552
|
+
|
|
4553
|
+
@property
|
|
4554
|
+
@pulumi.getter(name="sharedCounters")
|
|
4555
|
+
def shared_counters(self) -> Optional[Sequence['outputs.CounterSet']]:
|
|
4556
|
+
"""
|
|
4557
|
+
SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
4558
|
+
|
|
4559
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
4560
|
+
|
|
4561
|
+
The maximum number of SharedCounters is 32.
|
|
4562
|
+
"""
|
|
4563
|
+
return pulumi.get(self, "shared_counters")
|
|
4564
|
+
|
|
3202
4565
|
|
|
3203
4566
|
@pulumi.output_type
|
|
3204
4567
|
class ResourceSliceSpecPatch(dict):
|
|
@@ -3214,6 +4577,10 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3214
4577
|
suggest = "node_name"
|
|
3215
4578
|
elif key == "nodeSelector":
|
|
3216
4579
|
suggest = "node_selector"
|
|
4580
|
+
elif key == "perDeviceNodeSelection":
|
|
4581
|
+
suggest = "per_device_node_selection"
|
|
4582
|
+
elif key == "sharedCounters":
|
|
4583
|
+
suggest = "shared_counters"
|
|
3217
4584
|
|
|
3218
4585
|
if suggest:
|
|
3219
4586
|
pulumi.log.warn(f"Key '{key}' not found in ResourceSliceSpecPatch. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3227,34 +4594,44 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3227
4594
|
return super().get(key, default)
|
|
3228
4595
|
|
|
3229
4596
|
def __init__(__self__, *,
|
|
3230
|
-
all_nodes: Optional[bool] = None,
|
|
4597
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
3231
4598
|
devices: Optional[Sequence['outputs.DevicePatch']] = None,
|
|
3232
|
-
driver: Optional[str] = None,
|
|
3233
|
-
node_name: Optional[str] = None,
|
|
4599
|
+
driver: Optional[builtins.str] = None,
|
|
4600
|
+
node_name: Optional[builtins.str] = None,
|
|
3234
4601
|
node_selector: Optional['_core.v1.outputs.NodeSelectorPatch'] = None,
|
|
3235
|
-
|
|
4602
|
+
per_device_node_selection: Optional[builtins.bool] = None,
|
|
4603
|
+
pool: Optional['outputs.ResourcePoolPatch'] = None,
|
|
4604
|
+
shared_counters: Optional[Sequence['outputs.CounterSetPatch']] = None):
|
|
3236
4605
|
"""
|
|
3237
4606
|
ResourceSliceSpec contains the information published by the driver in one ResourceSlice.
|
|
3238
|
-
:param bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
4607
|
+
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3239
4608
|
|
|
3240
|
-
Exactly one of NodeName, NodeSelector and
|
|
4609
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3241
4610
|
:param Sequence['DevicePatchArgs'] devices: Devices lists some or all of the devices in this pool.
|
|
3242
4611
|
|
|
3243
4612
|
Must not have more than 128 entries.
|
|
3244
|
-
: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.
|
|
4613
|
+
: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.
|
|
3245
4614
|
|
|
3246
4615
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver. This field is immutable.
|
|
3247
|
-
: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.
|
|
4616
|
+
: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.
|
|
3248
4617
|
|
|
3249
4618
|
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.
|
|
3250
4619
|
|
|
3251
|
-
Exactly one of NodeName, NodeSelector and
|
|
4620
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3252
4621
|
: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.
|
|
3253
4622
|
|
|
3254
4623
|
Must use exactly one term.
|
|
3255
4624
|
|
|
3256
|
-
Exactly one of NodeName, NodeSelector and
|
|
4625
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
4626
|
+
: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.
|
|
4627
|
+
|
|
4628
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3257
4629
|
:param 'ResourcePoolPatchArgs' pool: Pool describes the pool that this ResourceSlice belongs to.
|
|
4630
|
+
:param Sequence['CounterSetPatchArgs'] shared_counters: SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
4631
|
+
|
|
4632
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
4633
|
+
|
|
4634
|
+
The maximum number of SharedCounters is 32.
|
|
3258
4635
|
"""
|
|
3259
4636
|
if all_nodes is not None:
|
|
3260
4637
|
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
@@ -3266,16 +4643,20 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3266
4643
|
pulumi.set(__self__, "node_name", node_name)
|
|
3267
4644
|
if node_selector is not None:
|
|
3268
4645
|
pulumi.set(__self__, "node_selector", node_selector)
|
|
4646
|
+
if per_device_node_selection is not None:
|
|
4647
|
+
pulumi.set(__self__, "per_device_node_selection", per_device_node_selection)
|
|
3269
4648
|
if pool is not None:
|
|
3270
4649
|
pulumi.set(__self__, "pool", pool)
|
|
4650
|
+
if shared_counters is not None:
|
|
4651
|
+
pulumi.set(__self__, "shared_counters", shared_counters)
|
|
3271
4652
|
|
|
3272
4653
|
@property
|
|
3273
4654
|
@pulumi.getter(name="allNodes")
|
|
3274
|
-
def all_nodes(self) -> Optional[bool]:
|
|
4655
|
+
def all_nodes(self) -> Optional[builtins.bool]:
|
|
3275
4656
|
"""
|
|
3276
4657
|
AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3277
4658
|
|
|
3278
|
-
Exactly one of NodeName, NodeSelector and
|
|
4659
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3279
4660
|
"""
|
|
3280
4661
|
return pulumi.get(self, "all_nodes")
|
|
3281
4662
|
|
|
@@ -3291,7 +4672,7 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3291
4672
|
|
|
3292
4673
|
@property
|
|
3293
4674
|
@pulumi.getter
|
|
3294
|
-
def driver(self) -> Optional[str]:
|
|
4675
|
+
def driver(self) -> Optional[builtins.str]:
|
|
3295
4676
|
"""
|
|
3296
4677
|
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.
|
|
3297
4678
|
|
|
@@ -3301,13 +4682,13 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3301
4682
|
|
|
3302
4683
|
@property
|
|
3303
4684
|
@pulumi.getter(name="nodeName")
|
|
3304
|
-
def node_name(self) -> Optional[str]:
|
|
4685
|
+
def node_name(self) -> Optional[builtins.str]:
|
|
3305
4686
|
"""
|
|
3306
4687
|
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.
|
|
3307
4688
|
|
|
3308
4689
|
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.
|
|
3309
4690
|
|
|
3310
|
-
Exactly one of NodeName, NodeSelector and
|
|
4691
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3311
4692
|
"""
|
|
3312
4693
|
return pulumi.get(self, "node_name")
|
|
3313
4694
|
|
|
@@ -3319,10 +4700,20 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3319
4700
|
|
|
3320
4701
|
Must use exactly one term.
|
|
3321
4702
|
|
|
3322
|
-
Exactly one of NodeName, NodeSelector and
|
|
4703
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3323
4704
|
"""
|
|
3324
4705
|
return pulumi.get(self, "node_selector")
|
|
3325
4706
|
|
|
4707
|
+
@property
|
|
4708
|
+
@pulumi.getter(name="perDeviceNodeSelection")
|
|
4709
|
+
def per_device_node_selection(self) -> Optional[builtins.bool]:
|
|
4710
|
+
"""
|
|
4711
|
+
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.
|
|
4712
|
+
|
|
4713
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
4714
|
+
"""
|
|
4715
|
+
return pulumi.get(self, "per_device_node_selection")
|
|
4716
|
+
|
|
3326
4717
|
@property
|
|
3327
4718
|
@pulumi.getter
|
|
3328
4719
|
def pool(self) -> Optional['outputs.ResourcePoolPatch']:
|
|
@@ -3331,4 +4722,16 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3331
4722
|
"""
|
|
3332
4723
|
return pulumi.get(self, "pool")
|
|
3333
4724
|
|
|
4725
|
+
@property
|
|
4726
|
+
@pulumi.getter(name="sharedCounters")
|
|
4727
|
+
def shared_counters(self) -> Optional[Sequence['outputs.CounterSetPatch']]:
|
|
4728
|
+
"""
|
|
4729
|
+
SharedCounters defines a list of counter sets, each of which has a name and a list of counters available.
|
|
4730
|
+
|
|
4731
|
+
The names of the SharedCounters must be unique in the ResourceSlice.
|
|
4732
|
+
|
|
4733
|
+
The maximum number of SharedCounters is 32.
|
|
4734
|
+
"""
|
|
4735
|
+
return pulumi.get(self, "shared_counters")
|
|
4736
|
+
|
|
3334
4737
|
|