diff --git a/aws-django-voting-app/requirements.txt b/aws-django-voting-app/requirements.txt
index 02f963f65..1686eacaa 100644
--- a/aws-django-voting-app/requirements.txt
+++ b/aws-django-voting-app/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
 pulumi-docker>=3.0.0,<4.0.0
 pulumi-mysql>=3.0.0,<4.0.0
diff --git a/aws-py-apigateway-lambda-serverless/requirements.txt b/aws-py-apigateway-lambda-serverless/requirements.txt
index ff986d25a..2ef0bff2c 100644
--- a/aws-py-apigateway-lambda-serverless/requirements.txt
+++ b/aws-py-apigateway-lambda-serverless/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
\ No newline at end of file
diff --git a/aws-py-apigatewayv2-http-api-quickcreate/requirements.txt b/aws-py-apigatewayv2-http-api-quickcreate/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-apigatewayv2-http-api-quickcreate/requirements.txt
+++ b/aws-py-apigatewayv2-http-api-quickcreate/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-appsync/requirements.txt b/aws-py-appsync/requirements.txt
index ef6ec13a3..68c7ee12d 100644
--- a/aws-py-appsync/requirements.txt
+++ b/aws-py-appsync/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
-pulumi-random>=4.0.0,<5.0.0
+pulumi-random>=4.2.0,<5.0.0
diff --git a/aws-py-assume-role/assume-role/requirements.txt b/aws-py-assume-role/assume-role/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-assume-role/assume-role/requirements.txt
+++ b/aws-py-assume-role/assume-role/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-assume-role/create-role/requirements.txt b/aws-py-assume-role/create-role/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-assume-role/create-role/requirements.txt
+++ b/aws-py-assume-role/create-role/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-dynamicresource/requirements.txt b/aws-py-dynamicresource/requirements.txt
index 6e22d1815..f06fe82ef 100644
--- a/aws-py-dynamicresource/requirements.txt
+++ b/aws-py-dynamicresource/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
 pulumi-mysql>=3.0.0,<4.0.0
 mysql-connector-python>=1.0.0,<10.0.0
diff --git a/aws-py-ec2-provisioners/requirements.txt b/aws-py-ec2-provisioners/requirements.txt
index 5510ff1f8..300618b1d 100644
--- a/aws-py-ec2-provisioners/requirements.txt
+++ b/aws-py-ec2-provisioners/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
 paramiko>=2.7.1
 typing_extensions>=3.7.4
diff --git a/aws-py-ecs-instances-autoapi/py-ecs-instance/requirements.txt b/aws-py-ecs-instances-autoapi/py-ecs-instance/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-ecs-instances-autoapi/py-ecs-instance/requirements.txt
+++ b/aws-py-ecs-instances-autoapi/py-ecs-instance/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-eks/requirements.txt b/aws-py-eks/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-eks/requirements.txt
+++ b/aws-py-eks/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-fargate/requirements.txt b/aws-py-fargate/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-fargate/requirements.txt
+++ b/aws-py-fargate/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-resources/requirements.txt b/aws-py-resources/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-resources/requirements.txt
+++ b/aws-py-resources/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-s3-folder/requirements.txt b/aws-py-s3-folder/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-s3-folder/requirements.txt
+++ b/aws-py-s3-folder/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-serverless-raw/requirements.txt b/aws-py-serverless-raw/requirements.txt
index c571660d5..55993c9e0 100644
--- a/aws-py-serverless-raw/requirements.txt
+++ b/aws-py-serverless-raw/requirements.txt
@@ -1,3 +1,3 @@
 grpcio>=1.9.1,!=1.30.0
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-slackbot/requirements.txt b/aws-py-slackbot/requirements.txt
index 9bf05925d..f0c436a78 100644
--- a/aws-py-slackbot/requirements.txt
+++ b/aws-py-slackbot/requirements.txt
@@ -1,4 +1,4 @@
 slack-sdk==3.5.0
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
 boto3==1.16.58
