pulumi-kubernetes 4.23.0a1746131759__py3-none-any.whl → 4.23.0a1746153578__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 +36 -2
- pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfiguration.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/MutatingWebhookConfigurationPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicy.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBinding.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyBindingPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingAdmissionPolicyPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfiguration.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1/ValidatingWebhookConfigurationPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicy.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBinding.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyBindingPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/MutatingAdmissionPolicyPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicy.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBinding.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyBindingPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/ValidatingAdmissionPolicyPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1alpha1/_inputs.py +30 -30
- pulumi_kubernetes/admissionregistration/v1alpha1/outputs.py +20 -20
- pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfiguration.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/MutatingWebhookConfigurationPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicy.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBinding.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyBindingPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingAdmissionPolicyPatch.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfiguration.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationList.py +1 -3
- pulumi_kubernetes/admissionregistration/v1beta1/ValidatingWebhookConfigurationPatch.py +1 -3
- pulumi_kubernetes/apiextensions/v1/CustomResourceDefinition.py +1 -3
- pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionList.py +1 -3
- pulumi_kubernetes/apiextensions/v1/CustomResourceDefinitionPatch.py +1 -3
- pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinition.py +1 -3
- pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionList.py +1 -3
- pulumi_kubernetes/apiextensions/v1beta1/CustomResourceDefinitionPatch.py +1 -3
- pulumi_kubernetes/apiregistration/v1/APIService.py +1 -3
- pulumi_kubernetes/apiregistration/v1/APIServiceList.py +1 -3
- pulumi_kubernetes/apiregistration/v1/APIServicePatch.py +1 -3
- pulumi_kubernetes/apiregistration/v1beta1/APIService.py +1 -3
- pulumi_kubernetes/apiregistration/v1beta1/APIServiceList.py +1 -3
- pulumi_kubernetes/apiregistration/v1beta1/APIServicePatch.py +1 -3
- pulumi_kubernetes/apps/v1/ControllerRevision.py +1 -3
- pulumi_kubernetes/apps/v1/ControllerRevisionList.py +1 -3
- pulumi_kubernetes/apps/v1/ControllerRevisionPatch.py +1 -3
- pulumi_kubernetes/apps/v1/DaemonSet.py +1 -3
- pulumi_kubernetes/apps/v1/DaemonSetList.py +1 -3
- pulumi_kubernetes/apps/v1/DaemonSetPatch.py +1 -3
- pulumi_kubernetes/apps/v1/Deployment.py +1 -3
- pulumi_kubernetes/apps/v1/DeploymentList.py +1 -3
- pulumi_kubernetes/apps/v1/DeploymentPatch.py +1 -3
- pulumi_kubernetes/apps/v1/ReplicaSet.py +1 -3
- pulumi_kubernetes/apps/v1/ReplicaSetList.py +5 -7
- pulumi_kubernetes/apps/v1/ReplicaSetPatch.py +1 -3
- pulumi_kubernetes/apps/v1/StatefulSet.py +1 -3
- pulumi_kubernetes/apps/v1/StatefulSetList.py +1 -3
- pulumi_kubernetes/apps/v1/StatefulSetPatch.py +1 -3
- pulumi_kubernetes/apps/v1/_inputs.py +109 -56
- pulumi_kubernetes/apps/v1/outputs.py +129 -56
- pulumi_kubernetes/apps/v1beta1/ControllerRevision.py +1 -3
- pulumi_kubernetes/apps/v1beta1/ControllerRevisionList.py +1 -3
- pulumi_kubernetes/apps/v1beta1/ControllerRevisionPatch.py +1 -3
- pulumi_kubernetes/apps/v1beta1/Deployment.py +1 -3
- pulumi_kubernetes/apps/v1beta1/DeploymentList.py +1 -3
- pulumi_kubernetes/apps/v1beta1/DeploymentPatch.py +1 -3
- pulumi_kubernetes/apps/v1beta1/StatefulSet.py +1 -3
- pulumi_kubernetes/apps/v1beta1/StatefulSetList.py +1 -3
- pulumi_kubernetes/apps/v1beta1/StatefulSetPatch.py +1 -3
- pulumi_kubernetes/apps/v1beta2/ControllerRevision.py +1 -3
- pulumi_kubernetes/apps/v1beta2/ControllerRevisionList.py +1 -3
- pulumi_kubernetes/apps/v1beta2/ControllerRevisionPatch.py +1 -3
- pulumi_kubernetes/apps/v1beta2/DaemonSet.py +1 -3
- pulumi_kubernetes/apps/v1beta2/DaemonSetList.py +1 -3
- pulumi_kubernetes/apps/v1beta2/DaemonSetPatch.py +1 -3
- pulumi_kubernetes/apps/v1beta2/Deployment.py +1 -3
- pulumi_kubernetes/apps/v1beta2/DeploymentList.py +1 -3
- pulumi_kubernetes/apps/v1beta2/DeploymentPatch.py +1 -3
- pulumi_kubernetes/apps/v1beta2/ReplicaSet.py +1 -3
- pulumi_kubernetes/apps/v1beta2/ReplicaSetList.py +1 -3
- pulumi_kubernetes/apps/v1beta2/ReplicaSetPatch.py +1 -3
- pulumi_kubernetes/apps/v1beta2/StatefulSet.py +1 -3
- pulumi_kubernetes/apps/v1beta2/StatefulSetList.py +1 -3
- pulumi_kubernetes/apps/v1beta2/StatefulSetPatch.py +1 -3
- pulumi_kubernetes/auditregistration/v1alpha1/AuditSink.py +1 -3
- pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkList.py +1 -3
- pulumi_kubernetes/auditregistration/v1alpha1/AuditSinkPatch.py +1 -3
- pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscaler.py +1 -3
- pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerList.py +1 -3
- pulumi_kubernetes/autoscaling/v1/HorizontalPodAutoscalerPatch.py +1 -3
- pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscaler.py +1 -3
- pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerList.py +1 -3
- pulumi_kubernetes/autoscaling/v2/HorizontalPodAutoscalerPatch.py +1 -3
- pulumi_kubernetes/autoscaling/v2/_inputs.py +92 -12
- pulumi_kubernetes/autoscaling/v2/outputs.py +66 -10
- pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscaler.py +1 -3
- pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerList.py +1 -3
- pulumi_kubernetes/autoscaling/v2beta1/HorizontalPodAutoscalerPatch.py +1 -3
- pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscaler.py +1 -3
- pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerList.py +1 -3
- pulumi_kubernetes/autoscaling/v2beta2/HorizontalPodAutoscalerPatch.py +1 -3
- pulumi_kubernetes/batch/v1/CronJob.py +1 -3
- pulumi_kubernetes/batch/v1/CronJobList.py +1 -3
- pulumi_kubernetes/batch/v1/CronJobPatch.py +1 -3
- pulumi_kubernetes/batch/v1/Job.py +1 -3
- pulumi_kubernetes/batch/v1/JobList.py +1 -3
- pulumi_kubernetes/batch/v1/JobPatch.py +1 -3
- pulumi_kubernetes/batch/v1/_inputs.py +12 -42
- pulumi_kubernetes/batch/v1/outputs.py +8 -32
- pulumi_kubernetes/batch/v1beta1/CronJob.py +1 -3
- pulumi_kubernetes/batch/v1beta1/CronJobList.py +1 -3
- pulumi_kubernetes/batch/v1beta1/CronJobPatch.py +1 -3
- pulumi_kubernetes/batch/v2alpha1/CronJob.py +1 -3
- pulumi_kubernetes/batch/v2alpha1/CronJobList.py +1 -3
- pulumi_kubernetes/batch/v2alpha1/CronJobPatch.py +1 -3
- pulumi_kubernetes/certificates/v1/CertificateSigningRequest.py +1 -3
- pulumi_kubernetes/certificates/v1/CertificateSigningRequestList.py +1 -3
- pulumi_kubernetes/certificates/v1/CertificateSigningRequestPatch.py +1 -3
- pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundle.py +3 -3
- pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundleList.py +1 -3
- pulumi_kubernetes/certificates/v1alpha1/ClusterTrustBundlePatch.py +3 -3
- pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequest.py +1 -3
- pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestList.py +1 -3
- pulumi_kubernetes/certificates/v1beta1/CertificateSigningRequestPatch.py +1 -3
- 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 +3 -0
- pulumi_kubernetes/certificates/v1beta1/_inputs.py +292 -0
- pulumi_kubernetes/certificates/v1beta1/outputs.py +241 -0
- pulumi_kubernetes/coordination/v1/Lease.py +1 -3
- pulumi_kubernetes/coordination/v1/LeaseList.py +1 -3
- pulumi_kubernetes/coordination/v1/LeasePatch.py +1 -3
- pulumi_kubernetes/coordination/v1alpha1/LeaseCandidate.py +2 -4
- pulumi_kubernetes/coordination/v1alpha1/LeaseCandidateList.py +1 -3
- pulumi_kubernetes/coordination/v1alpha1/LeaseCandidatePatch.py +2 -4
- pulumi_kubernetes/coordination/v1alpha2/LeaseCandidate.py +2 -4
- pulumi_kubernetes/coordination/v1alpha2/LeaseCandidateList.py +1 -3
- pulumi_kubernetes/coordination/v1alpha2/LeaseCandidatePatch.py +2 -4
- pulumi_kubernetes/coordination/v1alpha2/_inputs.py +6 -6
- pulumi_kubernetes/coordination/v1alpha2/outputs.py +4 -4
- pulumi_kubernetes/coordination/v1beta1/Lease.py +1 -3
- 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 +1 -3
- pulumi_kubernetes/coordination/v1beta1/LeasePatch.py +1 -3
- pulumi_kubernetes/coordination/v1beta1/__init__.py +3 -0
- pulumi_kubernetes/coordination/v1beta1/_inputs.py +371 -0
- pulumi_kubernetes/coordination/v1beta1/outputs.py +292 -0
- pulumi_kubernetes/core/v1/Binding.py +1 -3
- pulumi_kubernetes/core/v1/BindingPatch.py +1 -3
- pulumi_kubernetes/core/v1/ConfigMap.py +1 -3
- pulumi_kubernetes/core/v1/ConfigMapList.py +1 -3
- pulumi_kubernetes/core/v1/ConfigMapPatch.py +1 -3
- pulumi_kubernetes/core/v1/Endpoints.py +9 -3
- pulumi_kubernetes/core/v1/EndpointsList.py +3 -5
- pulumi_kubernetes/core/v1/EndpointsPatch.py +9 -3
- pulumi_kubernetes/core/v1/Event.py +1 -3
- pulumi_kubernetes/core/v1/EventList.py +1 -3
- pulumi_kubernetes/core/v1/EventPatch.py +1 -3
- pulumi_kubernetes/core/v1/LimitRange.py +1 -3
- pulumi_kubernetes/core/v1/LimitRangeList.py +1 -3
- pulumi_kubernetes/core/v1/LimitRangePatch.py +1 -3
- pulumi_kubernetes/core/v1/Namespace.py +1 -3
- pulumi_kubernetes/core/v1/NamespaceList.py +1 -3
- pulumi_kubernetes/core/v1/NamespacePatch.py +1 -3
- pulumi_kubernetes/core/v1/Node.py +1 -3
- pulumi_kubernetes/core/v1/NodeList.py +1 -3
- pulumi_kubernetes/core/v1/NodePatch.py +1 -3
- pulumi_kubernetes/core/v1/PersistentVolume.py +1 -3
- pulumi_kubernetes/core/v1/PersistentVolumeClaim.py +1 -3
- pulumi_kubernetes/core/v1/PersistentVolumeClaimList.py +1 -3
- pulumi_kubernetes/core/v1/PersistentVolumeClaimPatch.py +1 -3
- pulumi_kubernetes/core/v1/PersistentVolumeList.py +1 -3
- pulumi_kubernetes/core/v1/PersistentVolumePatch.py +1 -3
- pulumi_kubernetes/core/v1/Pod.py +1 -3
- pulumi_kubernetes/core/v1/PodList.py +1 -3
- pulumi_kubernetes/core/v1/PodPatch.py +1 -3
- pulumi_kubernetes/core/v1/PodTemplate.py +1 -3
- pulumi_kubernetes/core/v1/PodTemplateList.py +1 -3
- pulumi_kubernetes/core/v1/PodTemplatePatch.py +1 -3
- pulumi_kubernetes/core/v1/ReplicationController.py +1 -3
- pulumi_kubernetes/core/v1/ReplicationControllerList.py +1 -3
- pulumi_kubernetes/core/v1/ReplicationControllerPatch.py +1 -3
- pulumi_kubernetes/core/v1/ResourceQuota.py +1 -3
- pulumi_kubernetes/core/v1/ResourceQuotaList.py +1 -3
- pulumi_kubernetes/core/v1/ResourceQuotaPatch.py +1 -3
- pulumi_kubernetes/core/v1/Secret.py +1 -3
- pulumi_kubernetes/core/v1/SecretList.py +1 -3
- pulumi_kubernetes/core/v1/SecretPatch.py +1 -3
- pulumi_kubernetes/core/v1/Service.py +1 -3
- pulumi_kubernetes/core/v1/ServiceAccount.py +1 -3
- pulumi_kubernetes/core/v1/ServiceAccountList.py +1 -3
- pulumi_kubernetes/core/v1/ServiceAccountPatch.py +1 -3
- pulumi_kubernetes/core/v1/ServiceList.py +1 -3
- pulumi_kubernetes/core/v1/ServicePatch.py +1 -3
- pulumi_kubernetes/core/v1/_enums.py +2 -1
- pulumi_kubernetes/core/v1/_inputs.py +240 -66
- pulumi_kubernetes/core/v1/outputs.py +251 -51
- pulumi_kubernetes/discovery/v1/EndpointSlice.py +11 -13
- pulumi_kubernetes/discovery/v1/EndpointSliceList.py +1 -3
- pulumi_kubernetes/discovery/v1/EndpointSlicePatch.py +11 -13
- pulumi_kubernetes/discovery/v1/_inputs.py +159 -44
- pulumi_kubernetes/discovery/v1/outputs.py +107 -32
- pulumi_kubernetes/discovery/v1beta1/EndpointSlice.py +1 -3
- pulumi_kubernetes/discovery/v1beta1/EndpointSliceList.py +1 -3
- pulumi_kubernetes/discovery/v1beta1/EndpointSlicePatch.py +1 -3
- pulumi_kubernetes/events/v1/Event.py +1 -3
- pulumi_kubernetes/events/v1/EventList.py +1 -3
- pulumi_kubernetes/events/v1/EventPatch.py +1 -3
- pulumi_kubernetes/events/v1beta1/Event.py +1 -3
- pulumi_kubernetes/events/v1beta1/EventList.py +1 -3
- pulumi_kubernetes/events/v1beta1/EventPatch.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/DaemonSet.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/DaemonSetList.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/DaemonSetPatch.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/Deployment.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/DeploymentList.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/DeploymentPatch.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/Ingress.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/IngressList.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/IngressPatch.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/NetworkPolicy.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/NetworkPolicyList.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/NetworkPolicyPatch.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicy.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyList.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/PodSecurityPolicyPatch.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/ReplicaSet.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/ReplicaSetList.py +1 -3
- pulumi_kubernetes/extensions/v1beta1/ReplicaSetPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1/FlowSchema.py +1 -3
- pulumi_kubernetes/flowcontrol/v1/FlowSchemaList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1/FlowSchemaPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfiguration.py +1 -3
- pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1/PriorityLevelConfigurationPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchema.py +1 -3
- pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1alpha1/FlowSchemaPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfiguration.py +1 -3
- pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1alpha1/PriorityLevelConfigurationPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta1/FlowSchema.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta1/FlowSchemaPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfiguration.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta1/PriorityLevelConfigurationPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta2/FlowSchema.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta2/FlowSchemaPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfiguration.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta2/PriorityLevelConfigurationPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta3/FlowSchema.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta3/FlowSchemaPatch.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfiguration.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationList.py +1 -3
- pulumi_kubernetes/flowcontrol/v1beta3/PriorityLevelConfigurationPatch.py +1 -3
- pulumi_kubernetes/helm/v3/Release.py +1 -3
- pulumi_kubernetes/helm/v4/Chart.py +1 -3
- pulumi_kubernetes/kustomize/v2/Directory.py +1 -3
- pulumi_kubernetes/meta/v1/Status.py +1 -3
- pulumi_kubernetes/meta/v1/StatusPatch.py +1 -3
- 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 +1 -3
- pulumi_kubernetes/networking/v1/IngressClass.py +1 -3
- pulumi_kubernetes/networking/v1/IngressClassList.py +1 -3
- pulumi_kubernetes/networking/v1/IngressClassPatch.py +1 -3
- pulumi_kubernetes/networking/v1/IngressList.py +1 -3
- pulumi_kubernetes/networking/v1/IngressPatch.py +1 -3
- pulumi_kubernetes/networking/v1/NetworkPolicy.py +1 -3
- pulumi_kubernetes/networking/v1/NetworkPolicyList.py +1 -3
- pulumi_kubernetes/networking/v1/NetworkPolicyPatch.py +1 -3
- 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 +6 -0
- pulumi_kubernetes/networking/v1/_inputs.py +599 -0
- pulumi_kubernetes/networking/v1/outputs.py +461 -0
- pulumi_kubernetes/networking/v1alpha1/ClusterCIDR.py +1 -3
- pulumi_kubernetes/networking/v1alpha1/ClusterCIDRList.py +1 -3
- pulumi_kubernetes/networking/v1alpha1/ClusterCIDRPatch.py +1 -3
- pulumi_kubernetes/networking/v1alpha1/IPAddress.py +2 -4
- pulumi_kubernetes/networking/v1alpha1/IPAddressList.py +1 -3
- pulumi_kubernetes/networking/v1alpha1/IPAddressPatch.py +2 -4
- pulumi_kubernetes/networking/v1alpha1/ServiceCIDR.py +2 -4
- pulumi_kubernetes/networking/v1alpha1/ServiceCIDRList.py +1 -3
- pulumi_kubernetes/networking/v1alpha1/ServiceCIDRPatch.py +2 -4
- pulumi_kubernetes/networking/v1beta1/IPAddress.py +2 -4
- pulumi_kubernetes/networking/v1beta1/IPAddressList.py +1 -3
- pulumi_kubernetes/networking/v1beta1/IPAddressPatch.py +2 -4
- pulumi_kubernetes/networking/v1beta1/Ingress.py +1 -3
- pulumi_kubernetes/networking/v1beta1/IngressClass.py +1 -3
- pulumi_kubernetes/networking/v1beta1/IngressClassList.py +1 -3
- pulumi_kubernetes/networking/v1beta1/IngressClassPatch.py +1 -3
- pulumi_kubernetes/networking/v1beta1/IngressList.py +1 -3
- pulumi_kubernetes/networking/v1beta1/IngressPatch.py +1 -3
- pulumi_kubernetes/networking/v1beta1/ServiceCIDR.py +2 -4
- pulumi_kubernetes/networking/v1beta1/ServiceCIDRList.py +1 -3
- pulumi_kubernetes/networking/v1beta1/ServiceCIDRPatch.py +2 -4
- pulumi_kubernetes/node/v1/RuntimeClass.py +1 -3
- pulumi_kubernetes/node/v1/RuntimeClassList.py +1 -3
- pulumi_kubernetes/node/v1/RuntimeClassPatch.py +1 -3
- pulumi_kubernetes/node/v1alpha1/RuntimeClass.py +1 -3
- pulumi_kubernetes/node/v1alpha1/RuntimeClassList.py +1 -3
- pulumi_kubernetes/node/v1alpha1/RuntimeClassPatch.py +1 -3
- pulumi_kubernetes/node/v1beta1/RuntimeClass.py +1 -3
- pulumi_kubernetes/node/v1beta1/RuntimeClassList.py +1 -3
- pulumi_kubernetes/node/v1beta1/RuntimeClassPatch.py +1 -3
- pulumi_kubernetes/policy/v1/PodDisruptionBudget.py +1 -3
- pulumi_kubernetes/policy/v1/PodDisruptionBudgetList.py +1 -3
- pulumi_kubernetes/policy/v1/PodDisruptionBudgetPatch.py +1 -3
- pulumi_kubernetes/policy/v1/_inputs.py +0 -12
- pulumi_kubernetes/policy/v1/outputs.py +0 -8
- pulumi_kubernetes/policy/v1beta1/PodDisruptionBudget.py +1 -3
- pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetList.py +1 -3
- pulumi_kubernetes/policy/v1beta1/PodDisruptionBudgetPatch.py +1 -3
- pulumi_kubernetes/policy/v1beta1/PodSecurityPolicy.py +1 -3
- pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyList.py +1 -3
- pulumi_kubernetes/policy/v1beta1/PodSecurityPolicyPatch.py +1 -3
- pulumi_kubernetes/provider.py +1 -3
- pulumi_kubernetes/pulumi-plugin.json +1 -1
- pulumi_kubernetes/rbac/v1/ClusterRole.py +1 -3
- pulumi_kubernetes/rbac/v1/ClusterRoleBinding.py +1 -3
- pulumi_kubernetes/rbac/v1/ClusterRoleBindingList.py +1 -3
- pulumi_kubernetes/rbac/v1/ClusterRoleBindingPatch.py +1 -3
- pulumi_kubernetes/rbac/v1/ClusterRoleList.py +1 -3
- pulumi_kubernetes/rbac/v1/ClusterRolePatch.py +1 -3
- pulumi_kubernetes/rbac/v1/Role.py +1 -3
- pulumi_kubernetes/rbac/v1/RoleBinding.py +1 -3
- pulumi_kubernetes/rbac/v1/RoleBindingList.py +1 -3
- pulumi_kubernetes/rbac/v1/RoleBindingPatch.py +1 -3
- pulumi_kubernetes/rbac/v1/RoleList.py +1 -3
- pulumi_kubernetes/rbac/v1/RolePatch.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/ClusterRole.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBinding.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingList.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleBindingPatch.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/ClusterRoleList.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/ClusterRolePatch.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/Role.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/RoleBinding.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/RoleBindingList.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/RoleBindingPatch.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/RoleList.py +1 -3
- pulumi_kubernetes/rbac/v1alpha1/RolePatch.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/ClusterRole.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleBinding.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingList.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleBindingPatch.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/ClusterRoleList.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/ClusterRolePatch.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/Role.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/RoleBinding.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/RoleBindingList.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/RoleBindingPatch.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/RoleList.py +1 -3
- pulumi_kubernetes/rbac/v1beta1/RolePatch.py +1 -3
- pulumi_kubernetes/resource/__init__.py +3 -0
- pulumi_kubernetes/resource/v1alpha1/PodScheduling.py +1 -3
- pulumi_kubernetes/resource/v1alpha1/PodSchedulingList.py +1 -3
- pulumi_kubernetes/resource/v1alpha1/PodSchedulingPatch.py +1 -3
- pulumi_kubernetes/resource/v1alpha1/ResourceClaim.py +2 -4
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimList.py +1 -3
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimPatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplate.py +2 -4
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplateList.py +1 -3
- pulumi_kubernetes/resource/v1alpha1/ResourceClaimTemplatePatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha1/ResourceClass.py +1 -3
- pulumi_kubernetes/resource/v1alpha1/ResourceClassList.py +1 -3
- pulumi_kubernetes/resource/v1alpha1/ResourceClassPatch.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/PodSchedulingContext.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextList.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/PodSchedulingContextPatch.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClaim.py +2 -4
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimList.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimParameters.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersList.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimParametersPatch.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimPatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplate.py +2 -4
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplateList.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClaimTemplatePatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha2/ResourceClass.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClassList.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClassParameters.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersList.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClassParametersPatch.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceClassPatch.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceSlice.py +2 -4
- pulumi_kubernetes/resource/v1alpha2/ResourceSliceList.py +1 -3
- pulumi_kubernetes/resource/v1alpha2/ResourceSlicePatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/DeviceClass.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/DeviceClassList.py +1 -3
- pulumi_kubernetes/resource/v1alpha3/DeviceClassPatch.py +2 -4
- 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 +1 -3
- pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextList.py +1 -3
- pulumi_kubernetes/resource/v1alpha3/PodSchedulingContextPatch.py +1 -3
- pulumi_kubernetes/resource/v1alpha3/ResourceClaim.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimList.py +1 -3
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimPatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplate.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplateList.py +1 -3
- pulumi_kubernetes/resource/v1alpha3/ResourceClaimTemplatePatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/ResourceSlice.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/ResourceSliceList.py +1 -3
- pulumi_kubernetes/resource/v1alpha3/ResourceSlicePatch.py +2 -4
- pulumi_kubernetes/resource/v1alpha3/__init__.py +3 -0
- pulumi_kubernetes/resource/v1alpha3/_inputs.py +2559 -213
- pulumi_kubernetes/resource/v1alpha3/outputs.py +2037 -256
- pulumi_kubernetes/resource/v1beta1/DeviceClass.py +2 -4
- pulumi_kubernetes/resource/v1beta1/DeviceClassList.py +1 -3
- pulumi_kubernetes/resource/v1beta1/DeviceClassPatch.py +2 -4
- pulumi_kubernetes/resource/v1beta1/ResourceClaim.py +2 -4
- pulumi_kubernetes/resource/v1beta1/ResourceClaimList.py +1 -3
- pulumi_kubernetes/resource/v1beta1/ResourceClaimPatch.py +2 -4
- pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplate.py +2 -4
- pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplateList.py +1 -3
- pulumi_kubernetes/resource/v1beta1/ResourceClaimTemplatePatch.py +2 -4
- pulumi_kubernetes/resource/v1beta1/ResourceSlice.py +2 -4
- pulumi_kubernetes/resource/v1beta1/ResourceSliceList.py +1 -3
- pulumi_kubernetes/resource/v1beta1/ResourceSlicePatch.py +2 -4
- pulumi_kubernetes/resource/v1beta1/_inputs.py +2044 -176
- pulumi_kubernetes/resource/v1beta1/outputs.py +1536 -134
- 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/v1/PriorityClass.py +1 -3
- pulumi_kubernetes/scheduling/v1/PriorityClassList.py +1 -3
- pulumi_kubernetes/scheduling/v1/PriorityClassPatch.py +1 -3
- pulumi_kubernetes/scheduling/v1alpha1/PriorityClass.py +1 -3
- pulumi_kubernetes/scheduling/v1alpha1/PriorityClassList.py +1 -3
- pulumi_kubernetes/scheduling/v1alpha1/PriorityClassPatch.py +1 -3
- pulumi_kubernetes/scheduling/v1beta1/PriorityClass.py +1 -3
- pulumi_kubernetes/scheduling/v1beta1/PriorityClassList.py +1 -3
- pulumi_kubernetes/scheduling/v1beta1/PriorityClassPatch.py +1 -3
- pulumi_kubernetes/settings/v1alpha1/PodPreset.py +1 -3
- pulumi_kubernetes/settings/v1alpha1/PodPresetList.py +1 -3
- pulumi_kubernetes/settings/v1alpha1/PodPresetPatch.py +1 -3
- pulumi_kubernetes/storage/v1/CSIDriver.py +1 -3
- pulumi_kubernetes/storage/v1/CSIDriverList.py +1 -3
- pulumi_kubernetes/storage/v1/CSIDriverPatch.py +1 -3
- pulumi_kubernetes/storage/v1/CSINode.py +1 -3
- pulumi_kubernetes/storage/v1/CSINodeList.py +1 -3
- pulumi_kubernetes/storage/v1/CSINodePatch.py +1 -3
- pulumi_kubernetes/storage/v1/CSIStorageCapacity.py +1 -3
- pulumi_kubernetes/storage/v1/CSIStorageCapacityList.py +1 -3
- pulumi_kubernetes/storage/v1/CSIStorageCapacityPatch.py +1 -3
- pulumi_kubernetes/storage/v1/StorageClass.py +1 -3
- pulumi_kubernetes/storage/v1/StorageClassList.py +1 -3
- pulumi_kubernetes/storage/v1/StorageClassPatch.py +1 -3
- pulumi_kubernetes/storage/v1/VolumeAttachment.py +1 -3
- pulumi_kubernetes/storage/v1/VolumeAttachmentList.py +1 -3
- pulumi_kubernetes/storage/v1/VolumeAttachmentPatch.py +1 -3
- pulumi_kubernetes/storage/v1/_inputs.py +90 -0
- pulumi_kubernetes/storage/v1/outputs.py +110 -0
- pulumi_kubernetes/storage/v1alpha1/VolumeAttachment.py +1 -3
- pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentList.py +1 -3
- pulumi_kubernetes/storage/v1alpha1/VolumeAttachmentPatch.py +1 -3
- pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClass.py +1 -3
- pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassList.py +1 -3
- pulumi_kubernetes/storage/v1alpha1/VolumeAttributesClassPatch.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSIDriver.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSIDriverList.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSIDriverPatch.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSINode.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSINodeList.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSINodePatch.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSIStorageCapacity.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityList.py +1 -3
- pulumi_kubernetes/storage/v1beta1/CSIStorageCapacityPatch.py +1 -3
- pulumi_kubernetes/storage/v1beta1/StorageClass.py +1 -3
- pulumi_kubernetes/storage/v1beta1/StorageClassList.py +1 -3
- pulumi_kubernetes/storage/v1beta1/StorageClassPatch.py +1 -3
- pulumi_kubernetes/storage/v1beta1/VolumeAttachment.py +1 -3
- pulumi_kubernetes/storage/v1beta1/VolumeAttachmentList.py +1 -3
- pulumi_kubernetes/storage/v1beta1/VolumeAttachmentPatch.py +1 -3
- pulumi_kubernetes/storage/v1beta1/VolumeAttributesClass.py +1 -3
- pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassList.py +1 -3
- pulumi_kubernetes/storage/v1beta1/VolumeAttributesClassPatch.py +1 -3
- pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigration.py +1 -3
- pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationList.py +1 -3
- pulumi_kubernetes/storagemigration/v1alpha1/StorageVersionMigrationPatch.py +1 -3
- pulumi_kubernetes/yaml/v2/ConfigFile.py +1 -3
- pulumi_kubernetes/yaml/v2/ConfigGroup.py +1 -3
- pulumi_kubernetes/yaml/yaml.py +108 -0
- {pulumi_kubernetes-4.23.0a1746131759.dist-info → pulumi_kubernetes-4.23.0a1746153578.dist-info}/METADATA +2 -2
- pulumi_kubernetes-4.23.0a1746153578.dist-info/RECORD +709 -0
- pulumi_kubernetes-4.23.0a1746131759.dist-info/RECORD +0 -679
- {pulumi_kubernetes-4.23.0a1746131759.dist-info → pulumi_kubernetes-4.23.0a1746153578.dist-info}/WHEEL +0 -0
- {pulumi_kubernetes-4.23.0a1746131759.dist-info → pulumi_kubernetes-4.23.0a1746153578.dist-info}/top_level.txt +0 -0
|
@@ -27,6 +27,9 @@ __all__ = [
|
|
|
27
27
|
'BasicDevicePatch',
|
|
28
28
|
'CELDeviceSelector',
|
|
29
29
|
'CELDeviceSelectorPatch',
|
|
30
|
+
'Counter',
|
|
31
|
+
'CounterSet',
|
|
32
|
+
'CounterSetPatch',
|
|
30
33
|
'Device',
|
|
31
34
|
'DeviceAllocationConfiguration',
|
|
32
35
|
'DeviceAllocationConfigurationPatch',
|
|
@@ -45,6 +48,8 @@ __all__ = [
|
|
|
45
48
|
'DeviceClassSpecPatch',
|
|
46
49
|
'DeviceConstraint',
|
|
47
50
|
'DeviceConstraintPatch',
|
|
51
|
+
'DeviceCounterConsumption',
|
|
52
|
+
'DeviceCounterConsumptionPatch',
|
|
48
53
|
'DevicePatch',
|
|
49
54
|
'DeviceRequest',
|
|
50
55
|
'DeviceRequestAllocationResult',
|
|
@@ -52,6 +57,12 @@ __all__ = [
|
|
|
52
57
|
'DeviceRequestPatch',
|
|
53
58
|
'DeviceSelector',
|
|
54
59
|
'DeviceSelectorPatch',
|
|
60
|
+
'DeviceSubRequest',
|
|
61
|
+
'DeviceSubRequestPatch',
|
|
62
|
+
'DeviceTaint',
|
|
63
|
+
'DeviceTaintPatch',
|
|
64
|
+
'DeviceToleration',
|
|
65
|
+
'DeviceTolerationPatch',
|
|
55
66
|
'NetworkDeviceData',
|
|
56
67
|
'NetworkDeviceDataPatch',
|
|
57
68
|
'OpaqueDeviceConfiguration',
|
|
@@ -112,6 +123,8 @@ class AllocatedDeviceStatus(dict):
|
|
|
112
123
|
|
|
113
124
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
114
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.
|
|
115
128
|
:param Any data: Data contains arbitrary driver-specific data.
|
|
116
129
|
|
|
117
130
|
The length of the raw data must be smaller or equal to 10 Ki.
|
|
@@ -160,6 +173,8 @@ class AllocatedDeviceStatus(dict):
|
|
|
160
173
|
def conditions(self) -> Optional[Sequence['_meta.v1.outputs.Condition']]:
|
|
161
174
|
"""
|
|
162
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.
|
|
163
178
|
"""
|
|
164
179
|
return pulumi.get(self, "conditions")
|
|
165
180
|
|
|
@@ -214,6 +229,8 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
214
229
|
"""
|
|
215
230
|
AllocatedDeviceStatus contains the status of an allocated device, if the driver chooses to report it. This may include driver-specific information.
|
|
216
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.
|
|
217
234
|
:param Any data: Data contains arbitrary driver-specific data.
|
|
218
235
|
|
|
219
236
|
The length of the raw data must be smaller or equal to 10 Ki.
|
|
@@ -244,6 +261,8 @@ class AllocatedDeviceStatusPatch(dict):
|
|
|
244
261
|
def conditions(self) -> Optional[Sequence['_meta.v1.outputs.ConditionPatch']]:
|
|
245
262
|
"""
|
|
246
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.
|
|
247
266
|
"""
|
|
248
267
|
return pulumi.get(self, "conditions")
|
|
249
268
|
|
|
@@ -403,22 +422,91 @@ class BasicDevice(dict):
|
|
|
403
422
|
"""
|
|
404
423
|
BasicDevice defines one device instance.
|
|
405
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
|
+
|
|
406
448
|
def __init__(__self__, *,
|
|
449
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
407
450
|
attributes: Optional[Mapping[str, 'outputs.DeviceAttribute']] = None,
|
|
408
|
-
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):
|
|
409
456
|
"""
|
|
410
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.
|
|
411
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.
|
|
412
462
|
|
|
413
463
|
The maximum number of attributes and capacities combined is 32.
|
|
414
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.
|
|
415
465
|
|
|
416
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.
|
|
417
485
|
"""
|
|
486
|
+
if all_nodes is not None:
|
|
487
|
+
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
418
488
|
if attributes is not None:
|
|
419
489
|
pulumi.set(__self__, "attributes", attributes)
|
|
420
490
|
if capacity is not None:
|
|
421
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")
|
|
422
510
|
|
|
423
511
|
@property
|
|
424
512
|
@pulumi.getter
|
|
@@ -440,28 +528,143 @@ class BasicDevice(dict):
|
|
|
440
528
|
"""
|
|
441
529
|
return pulumi.get(self, "capacity")
|
|
442
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
|
+
|
|
443
577
|
|
|
444
578
|
@pulumi.output_type
|
|
445
579
|
class BasicDevicePatch(dict):
|
|
446
580
|
"""
|
|
447
581
|
BasicDevice defines one device instance.
|
|
448
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
|
+
|
|
449
606
|
def __init__(__self__, *,
|
|
607
|
+
all_nodes: Optional[builtins.bool] = None,
|
|
450
608
|
attributes: Optional[Mapping[str, 'outputs.DeviceAttribute']] = None,
|
|
451
|
-
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):
|
|
452
614
|
"""
|
|
453
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.
|
|
454
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.
|
|
455
620
|
|
|
456
621
|
The maximum number of attributes and capacities combined is 32.
|
|
457
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.
|
|
458
623
|
|
|
459
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.
|
|
460
643
|
"""
|
|
644
|
+
if all_nodes is not None:
|
|
645
|
+
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
461
646
|
if attributes is not None:
|
|
462
647
|
pulumi.set(__self__, "attributes", attributes)
|
|
463
648
|
if capacity is not None:
|
|
464
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")
|
|
465
668
|
|
|
466
669
|
@property
|
|
467
670
|
@pulumi.getter
|
|
@@ -483,6 +686,52 @@ class BasicDevicePatch(dict):
|
|
|
483
686
|
"""
|
|
484
687
|
return pulumi.get(self, "capacity")
|
|
485
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
|
+
|
|
486
735
|
|
|
487
736
|
@pulumi.output_type
|
|
488
737
|
class CELDeviceSelector(dict):
|
|
@@ -641,6 +890,112 @@ class CELDeviceSelectorPatch(dict):
|
|
|
641
890
|
return pulumi.get(self, "expression")
|
|
642
891
|
|
|
643
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
|
+
|
|
644
999
|
@pulumi.output_type
|
|
645
1000
|
class Device(dict):
|
|
646
1001
|
"""
|
|
@@ -689,6 +1044,8 @@ class DeviceAllocationConfiguration(dict):
|
|
|
689
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.
|
|
690
1045
|
:param 'OpaqueDeviceConfigurationArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
691
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.
|
|
692
1049
|
"""
|
|
693
1050
|
pulumi.set(__self__, "source", source)
|
|
694
1051
|
if opaque is not None:
|
|
@@ -717,6 +1074,8 @@ class DeviceAllocationConfiguration(dict):
|
|
|
717
1074
|
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
718
1075
|
"""
|
|
719
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.
|
|
720
1079
|
"""
|
|
721
1080
|
return pulumi.get(self, "requests")
|
|
722
1081
|
|
|
@@ -734,6 +1093,8 @@ class DeviceAllocationConfigurationPatch(dict):
|
|
|
734
1093
|
DeviceAllocationConfiguration gets embedded in an AllocationResult.
|
|
735
1094
|
:param 'OpaqueDeviceConfigurationPatchArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
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.
|
|
737
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.
|
|
738
1099
|
"""
|
|
739
1100
|
if opaque is not None:
|
|
@@ -756,6 +1117,8 @@ class DeviceAllocationConfigurationPatch(dict):
|
|
|
756
1117
|
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
757
1118
|
"""
|
|
758
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.
|
|
759
1122
|
"""
|
|
760
1123
|
return pulumi.get(self, "requests")
|
|
761
1124
|
|
|
@@ -986,6 +1349,8 @@ class DeviceClaimConfiguration(dict):
|
|
|
986
1349
|
DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.
|
|
987
1350
|
:param 'OpaqueDeviceConfigurationArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
988
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.
|
|
989
1354
|
"""
|
|
990
1355
|
if opaque is not None:
|
|
991
1356
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -1005,6 +1370,8 @@ class DeviceClaimConfiguration(dict):
|
|
|
1005
1370
|
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1006
1371
|
"""
|
|
1007
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.
|
|
1008
1375
|
"""
|
|
1009
1376
|
return pulumi.get(self, "requests")
|
|
1010
1377
|
|
|
@@ -1021,6 +1388,8 @@ class DeviceClaimConfigurationPatch(dict):
|
|
|
1021
1388
|
DeviceClaimConfiguration is used for configuration parameters in DeviceClaim.
|
|
1022
1389
|
:param 'OpaqueDeviceConfigurationPatchArgs' opaque: Opaque provides driver-specific configuration parameters.
|
|
1023
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.
|
|
1024
1393
|
"""
|
|
1025
1394
|
if opaque is not None:
|
|
1026
1395
|
pulumi.set(__self__, "opaque", opaque)
|
|
@@ -1040,6 +1409,8 @@ class DeviceClaimConfigurationPatch(dict):
|
|
|
1040
1409
|
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1041
1410
|
"""
|
|
1042
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.
|
|
1043
1414
|
"""
|
|
1044
1415
|
return pulumi.get(self, "requests")
|
|
1045
1416
|
|
|
@@ -1335,6 +1706,8 @@ class DeviceConstraint(dict):
|
|
|
1335
1706
|
|
|
1336
1707
|
Must include the domain qualifier.
|
|
1337
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.
|
|
1338
1711
|
"""
|
|
1339
1712
|
if match_attribute is not None:
|
|
1340
1713
|
pulumi.set(__self__, "match_attribute", match_attribute)
|
|
@@ -1358,6 +1731,8 @@ class DeviceConstraint(dict):
|
|
|
1358
1731
|
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1359
1732
|
"""
|
|
1360
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.
|
|
1361
1736
|
"""
|
|
1362
1737
|
return pulumi.get(self, "requests")
|
|
1363
1738
|
|
|
@@ -1395,6 +1770,8 @@ class DeviceConstraintPatch(dict):
|
|
|
1395
1770
|
|
|
1396
1771
|
Must include the domain qualifier.
|
|
1397
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.
|
|
1398
1775
|
"""
|
|
1399
1776
|
if match_attribute is not None:
|
|
1400
1777
|
pulumi.set(__self__, "match_attribute", match_attribute)
|
|
@@ -1418,25 +1795,137 @@ class DeviceConstraintPatch(dict):
|
|
|
1418
1795
|
def requests(self) -> Optional[Sequence[builtins.str]]:
|
|
1419
1796
|
"""
|
|
1420
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.
|
|
1421
1800
|
"""
|
|
1422
1801
|
return pulumi.get(self, "requests")
|
|
1423
1802
|
|
|
1424
1803
|
|
|
1425
1804
|
@pulumi.output_type
|
|
1426
|
-
class
|
|
1805
|
+
class DeviceCounterConsumption(dict):
|
|
1427
1806
|
"""
|
|
1428
|
-
|
|
1807
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1429
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
|
+
|
|
1430
1826
|
def __init__(__self__, *,
|
|
1431
|
-
|
|
1432
|
-
|
|
1827
|
+
counter_set: builtins.str,
|
|
1828
|
+
counters: Mapping[str, 'outputs.Counter']):
|
|
1433
1829
|
"""
|
|
1434
|
-
|
|
1435
|
-
:param
|
|
1436
|
-
:param
|
|
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).
|
|
1437
1835
|
"""
|
|
1438
|
-
|
|
1439
|
-
|
|
1836
|
+
pulumi.set(__self__, "counter_set", counter_set)
|
|
1837
|
+
pulumi.set(__self__, "counters", counters)
|
|
1838
|
+
|
|
1839
|
+
@property
|
|
1840
|
+
@pulumi.getter(name="counterSet")
|
|
1841
|
+
def counter_set(self) -> builtins.str:
|
|
1842
|
+
"""
|
|
1843
|
+
CounterSet is the name of the set from which the counters defined will be consumed.
|
|
1844
|
+
"""
|
|
1845
|
+
return pulumi.get(self, "counter_set")
|
|
1846
|
+
|
|
1847
|
+
@property
|
|
1848
|
+
@pulumi.getter
|
|
1849
|
+
def counters(self) -> Mapping[str, 'outputs.Counter']:
|
|
1850
|
+
"""
|
|
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).
|
|
1854
|
+
"""
|
|
1855
|
+
return pulumi.get(self, "counters")
|
|
1856
|
+
|
|
1857
|
+
|
|
1858
|
+
@pulumi.output_type
|
|
1859
|
+
class DeviceCounterConsumptionPatch(dict):
|
|
1860
|
+
"""
|
|
1861
|
+
DeviceCounterConsumption defines a set of counters that a device will consume from a CounterSet.
|
|
1862
|
+
"""
|
|
1863
|
+
@staticmethod
|
|
1864
|
+
def __key_warning(key: str):
|
|
1865
|
+
suggest = None
|
|
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)
|
|
1440
1929
|
if name is not None:
|
|
1441
1930
|
pulumi.set(__self__, "name", name)
|
|
1442
1931
|
|
|
@@ -1461,18 +1950,18 @@ class DevicePatch(dict):
|
|
|
1461
1950
|
class DeviceRequest(dict):
|
|
1462
1951
|
"""
|
|
1463
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.
|
|
1464
|
-
|
|
1465
|
-
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.
|
|
1466
1953
|
"""
|
|
1467
1954
|
@staticmethod
|
|
1468
1955
|
def __key_warning(key: str):
|
|
1469
1956
|
suggest = None
|
|
1470
|
-
if key == "
|
|
1471
|
-
suggest = "device_class_name"
|
|
1472
|
-
elif key == "adminAccess":
|
|
1957
|
+
if key == "adminAccess":
|
|
1473
1958
|
suggest = "admin_access"
|
|
1474
1959
|
elif key == "allocationMode":
|
|
1475
1960
|
suggest = "allocation_mode"
|
|
1961
|
+
elif key == "deviceClassName":
|
|
1962
|
+
suggest = "device_class_name"
|
|
1963
|
+
elif key == "firstAvailable":
|
|
1964
|
+
suggest = "first_available"
|
|
1476
1965
|
|
|
1477
1966
|
if suggest:
|
|
1478
1967
|
pulumi.log.warn(f"Key '{key}' not found in DeviceRequest. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -1486,26 +1975,23 @@ class DeviceRequest(dict):
|
|
|
1486
1975
|
return super().get(key, default)
|
|
1487
1976
|
|
|
1488
1977
|
def __init__(__self__, *,
|
|
1489
|
-
device_class_name: builtins.str,
|
|
1490
1978
|
name: builtins.str,
|
|
1491
1979
|
admin_access: Optional[builtins.bool] = None,
|
|
1492
1980
|
allocation_mode: Optional[builtins.str] = None,
|
|
1493
1981
|
count: Optional[builtins.int] = None,
|
|
1494
|
-
|
|
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):
|
|
1495
1986
|
"""
|
|
1496
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.
|
|
1497
|
-
|
|
1498
|
-
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.
|
|
1499
|
-
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
1500
|
-
|
|
1501
|
-
A class is required. Which classes are available depends on the cluster.
|
|
1502
|
-
|
|
1503
|
-
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.
|
|
1504
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.
|
|
1505
1989
|
|
|
1506
|
-
Must be a DNS label.
|
|
1990
|
+
Must be a DNS label and unique among all DeviceRequests in a ResourceClaim.
|
|
1507
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.
|
|
1508
1992
|
|
|
1993
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
1994
|
+
|
|
1509
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.
|
|
1510
1996
|
:param builtins.str allocation_mode: AllocationMode and its related fields define how devices are allocated to satisfy this request. Supported values are:
|
|
1511
1997
|
|
|
@@ -1514,16 +2000,43 @@ class DeviceRequest(dict):
|
|
|
1514
2000
|
count field.
|
|
1515
2001
|
|
|
1516
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.
|
|
1517
2004
|
Allocation will fail if some devices are already allocated,
|
|
1518
2005
|
unless adminAccess is requested.
|
|
1519
2006
|
|
|
1520
|
-
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.
|
|
1521
2010
|
|
|
1522
2011
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1523
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.
|
|
1524
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.
|
|
1525
2039
|
"""
|
|
1526
|
-
pulumi.set(__self__, "device_class_name", device_class_name)
|
|
1527
2040
|
pulumi.set(__self__, "name", name)
|
|
1528
2041
|
if admin_access is not None:
|
|
1529
2042
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
@@ -1531,20 +2044,14 @@ class DeviceRequest(dict):
|
|
|
1531
2044
|
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
1532
2045
|
if count is not None:
|
|
1533
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)
|
|
1534
2051
|
if selectors is not None:
|
|
1535
2052
|
pulumi.set(__self__, "selectors", selectors)
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
@pulumi.getter(name="deviceClassName")
|
|
1539
|
-
def device_class_name(self) -> builtins.str:
|
|
1540
|
-
"""
|
|
1541
|
-
DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this request.
|
|
1542
|
-
|
|
1543
|
-
A class is required. Which classes are available depends on the cluster.
|
|
1544
|
-
|
|
1545
|
-
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.
|
|
1546
|
-
"""
|
|
1547
|
-
return pulumi.get(self, "device_class_name")
|
|
2053
|
+
if tolerations is not None:
|
|
2054
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1548
2055
|
|
|
1549
2056
|
@property
|
|
1550
2057
|
@pulumi.getter
|
|
@@ -1552,7 +2059,7 @@ class DeviceRequest(dict):
|
|
|
1552
2059
|
"""
|
|
1553
2060
|
Name can be used to reference this request in a pod.spec.containers[].resources.claims entry and in a constraint of the claim.
|
|
1554
2061
|
|
|
1555
|
-
Must be a DNS label.
|
|
2062
|
+
Must be a DNS label and unique among all DeviceRequests in a ResourceClaim.
|
|
1556
2063
|
"""
|
|
1557
2064
|
return pulumi.get(self, "name")
|
|
1558
2065
|
|
|
@@ -1562,6 +2069,8 @@ class DeviceRequest(dict):
|
|
|
1562
2069
|
"""
|
|
1563
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.
|
|
1564
2071
|
|
|
2072
|
+
This field can only be set when deviceClassName is set and no subrequests are specified in the firstAvailable list.
|
|
2073
|
+
|
|
1565
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.
|
|
1566
2075
|
"""
|
|
1567
2076
|
return pulumi.get(self, "admin_access")
|
|
@@ -1577,10 +2086,13 @@ class DeviceRequest(dict):
|
|
|
1577
2086
|
count field.
|
|
1578
2087
|
|
|
1579
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.
|
|
1580
2090
|
Allocation will fail if some devices are already allocated,
|
|
1581
2091
|
unless adminAccess is requested.
|
|
1582
2092
|
|
|
1583
|
-
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.
|
|
1584
2096
|
|
|
1585
2097
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1586
2098
|
"""
|
|
@@ -1591,17 +2103,63 @@ class DeviceRequest(dict):
|
|
|
1591
2103
|
def count(self) -> Optional[builtins.int]:
|
|
1592
2104
|
"""
|
|
1593
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.
|
|
1594
2108
|
"""
|
|
1595
2109
|
return pulumi.get(self, "count")
|
|
1596
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
|
+
|
|
1597
2135
|
@property
|
|
1598
2136
|
@pulumi.getter
|
|
1599
2137
|
def selectors(self) -> Optional[Sequence['outputs.DeviceSelector']]:
|
|
1600
2138
|
"""
|
|
1601
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.
|
|
1602
2142
|
"""
|
|
1603
2143
|
return pulumi.get(self, "selectors")
|
|
1604
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
|
+
|
|
1605
2163
|
|
|
1606
2164
|
@pulumi.output_type
|
|
1607
2165
|
class DeviceRequestAllocationResult(dict):
|
|
@@ -1630,7 +2188,8 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1630
2188
|
driver: builtins.str,
|
|
1631
2189
|
pool: builtins.str,
|
|
1632
2190
|
request: builtins.str,
|
|
1633
|
-
admin_access: Optional[builtins.bool] = None
|
|
2191
|
+
admin_access: Optional[builtins.bool] = None,
|
|
2192
|
+
tolerations: Optional[Sequence['outputs.DeviceToleration']] = None):
|
|
1634
2193
|
"""
|
|
1635
2194
|
DeviceRequestAllocationResult contains the allocation result for one request.
|
|
1636
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.
|
|
@@ -1640,10 +2199,17 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1640
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>`).
|
|
1641
2200
|
|
|
1642
2201
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
1643
|
-
:param builtins.str request: Request is the name of the request in the claim which caused this device to be allocated.
|
|
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.
|
|
1644
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.
|
|
1645
2206
|
|
|
1646
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.
|
|
1647
2213
|
"""
|
|
1648
2214
|
pulumi.set(__self__, "device", device)
|
|
1649
2215
|
pulumi.set(__self__, "driver", driver)
|
|
@@ -1651,6 +2217,8 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1651
2217
|
pulumi.set(__self__, "request", request)
|
|
1652
2218
|
if admin_access is not None:
|
|
1653
2219
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
2220
|
+
if tolerations is not None:
|
|
2221
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1654
2222
|
|
|
1655
2223
|
@property
|
|
1656
2224
|
@pulumi.getter
|
|
@@ -1684,7 +2252,9 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1684
2252
|
@pulumi.getter
|
|
1685
2253
|
def request(self) -> builtins.str:
|
|
1686
2254
|
"""
|
|
1687
|
-
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.
|
|
1688
2258
|
"""
|
|
1689
2259
|
return pulumi.get(self, "request")
|
|
1690
2260
|
|
|
@@ -1698,6 +2268,18 @@ class DeviceRequestAllocationResult(dict):
|
|
|
1698
2268
|
"""
|
|
1699
2269
|
return pulumi.get(self, "admin_access")
|
|
1700
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
|
+
|
|
1701
2283
|
|
|
1702
2284
|
@pulumi.output_type
|
|
1703
2285
|
class DeviceRequestAllocationResultPatch(dict):
|
|
@@ -1726,7 +2308,8 @@ class DeviceRequestAllocationResultPatch(dict):
|
|
|
1726
2308
|
device: Optional[builtins.str] = None,
|
|
1727
2309
|
driver: Optional[builtins.str] = None,
|
|
1728
2310
|
pool: Optional[builtins.str] = None,
|
|
1729
|
-
request: Optional[builtins.str] = None
|
|
2311
|
+
request: Optional[builtins.str] = None,
|
|
2312
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
1730
2313
|
"""
|
|
1731
2314
|
DeviceRequestAllocationResult contains the allocation result for one request.
|
|
1732
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.
|
|
@@ -1739,7 +2322,14 @@ class DeviceRequestAllocationResultPatch(dict):
|
|
|
1739
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>`).
|
|
1740
2323
|
|
|
1741
2324
|
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
1742
|
-
:param builtins.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.
|
|
1743
2333
|
"""
|
|
1744
2334
|
if admin_access is not None:
|
|
1745
2335
|
pulumi.set(__self__, "admin_access", admin_access)
|
|
@@ -1751,6 +2341,8 @@ class DeviceRequestAllocationResultPatch(dict):
|
|
|
1751
2341
|
pulumi.set(__self__, "pool", pool)
|
|
1752
2342
|
if request is not None:
|
|
1753
2343
|
pulumi.set(__self__, "request", request)
|
|
2344
|
+
if tolerations is not None:
|
|
2345
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1754
2346
|
|
|
1755
2347
|
@property
|
|
1756
2348
|
@pulumi.getter(name="adminAccess")
|
|
@@ -1778,95 +2370,529 @@ class DeviceRequestAllocationResultPatch(dict):
|
|
|
1778
2370
|
|
|
1779
2371
|
Must be a DNS subdomain and should end with a DNS domain owned by the vendor of the driver.
|
|
1780
2372
|
"""
|
|
1781
|
-
return pulumi.get(self, "driver")
|
|
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")
|
|
2792
|
+
|
|
2793
|
+
@property
|
|
2794
|
+
@pulumi.getter
|
|
2795
|
+
def count(self) -> Optional[builtins.int]:
|
|
2796
|
+
"""
|
|
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.
|
|
2798
|
+
"""
|
|
2799
|
+
return pulumi.get(self, "count")
|
|
1782
2800
|
|
|
1783
2801
|
@property
|
|
1784
2802
|
@pulumi.getter
|
|
1785
|
-
def
|
|
2803
|
+
def selectors(self) -> Optional[Sequence['outputs.DeviceSelector']]:
|
|
1786
2804
|
"""
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
Must not be longer than 253 characters and may contain one or more DNS sub-domains separated by slashes.
|
|
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.
|
|
1790
2806
|
"""
|
|
1791
|
-
return pulumi.get(self, "
|
|
2807
|
+
return pulumi.get(self, "selectors")
|
|
1792
2808
|
|
|
1793
2809
|
@property
|
|
1794
2810
|
@pulumi.getter
|
|
1795
|
-
def
|
|
2811
|
+
def tolerations(self) -> Optional[Sequence['outputs.DeviceToleration']]:
|
|
1796
2812
|
"""
|
|
1797
|
-
|
|
2813
|
+
If specified, the request's tolerations.
|
|
2814
|
+
|
|
2815
|
+
Tolerations for NoSchedule are required to allocate a device which has a taint with that effect. The same applies to NoExecute.
|
|
2816
|
+
|
|
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.
|
|
1798
2822
|
"""
|
|
1799
|
-
return pulumi.get(self, "
|
|
2823
|
+
return pulumi.get(self, "tolerations")
|
|
1800
2824
|
|
|
1801
2825
|
|
|
1802
2826
|
@pulumi.output_type
|
|
1803
|
-
class
|
|
2827
|
+
class DeviceSubRequestPatch(dict):
|
|
1804
2828
|
"""
|
|
1805
|
-
|
|
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.
|
|
1806
2830
|
|
|
1807
|
-
|
|
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.
|
|
1808
2832
|
"""
|
|
1809
2833
|
@staticmethod
|
|
1810
2834
|
def __key_warning(key: str):
|
|
1811
2835
|
suggest = None
|
|
1812
|
-
if key == "
|
|
1813
|
-
suggest = "admin_access"
|
|
1814
|
-
elif key == "allocationMode":
|
|
2836
|
+
if key == "allocationMode":
|
|
1815
2837
|
suggest = "allocation_mode"
|
|
1816
2838
|
elif key == "deviceClassName":
|
|
1817
2839
|
suggest = "device_class_name"
|
|
1818
2840
|
|
|
1819
2841
|
if suggest:
|
|
1820
|
-
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.")
|
|
1821
2843
|
|
|
1822
2844
|
def __getitem__(self, key: str) -> Any:
|
|
1823
|
-
|
|
2845
|
+
DeviceSubRequestPatch.__key_warning(key)
|
|
1824
2846
|
return super().__getitem__(key)
|
|
1825
2847
|
|
|
1826
2848
|
def get(self, key: str, default = None) -> Any:
|
|
1827
|
-
|
|
2849
|
+
DeviceSubRequestPatch.__key_warning(key)
|
|
1828
2850
|
return super().get(key, default)
|
|
1829
2851
|
|
|
1830
2852
|
def __init__(__self__, *,
|
|
1831
|
-
admin_access: Optional[builtins.bool] = None,
|
|
1832
2853
|
allocation_mode: Optional[builtins.str] = None,
|
|
1833
2854
|
count: Optional[builtins.int] = None,
|
|
1834
2855
|
device_class_name: Optional[builtins.str] = None,
|
|
1835
2856
|
name: Optional[builtins.str] = None,
|
|
1836
|
-
selectors: Optional[Sequence['outputs.DeviceSelectorPatch']] = None
|
|
2857
|
+
selectors: Optional[Sequence['outputs.DeviceSelectorPatch']] = None,
|
|
2858
|
+
tolerations: Optional[Sequence['outputs.DeviceTolerationPatch']] = None):
|
|
1837
2859
|
"""
|
|
1838
|
-
|
|
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.
|
|
1839
2861
|
|
|
1840
|
-
|
|
1841
|
-
:param builtins.
|
|
1842
|
-
|
|
1843
|
-
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.
|
|
1844
|
-
:param builtins.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:
|
|
1845
2864
|
|
|
1846
2865
|
- ExactCount: This request is for a specific number of devices.
|
|
1847
2866
|
This is the default. The exact number is provided in the
|
|
1848
2867
|
count field.
|
|
1849
2868
|
|
|
1850
|
-
- All: This
|
|
2869
|
+
- All: This subrequest is for all of the matching devices in a pool.
|
|
1851
2870
|
Allocation will fail if some devices are already allocated,
|
|
1852
2871
|
unless adminAccess is requested.
|
|
1853
2872
|
|
|
1854
|
-
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.
|
|
1855
2874
|
|
|
1856
2875
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1857
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.
|
|
1858
|
-
:param builtins.str device_class_name: DeviceClassName references a specific DeviceClass, which can define additional configuration and selectors to be inherited by this
|
|
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.
|
|
1859
2878
|
|
|
1860
2879
|
A class is required. Which classes are available depends on the cluster.
|
|
1861
2880
|
|
|
1862
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.
|
|
1863
|
-
:param builtins.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>.
|
|
1864
2883
|
|
|
1865
2884
|
Must be a DNS label.
|
|
1866
|
-
: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.
|
|
1867
2895
|
"""
|
|
1868
|
-
if admin_access is not None:
|
|
1869
|
-
pulumi.set(__self__, "admin_access", admin_access)
|
|
1870
2896
|
if allocation_mode is not None:
|
|
1871
2897
|
pulumi.set(__self__, "allocation_mode", allocation_mode)
|
|
1872
2898
|
if count is not None:
|
|
@@ -1877,32 +2903,24 @@ class DeviceRequestPatch(dict):
|
|
|
1877
2903
|
pulumi.set(__self__, "name", name)
|
|
1878
2904
|
if selectors is not None:
|
|
1879
2905
|
pulumi.set(__self__, "selectors", selectors)
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
@pulumi.getter(name="adminAccess")
|
|
1883
|
-
def admin_access(self) -> Optional[builtins.bool]:
|
|
1884
|
-
"""
|
|
1885
|
-
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.
|
|
1886
|
-
|
|
1887
|
-
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.
|
|
1888
|
-
"""
|
|
1889
|
-
return pulumi.get(self, "admin_access")
|
|
2906
|
+
if tolerations is not None:
|
|
2907
|
+
pulumi.set(__self__, "tolerations", tolerations)
|
|
1890
2908
|
|
|
1891
2909
|
@property
|
|
1892
2910
|
@pulumi.getter(name="allocationMode")
|
|
1893
2911
|
def allocation_mode(self) -> Optional[builtins.str]:
|
|
1894
2912
|
"""
|
|
1895
|
-
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:
|
|
1896
2914
|
|
|
1897
2915
|
- ExactCount: This request is for a specific number of devices.
|
|
1898
2916
|
This is the default. The exact number is provided in the
|
|
1899
2917
|
count field.
|
|
1900
2918
|
|
|
1901
|
-
- All: This
|
|
2919
|
+
- All: This subrequest is for all of the matching devices in a pool.
|
|
1902
2920
|
Allocation will fail if some devices are already allocated,
|
|
1903
2921
|
unless adminAccess is requested.
|
|
1904
2922
|
|
|
1905
|
-
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.
|
|
1906
2924
|
|
|
1907
2925
|
More modes may get added in the future. Clients must refuse to handle requests with unknown modes.
|
|
1908
2926
|
"""
|
|
@@ -1920,7 +2938,7 @@ class DeviceRequestPatch(dict):
|
|
|
1920
2938
|
@pulumi.getter(name="deviceClassName")
|
|
1921
2939
|
def device_class_name(self) -> Optional[builtins.str]:
|
|
1922
2940
|
"""
|
|
1923
|
-
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.
|
|
1924
2942
|
|
|
1925
2943
|
A class is required. Which classes are available depends on the cluster.
|
|
1926
2944
|
|
|
@@ -1932,7 +2950,7 @@ class DeviceRequestPatch(dict):
|
|
|
1932
2950
|
@pulumi.getter
|
|
1933
2951
|
def name(self) -> Optional[builtins.str]:
|
|
1934
2952
|
"""
|
|
1935
|
-
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>.
|
|
1936
2954
|
|
|
1937
2955
|
Must be a DNS label.
|
|
1938
2956
|
"""
|
|
@@ -1942,55 +2960,351 @@ class DeviceRequestPatch(dict):
|
|
|
1942
2960
|
@pulumi.getter
|
|
1943
2961
|
def selectors(self) -> Optional[Sequence['outputs.DeviceSelectorPatch']]:
|
|
1944
2962
|
"""
|
|
1945
|
-
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.
|
|
1946
2964
|
"""
|
|
1947
2965
|
return pulumi.get(self, "selectors")
|
|
1948
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
|
+
|
|
1949
2983
|
|
|
1950
2984
|
@pulumi.output_type
|
|
1951
|
-
class
|
|
2985
|
+
class DeviceTaint(dict):
|
|
1952
2986
|
"""
|
|
1953
|
-
|
|
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.
|
|
1954
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
|
+
|
|
1955
3006
|
def __init__(__self__, *,
|
|
1956
|
-
|
|
3007
|
+
effect: builtins.str,
|
|
3008
|
+
key: builtins.str,
|
|
3009
|
+
time_added: Optional[builtins.str] = None,
|
|
3010
|
+
value: Optional[builtins.str] = None):
|
|
1957
3011
|
"""
|
|
1958
|
-
|
|
1959
|
-
: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.
|
|
1960
3017
|
"""
|
|
1961
|
-
|
|
1962
|
-
|
|
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)
|
|
1963
3024
|
|
|
1964
3025
|
@property
|
|
1965
3026
|
@pulumi.getter
|
|
1966
|
-
def
|
|
3027
|
+
def effect(self) -> builtins.str:
|
|
1967
3028
|
"""
|
|
1968
|
-
|
|
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.
|
|
1969
3030
|
"""
|
|
1970
|
-
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")
|
|
1971
3056
|
|
|
1972
3057
|
|
|
1973
3058
|
@pulumi.output_type
|
|
1974
|
-
class
|
|
3059
|
+
class DeviceTaintPatch(dict):
|
|
1975
3060
|
"""
|
|
1976
|
-
|
|
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.
|
|
1977
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
|
+
|
|
1978
3080
|
def __init__(__self__, *,
|
|
1979
|
-
|
|
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]:
|
|
1980
3104
|
"""
|
|
1981
|
-
|
|
1982
|
-
: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.
|
|
1983
3106
|
"""
|
|
1984
|
-
|
|
1985
|
-
pulumi.set(__self__, "cel", cel)
|
|
3107
|
+
return pulumi.get(self, "effect")
|
|
1986
3108
|
|
|
1987
3109
|
@property
|
|
1988
3110
|
@pulumi.getter
|
|
1989
|
-
def
|
|
3111
|
+
def key(self) -> Optional[builtins.str]:
|
|
1990
3112
|
"""
|
|
1991
|
-
|
|
3113
|
+
The taint key to be applied to a device. Must be a label name.
|
|
1992
3114
|
"""
|
|
1993
|
-
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")
|
|
1994
3308
|
|
|
1995
3309
|
|
|
1996
3310
|
@pulumi.output_type
|
|
@@ -2030,6 +3344,8 @@ class NetworkDeviceData(dict):
|
|
|
2030
3344
|
|
|
2031
3345
|
Must not be longer than 256 characters.
|
|
2032
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.
|
|
2033
3349
|
"""
|
|
2034
3350
|
if hardware_address is not None:
|
|
2035
3351
|
pulumi.set(__self__, "hardware_address", hardware_address)
|
|
@@ -2063,6 +3379,8 @@ class NetworkDeviceData(dict):
|
|
|
2063
3379
|
def ips(self) -> Optional[Sequence[builtins.str]]:
|
|
2064
3380
|
"""
|
|
2065
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.
|
|
2066
3384
|
"""
|
|
2067
3385
|
return pulumi.get(self, "ips")
|
|
2068
3386
|
|
|
@@ -2104,6 +3422,8 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2104
3422
|
|
|
2105
3423
|
Must not be longer than 256 characters.
|
|
2106
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.
|
|
2107
3427
|
"""
|
|
2108
3428
|
if hardware_address is not None:
|
|
2109
3429
|
pulumi.set(__self__, "hardware_address", hardware_address)
|
|
@@ -2137,6 +3457,8 @@ class NetworkDeviceDataPatch(dict):
|
|
|
2137
3457
|
def ips(self) -> Optional[Sequence[builtins.str]]:
|
|
2138
3458
|
"""
|
|
2139
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.
|
|
2140
3462
|
"""
|
|
2141
3463
|
return pulumi.get(self, "ips")
|
|
2142
3464
|
|
|
@@ -2555,7 +3877,7 @@ class ResourceClaimStatus(dict):
|
|
|
2555
3877
|
|
|
2556
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.
|
|
2557
3879
|
|
|
2558
|
-
There can be at most
|
|
3880
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2559
3881
|
"""
|
|
2560
3882
|
if allocation is not None:
|
|
2561
3883
|
pulumi.set(__self__, "allocation", allocation)
|
|
@@ -2590,7 +3912,7 @@ class ResourceClaimStatus(dict):
|
|
|
2590
3912
|
|
|
2591
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.
|
|
2592
3914
|
|
|
2593
|
-
There can be at most
|
|
3915
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2594
3916
|
"""
|
|
2595
3917
|
return pulumi.get(self, "reserved_for")
|
|
2596
3918
|
|
|
@@ -2631,7 +3953,7 @@ class ResourceClaimStatusPatch(dict):
|
|
|
2631
3953
|
|
|
2632
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.
|
|
2633
3955
|
|
|
2634
|
-
There can be at most
|
|
3956
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2635
3957
|
"""
|
|
2636
3958
|
if allocation is not None:
|
|
2637
3959
|
pulumi.set(__self__, "allocation", allocation)
|
|
@@ -2666,7 +3988,7 @@ class ResourceClaimStatusPatch(dict):
|
|
|
2666
3988
|
|
|
2667
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.
|
|
2668
3990
|
|
|
2669
|
-
There can be at most
|
|
3991
|
+
There can be at most 256 such reservations. This may get increased in the future, but not reduced.
|
|
2670
3992
|
"""
|
|
2671
3993
|
return pulumi.get(self, "reserved_for")
|
|
2672
3994
|
|
|
@@ -3085,6 +4407,10 @@ class ResourceSliceSpec(dict):
|
|
|
3085
4407
|
suggest = "node_name"
|
|
3086
4408
|
elif key == "nodeSelector":
|
|
3087
4409
|
suggest = "node_selector"
|
|
4410
|
+
elif key == "perDeviceNodeSelection":
|
|
4411
|
+
suggest = "per_device_node_selection"
|
|
4412
|
+
elif key == "sharedCounters":
|
|
4413
|
+
suggest = "shared_counters"
|
|
3088
4414
|
|
|
3089
4415
|
if suggest:
|
|
3090
4416
|
pulumi.log.warn(f"Key '{key}' not found in ResourceSliceSpec. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3103,7 +4429,9 @@ class ResourceSliceSpec(dict):
|
|
|
3103
4429
|
all_nodes: Optional[builtins.bool] = None,
|
|
3104
4430
|
devices: Optional[Sequence['outputs.Device']] = None,
|
|
3105
4431
|
node_name: Optional[builtins.str] = None,
|
|
3106
|
-
node_selector: Optional['_core.v1.outputs.NodeSelector'] = 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):
|
|
3107
4435
|
"""
|
|
3108
4436
|
ResourceSliceSpec contains the information published by the driver in one ResourceSlice.
|
|
3109
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.
|
|
@@ -3112,7 +4440,7 @@ class ResourceSliceSpec(dict):
|
|
|
3112
4440
|
:param 'ResourcePoolArgs' pool: Pool describes the pool that this ResourceSlice belongs to.
|
|
3113
4441
|
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3114
4442
|
|
|
3115
|
-
Exactly one of NodeName, NodeSelector and
|
|
4443
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3116
4444
|
:param Sequence['DeviceArgs'] devices: Devices lists some or all of the devices in this pool.
|
|
3117
4445
|
|
|
3118
4446
|
Must not have more than 128 entries.
|
|
@@ -3120,12 +4448,20 @@ class ResourceSliceSpec(dict):
|
|
|
3120
4448
|
|
|
3121
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.
|
|
3122
4450
|
|
|
3123
|
-
Exactly one of NodeName, NodeSelector and
|
|
4451
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3124
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.
|
|
3125
4453
|
|
|
3126
4454
|
Must use exactly one term.
|
|
3127
4455
|
|
|
3128
|
-
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.
|
|
3129
4465
|
"""
|
|
3130
4466
|
pulumi.set(__self__, "driver", driver)
|
|
3131
4467
|
pulumi.set(__self__, "pool", pool)
|
|
@@ -3137,6 +4473,10 @@ class ResourceSliceSpec(dict):
|
|
|
3137
4473
|
pulumi.set(__self__, "node_name", node_name)
|
|
3138
4474
|
if node_selector is not None:
|
|
3139
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)
|
|
3140
4480
|
|
|
3141
4481
|
@property
|
|
3142
4482
|
@pulumi.getter
|
|
@@ -3162,7 +4502,7 @@ class ResourceSliceSpec(dict):
|
|
|
3162
4502
|
"""
|
|
3163
4503
|
AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3164
4504
|
|
|
3165
|
-
Exactly one of NodeName, NodeSelector and
|
|
4505
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3166
4506
|
"""
|
|
3167
4507
|
return pulumi.get(self, "all_nodes")
|
|
3168
4508
|
|
|
@@ -3184,7 +4524,7 @@ class ResourceSliceSpec(dict):
|
|
|
3184
4524
|
|
|
3185
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.
|
|
3186
4526
|
|
|
3187
|
-
Exactly one of NodeName, NodeSelector and
|
|
4527
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3188
4528
|
"""
|
|
3189
4529
|
return pulumi.get(self, "node_name")
|
|
3190
4530
|
|
|
@@ -3196,10 +4536,32 @@ class ResourceSliceSpec(dict):
|
|
|
3196
4536
|
|
|
3197
4537
|
Must use exactly one term.
|
|
3198
4538
|
|
|
3199
|
-
Exactly one of NodeName, NodeSelector and
|
|
4539
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3200
4540
|
"""
|
|
3201
4541
|
return pulumi.get(self, "node_selector")
|
|
3202
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
|
+
|
|
3203
4565
|
|
|
3204
4566
|
@pulumi.output_type
|
|
3205
4567
|
class ResourceSliceSpecPatch(dict):
|
|
@@ -3215,6 +4577,10 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3215
4577
|
suggest = "node_name"
|
|
3216
4578
|
elif key == "nodeSelector":
|
|
3217
4579
|
suggest = "node_selector"
|
|
4580
|
+
elif key == "perDeviceNodeSelection":
|
|
4581
|
+
suggest = "per_device_node_selection"
|
|
4582
|
+
elif key == "sharedCounters":
|
|
4583
|
+
suggest = "shared_counters"
|
|
3218
4584
|
|
|
3219
4585
|
if suggest:
|
|
3220
4586
|
pulumi.log.warn(f"Key '{key}' not found in ResourceSliceSpecPatch. Access the value via the '{suggest}' property getter instead.")
|
|
@@ -3233,12 +4599,14 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3233
4599
|
driver: Optional[builtins.str] = None,
|
|
3234
4600
|
node_name: Optional[builtins.str] = None,
|
|
3235
4601
|
node_selector: Optional['_core.v1.outputs.NodeSelectorPatch'] = None,
|
|
3236
|
-
|
|
4602
|
+
per_device_node_selection: Optional[builtins.bool] = None,
|
|
4603
|
+
pool: Optional['outputs.ResourcePoolPatch'] = None,
|
|
4604
|
+
shared_counters: Optional[Sequence['outputs.CounterSetPatch']] = None):
|
|
3237
4605
|
"""
|
|
3238
4606
|
ResourceSliceSpec contains the information published by the driver in one ResourceSlice.
|
|
3239
4607
|
:param builtins.bool all_nodes: AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3240
4608
|
|
|
3241
|
-
Exactly one of NodeName, NodeSelector and
|
|
4609
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3242
4610
|
:param Sequence['DevicePatchArgs'] devices: Devices lists some or all of the devices in this pool.
|
|
3243
4611
|
|
|
3244
4612
|
Must not have more than 128 entries.
|
|
@@ -3249,13 +4617,21 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3249
4617
|
|
|
3250
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.
|
|
3251
4619
|
|
|
3252
|
-
Exactly one of NodeName, NodeSelector and
|
|
4620
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3253
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.
|
|
3254
4622
|
|
|
3255
4623
|
Must use exactly one term.
|
|
3256
4624
|
|
|
3257
|
-
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.
|
|
3258
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.
|
|
3259
4635
|
"""
|
|
3260
4636
|
if all_nodes is not None:
|
|
3261
4637
|
pulumi.set(__self__, "all_nodes", all_nodes)
|
|
@@ -3267,8 +4643,12 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3267
4643
|
pulumi.set(__self__, "node_name", node_name)
|
|
3268
4644
|
if node_selector is not None:
|
|
3269
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)
|
|
3270
4648
|
if pool is not None:
|
|
3271
4649
|
pulumi.set(__self__, "pool", pool)
|
|
4650
|
+
if shared_counters is not None:
|
|
4651
|
+
pulumi.set(__self__, "shared_counters", shared_counters)
|
|
3272
4652
|
|
|
3273
4653
|
@property
|
|
3274
4654
|
@pulumi.getter(name="allNodes")
|
|
@@ -3276,7 +4656,7 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3276
4656
|
"""
|
|
3277
4657
|
AllNodes indicates that all nodes have access to the resources in the pool.
|
|
3278
4658
|
|
|
3279
|
-
Exactly one of NodeName, NodeSelector and
|
|
4659
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3280
4660
|
"""
|
|
3281
4661
|
return pulumi.get(self, "all_nodes")
|
|
3282
4662
|
|
|
@@ -3308,7 +4688,7 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3308
4688
|
|
|
3309
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.
|
|
3310
4690
|
|
|
3311
|
-
Exactly one of NodeName, NodeSelector and
|
|
4691
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set. This field is immutable.
|
|
3312
4692
|
"""
|
|
3313
4693
|
return pulumi.get(self, "node_name")
|
|
3314
4694
|
|
|
@@ -3320,10 +4700,20 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3320
4700
|
|
|
3321
4701
|
Must use exactly one term.
|
|
3322
4702
|
|
|
3323
|
-
Exactly one of NodeName, NodeSelector and
|
|
4703
|
+
Exactly one of NodeName, NodeSelector, AllNodes, and PerDeviceNodeSelection must be set.
|
|
3324
4704
|
"""
|
|
3325
4705
|
return pulumi.get(self, "node_selector")
|
|
3326
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
|
+
|
|
3327
4717
|
@property
|
|
3328
4718
|
@pulumi.getter
|
|
3329
4719
|
def pool(self) -> Optional['outputs.ResourcePoolPatch']:
|
|
@@ -3332,4 +4722,16 @@ class ResourceSliceSpecPatch(dict):
|
|
|
3332
4722
|
"""
|
|
3333
4723
|
return pulumi.get(self, "pool")
|
|
3334
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
|
+
|
|
3335
4737
|
|