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