\ No newline at end of file
diff --git a/aws-py-stackreference/company/requirements.txt b/aws-py-stackreference/company/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-stackreference/company/requirements.txt
+++ b/aws-py-stackreference/company/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-stackreference/department/requirements.txt b/aws-py-stackreference/department/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-stackreference/department/requirements.txt
+++ b/aws-py-stackreference/department/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-stackreference/team/requirements.txt b/aws-py-stackreference/team/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-stackreference/team/requirements.txt
+++ b/aws-py-stackreference/team/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-static-website/requirements.txt b/aws-py-static-website/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-static-website/requirements.txt
+++ b/aws-py-static-website/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-stepfunctions/requirements.txt b/aws-py-stepfunctions/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-stepfunctions/requirements.txt
+++ b/aws-py-stepfunctions/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-voting-app/requirements.txt b/aws-py-voting-app/requirements.txt
index 7ac72d8c0..5122b79b2 100644
--- a/aws-py-voting-app/requirements.txt
+++ b/aws-py-voting-app/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
 pulumi-docker>=3.0.0,<4.0.0
diff --git a/aws-py-webserver/requirements.txt b/aws-py-webserver/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-py-webserver/requirements.txt
+++ b/aws-py-webserver/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/aws-py-wordpress-fargate-rds/requirements.txt b/aws-py-wordpress-fargate-rds/requirements.txt
index ef6ec13a3..68c7ee12d 100644
--- a/aws-py-wordpress-fargate-rds/requirements.txt
+++ b/aws-py-wordpress-fargate-rds/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
-pulumi-random>=4.0.0,<5.0.0
+pulumi-random>=4.2.0,<5.0.0
diff --git a/aws-ts-vpc-with-ecs-fargate-py/ecs-fargate-python/requirements.txt b/aws-ts-vpc-with-ecs-fargate-py/ecs-fargate-python/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/aws-ts-vpc-with-ecs-fargate-py/ecs-fargate-python/requirements.txt
+++ b/aws-ts-vpc-with-ecs-fargate-py/ecs-fargate-python/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/azure-py-aci/requirements.txt b/azure-py-aci/requirements.txt
index 7bd9b2385..846c85cec 100644
--- a/azure-py-aci/requirements.txt
+++ b/azure-py-aci/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
diff --git a/azure-py-aks-helm/requirements.txt b/azure-py-aks-helm/requirements.txt
index 287c46199..8367de811 100644
--- a/azure-py-aks-helm/requirements.txt
+++ b/azure-py-aks-helm/requirements.txt
@@ -1,6 +1,6 @@
-pulumi-azuread>=4.0.0,<5.0.0
-pulumi-azure-native>=1.0.1, <2.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
-pulumi-random>=4.0.0,<5.0.0
-pulumi-tls>=4.0.0,<5.0.0
-pulumi>=3.0.0,<4.0.0
+pulumi-azuread>=4.3.0,<5.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
+pulumi-random>=4.2.0,<5.0.0
+pulumi-tls>=4.2.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
diff --git a/azure-py-aks-multicluster/requirements.txt b/azure-py-aks-multicluster/requirements.txt
index 80475c6ea..f830ebd38 100644
--- a/azure-py-aks-multicluster/requirements.txt
+++ b/azure-py-aks-multicluster/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=2.0.0,<3.0.0
-pulumi-azure-native>=0.7.0
-pulumi-azuread>=2.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
+pulumi-azuread>=4.3.0,<5.0.0
diff --git a/azure-py-aks/requirements.txt b/azure-py-aks/requirements.txt
index 3fccda4f8..0cbfa5f8f 100644
--- a/azure-py-aks/requirements.txt
+++ b/azure-py-aks/requirements.txt
@@ -1,5 +1,5 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azuread>=4.0.0,<5.0.0
-pulumi-azure-native>=1.0.0
-pulumi-random>=4.0.0
-pulumi-tls>=4.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azuread>=4.3.0,<5.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
+pulumi-random>=4.2.0,<5.0.0
+pulumi-tls>=4.2.0,<5.0.0
diff --git a/azure-py-appservice-docker/requirements.txt b/azure-py-appservice-docker/requirements.txt
index 13e9469fe..e04157577 100644
--- a/azure-py-appservice-docker/requirements.txt
+++ b/azure-py-appservice-docker/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
 pulumi-docker>=3.0.0,<4.0.0
diff --git a/azure-py-appservice/requirements.txt b/azure-py-appservice/requirements.txt
index 7bd9b2385..846c85cec 100644
--- a/azure-py-appservice/requirements.txt
+++ b/azure-py-appservice/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
diff --git a/azure-py-call-azure-sdk/requirements.txt b/azure-py-call-azure-sdk/requirements.txt
index c88666aae..9da097108 100644
--- a/azure-py-call-azure-sdk/requirements.txt
+++ b/azure-py-call-azure-sdk/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0,<2.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
 azure-mgmt-authorization>=1.0.0
\ No newline at end of file
diff --git a/azure-py-cosmosdb-logicapp/requirements.txt b/azure-py-cosmosdb-logicapp/requirements.txt
index 314eba1c7..f79b15cf9 100644
--- a/azure-py-cosmosdb-logicapp/requirements.txt
+++ b/azure-py-cosmosdb-logicapp/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
 typing_extensions>=3.7.4
diff --git a/azure-py-minecraft-server/requirements.txt b/azure-py-minecraft-server/requirements.txt
index 1e6e2a270..71737e85f 100644
--- a/azure-py-minecraft-server/requirements.txt
+++ b/azure-py-minecraft-server/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
 paramiko>=2.7.1
 typing_extensions>=3.7.4
diff --git a/azure-py-static-website/requirements.txt b/azure-py-static-website/requirements.txt
index b86684b21..03984b797 100644
--- a/azure-py-static-website/requirements.txt
+++ b/azure-py-static-website/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-random>=4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-random>=4.2.0,<5.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
 typing_extensions>=3.7.4
diff --git a/azure-py-synapse/requirements.txt b/azure-py-synapse/requirements.txt
index 83eaebc19..435f13922 100644
--- a/azure-py-synapse/requirements.txt
+++ b/azure-py-synapse/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-random>=4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-random>=4.2.0,<5.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
diff --git a/azure-py-virtual-data-center/requirements.txt b/azure-py-virtual-data-center/requirements.txt
index 7bd9b2385..846c85cec 100644
--- a/azure-py-virtual-data-center/requirements.txt
+++ b/azure-py-virtual-data-center/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
diff --git a/azure-py-webserver/requirements.txt b/azure-py-webserver/requirements.txt
index 7bd9b2385..846c85cec 100644
--- a/azure-py-webserver/requirements.txt
+++ b/azure-py-webserver/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure-native>=1.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
diff --git a/classic-azure-py-aks-multicluster/requirements.txt b/classic-azure-py-aks-multicluster/requirements.txt
index c3a6a7a32..743f49c1c 100644
--- a/classic-azure-py-aks-multicluster/requirements.txt
+++ b/classic-azure-py-aks-multicluster/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure>=4.0.0,<5.0.0
-pulumi-azuread>=4.0.0,<5.0.0
-pulumi-random>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure>=4.7.0,<5.0.0
+pulumi-azuread>=4.3.0,<5.0.0
+pulumi-random>=4.2.0,<5.0.0
diff --git a/classic-azure-py-arm-template/requirements.txt b/classic-azure-py-arm-template/requirements.txt
index c427f338d..e665e30ed 100644
--- a/classic-azure-py-arm-template/requirements.txt
+++ b/classic-azure-py-arm-template/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure>=4.7.0,<5.0.0
diff --git a/classic-azure-py-hdinsight-spark/requirements.txt b/classic-azure-py-hdinsight-spark/requirements.txt
index c427f338d..e665e30ed 100644
--- a/classic-azure-py-hdinsight-spark/requirements.txt
+++ b/classic-azure-py-hdinsight-spark/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure>=4.7.0,<5.0.0
diff --git a/classic-azure-py-msi-keyvault-rbac/requirements.txt b/classic-azure-py-msi-keyvault-rbac/requirements.txt
index d84735325..a91780f7c 100644
--- a/classic-azure-py-msi-keyvault-rbac/requirements.txt
+++ b/classic-azure-py-msi-keyvault-rbac/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure>=4.0.0,<5.0.0
-pulumi-random>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure>=4.7.0,<5.0.0
+pulumi-random>=4.2.0,<5.0.0
diff --git a/classic-azure-py-vm-scaleset/requirements.txt b/classic-azure-py-vm-scaleset/requirements.txt
index d84735325..a91780f7c 100644
--- a/classic-azure-py-vm-scaleset/requirements.txt
+++ b/classic-azure-py-vm-scaleset/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure>=4.0.0,<5.0.0
-pulumi-random>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure>=4.7.0,<5.0.0
+pulumi-random>=4.2.0,<5.0.0
diff --git a/classic-azure-py-webserver-component/requirements.txt b/classic-azure-py-webserver-component/requirements.txt
index c427f338d..e665e30ed 100644
--- a/classic-azure-py-webserver-component/requirements.txt
+++ b/classic-azure-py-webserver-component/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-azure>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure>=4.7.0,<5.0.0
diff --git a/digitalocean-py-k8s/requirements.txt b/digitalocean-py-k8s/requirements.txt
index f09ed13ee..12e9a369f 100644
--- a/digitalocean-py-k8s/requirements.txt
+++ b/digitalocean-py-k8s/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
-pulumi-digitalocean>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
+pulumi-digitalocean>=4.4.1,<5.0.0
diff --git a/digitalocean-py-loadbalanced-droplets/requirements.txt b/digitalocean-py-loadbalanced-droplets/requirements.txt
index 617fe4fc3..9366a376f 100644
--- a/digitalocean-py-loadbalanced-droplets/requirements.txt
+++ b/digitalocean-py-loadbalanced-droplets/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-digitalocean>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-digitalocean>=4.4.1,<5.0.0
diff --git a/docker-py-multi-container-app/requirements.txt b/docker-py-multi-container-app/requirements.txt
index 82fb42aa2..6131cc57a 100644
--- a/docker-py-multi-container-app/requirements.txt
+++ b/docker-py-multi-container-app/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-docker>=3.0.0,<4.0.0
\ No newline at end of file
+pulumi>=3.5.1,<4.0.0
+pulumi-docker>=3.0.0,<4.0.0
diff --git a/equinix-metal-py-webserver/requirements.txt b/equinix-metal-py-webserver/requirements.txt
index dd7d342f9..d59fc3d0a 100644
--- a/equinix-metal-py-webserver/requirements.txt
+++ b/equinix-metal-py-webserver/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-equinix-metal>=2.0.0,<3.0.0
-pulumi-random>=4.0.0,<5.0.0
+pulumi-random>=4.2.0,<5.0.0
diff --git a/gcp-py-cloudrun-cloudsql/requirements.txt b/gcp-py-cloudrun-cloudsql/requirements.txt
index 9dd1c7dae..a06cced5a 100644
--- a/gcp-py-cloudrun-cloudsql/requirements.txt
+++ b/gcp-py-cloudrun-cloudsql/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-gcp>=5.0.0,<6.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-gcp>=5.10.1,<6.0.0
diff --git a/gcp-py-functions/requirements.txt b/gcp-py-functions/requirements.txt
index 3309cb2e9..83dbe7b2e 100644
--- a/gcp-py-functions/requirements.txt
+++ b/gcp-py-functions/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-gcp>=5.0.0,<6.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-gcp>=5.10.1,<6.0.0
 twilio>=6.26.0
 googlemaps>=3.0.2
diff --git a/gcp-py-gke/requirements.txt b/gcp-py-gke/requirements.txt
index 68571d749..270bae436 100644
--- a/gcp-py-gke/requirements.txt
+++ b/gcp-py-gke/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-gcp>=5.0.0,<6.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
-pulumi-random>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-gcp>=5.10.1,<6.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
+pulumi-random>=4.2.0,<5.0.0
diff --git a/gcp-py-instance-nginx/requirements.txt b/gcp-py-instance-nginx/requirements.txt
index 9dd1c7dae..a06cced5a 100644
--- a/gcp-py-instance-nginx/requirements.txt
+++ b/gcp-py-instance-nginx/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-gcp>=5.0.0,<6.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-gcp>=5.10.1,<6.0.0
diff --git a/gcp-py-network-component/requirements.txt b/gcp-py-network-component/requirements.txt
index 5a4f14d07..a06cced5a 100644
--- a/gcp-py-network-component/requirements.txt
+++ b/gcp-py-network-component/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-gcp>=5.0.0,<6.0.0
\ No newline at end of file
+pulumi>=3.5.1,<4.0.0
+pulumi-gcp>=5.10.1,<6.0.0
diff --git a/gcp-py-serverless-raw/requirements.txt b/gcp-py-serverless-raw/requirements.txt
index 9dd1c7dae..a06cced5a 100644
--- a/gcp-py-serverless-raw/requirements.txt
+++ b/gcp-py-serverless-raw/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-gcp>=5.0.0,<6.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-gcp>=5.10.1,<6.0.0
diff --git a/gcp-py-webserver/requirements.txt b/gcp-py-webserver/requirements.txt
index 9dd1c7dae..a06cced5a 100644
--- a/gcp-py-webserver/requirements.txt
+++ b/gcp-py-webserver/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-gcp>=5.0.0,<6.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-gcp>=5.10.1,<6.0.0
diff --git a/kubernetes-py-guestbook/components/requirements.txt b/kubernetes-py-guestbook/components/requirements.txt
index e9f124085..b408ae4f4 100644
--- a/kubernetes-py-guestbook/components/requirements.txt
+++ b/kubernetes-py-guestbook/components/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
diff --git a/kubernetes-py-guestbook/simple/requirements.txt b/kubernetes-py-guestbook/simple/requirements.txt
index e9f124085..b408ae4f4 100644
--- a/kubernetes-py-guestbook/simple/requirements.txt
+++ b/kubernetes-py-guestbook/simple/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
diff --git a/kubernetes-py-jenkins/requirements.txt b/kubernetes-py-jenkins/requirements.txt
index e9f124085..b408ae4f4 100644
--- a/kubernetes-py-jenkins/requirements.txt
+++ b/kubernetes-py-jenkins/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
diff --git a/kubernetes-py-nginx/requirements.txt b/kubernetes-py-nginx/requirements.txt
index e9f124085..b408ae4f4 100644
--- a/kubernetes-py-nginx/requirements.txt
+++ b/kubernetes-py-nginx/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
diff --git a/libvirt-py-vm/requirements.txt b/libvirt-py-vm/requirements.txt
index 211ed7308..913421e66 100644
--- a/libvirt-py-vm/requirements.txt
+++ b/libvirt-py-vm/requirements.txt
@@ -1,4 +1,4 @@
-pulumi>=2.0.0,<4.0.0
-pulumi-azure-native>=0.0.0,<2.0.0
-pulumi-tls>=4.0.0,<5.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-azure-native>=1.14.0,<2.0.0
+pulumi-tls>=4.2.0,<5.0.0
 pulumi-libvirt>=0.1.0,<1.0.0
diff --git a/misc/scripts/update_requirements_txt.py b/misc/scripts/update_requirements_txt.py
new file mode 100644
index 000000000..a267651e5
--- /dev/null
+++ b/misc/scripts/update_requirements_txt.py
@@ -0,0 +1,58 @@
+import subprocess as sp
+
+
+DESIRED_DEPS = {
+    'pulumi': 'pulumi>=3.5.1,<4.0.0',
+
+    'pulumi-azure': 'pulumi-azure>=4.7.0,<5.0.0',
+    'pulumi-azure-native': 'pulumi-azure-native>=1.14.0,<2.0.0',
+    'pulumi-azuread': 'pulumi-azuread>=4.3.0,<5.0.0',
+    'pulumi-digitalocean': 'pulumi-digitalocean>=4.4.1,<5.0.0',
+    'pulumi-docker': 'pulumi-docker>=3.0.0,<4.0.0',
+    'pulumi-equinix-metal': 'pulumi-equinix-metal>=2.0.0,<3.0.0',
+    'pulumi-gcp': 'pulumi-gcp>=5.10.1,<6.0.0',
+    'pulumi-kubernetes': 'pulumi-kubernetes>=3.4.0,<4.0.0',
+    'pulumi-libvirt': 'pulumi-libvirt>=0.1.0,<1.0.0',
+    'pulumi-mysql': 'pulumi-mysql>=3.0.0,<4.0.0',
+    'pulumi-openstack': 'pulumi-openstack>=3.2.0,<4.0.0',
+    'pulumi-packet': 'pulumi-packet>=3.2.2,<4.0.0',
+    'pulumi-policy': 'pulumi-policy>=1.3.0,<2.0.0',
+    'pulumi-random': 'pulumi-random>=4.2.0,<5.0.0',
+    'pulumi-tls': 'pulumi-tls>=4.2.0,<5.0.0',
+}
+
+
+fs = sp.check_output('git ls-files', shell=True).decode().split('\n')
+
+
+requirements_txt_files = [
+    f
+    for f in fs
+    if f.endswith('requirements.txt')
+]
+
+
+def read_file_lines(f):
+    with open(f, 'r') as fp:
+        return fp.readlines()
+
+
+def write_file_lines(f, lines):
+    with open(f, 'w') as fp:
+        fp.writelines(lines)
+
+
+def fix_line(line):
+    for prefix, dep in DESIRED_DEPS.items():
+        if line.startswith(f'{prefix}>='):
+            return f"{dep}\n"
+    return line
+
+
+def fix_lines(lines):
+    return [fix_line(line) for line in lines]
+
+
+if __name__ == '__main__':
+    for f in requirements_txt_files:
+        write_file_lines(f, fix_lines(read_file_lines(f)))
diff --git a/openstack-py-webserver/requirements.txt b/openstack-py-webserver/requirements.txt
index 6d7c49084..2dbdbfc03 100644
--- a/openstack-py-webserver/requirements.txt
+++ b/openstack-py-webserver/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
-pulumi-openstack>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
+pulumi-openstack>=3.2.0,<4.0.0
diff --git a/policy-packs/aws-python/requirements.txt b/policy-packs/aws-python/requirements.txt
index 31b66c8a5..6a2546f0b 100644
--- a/policy-packs/aws-python/requirements.txt
+++ b/policy-packs/aws-python/requirements.txt
@@ -1,2 +1,2 @@
-pulumi-policy>=1.2.0,<2.0.0
+pulumi-policy>=1.3.0,<2.0.0
 pulumi-aws>=4.0.0,<5.0.0
diff --git a/policy-packs/azure-python/requirements.txt b/policy-packs/azure-python/requirements.txt
index 4b9b474e4..2d6a5f4b6 100644
--- a/policy-packs/azure-python/requirements.txt
+++ b/policy-packs/azure-python/requirements.txt
@@ -1,2 +1,2 @@
-pulumi-policy>=1.2.0,<2.0.0
-pulumi-azure>=4.0.0,<5.0.0
+pulumi-policy>=1.3.0,<2.0.0
+pulumi-azure>=4.7.0,<5.0.0
diff --git a/policy-packs/gcp-python/requirements.txt b/policy-packs/gcp-python/requirements.txt
index e8593c5da..45f82cfc6 100644
--- a/policy-packs/gcp-python/requirements.txt
+++ b/policy-packs/gcp-python/requirements.txt
@@ -1,2 +1,2 @@
-pulumi-policy>=1.2.0,<2.0.0
-pulumi-gcp>=5.0.0,<6.0.0
+pulumi-policy>=1.3.0,<2.0.0
+pulumi-gcp>=5.10.1,<6.0.0
diff --git a/policy-packs/kubernetes-python/requirements.txt b/policy-packs/kubernetes-python/requirements.txt
index 95839880b..e694b010a 100644
--- a/policy-packs/kubernetes-python/requirements.txt
+++ b/policy-packs/kubernetes-python/requirements.txt
@@ -1,2 +1,2 @@
-pulumi-policy>=1.2.0,<2.0.0
-pulumi-kubernetes>=3.0.0,<4.0.0
+pulumi-policy>=1.3.0,<2.0.0
+pulumi-kubernetes>=3.4.0,<4.0.0
diff --git a/testing-integration-py/requirements.txt b/testing-integration-py/requirements.txt
index 058a4de3b..92f5edd0e 100644
--- a/testing-integration-py/requirements.txt
+++ b/testing-integration-py/requirements.txt
@@ -1,3 +1,3 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0
 boto3==1.16.58
\ No newline at end of file
diff --git a/testing-unit-py/requirements.txt b/testing-unit-py/requirements.txt
index 73deeede0..f676e7b4d 100644
--- a/testing-unit-py/requirements.txt
+++ b/testing-unit-py/requirements.txt
@@ -1,2 +1,2 @@
-pulumi>=3.0.0,<4.0.0
+pulumi>=3.5.1,<4.0.0
 pulumi-aws>=4.0.0,<5.0.0