diff --git a/plugins/modules/gcp_appengine_firewall_rule_info.py b/plugins/modules/gcp_appengine_firewall_rule_info.py
index 7206b15..ad9a22a 100644
--- a/plugins/modules/gcp_appengine_firewall_rule_info.py
+++ b/plugins/modules/gcp_appengine_firewall_rule_info.py
@@ -150,7 +150,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_bigquery_dataset_info.py b/plugins/modules/gcp_bigquery_dataset_info.py
index ca689a6..d972b37 100644
--- a/plugins/modules/gcp_bigquery_dataset_info.py
+++ b/plugins/modules/gcp_bigquery_dataset_info.py
@@ -311,7 +311,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery']
diff --git a/plugins/modules/gcp_bigquery_table.py b/plugins/modules/gcp_bigquery_table.py
index b0021e2..5751cd3 100644
--- a/plugins/modules/gcp_bigquery_table.py
+++ b/plugins/modules/gcp_bigquery_table.py
@@ -253,6 +253,7 @@ options:
           data .
         required: false
         type: int
+        default: 0
       source_format:
         description:
         - The data format.
@@ -328,6 +329,7 @@ options:
               when reading the data.
             required: false
             type: int
+            default: 0
       csv_options:
         description:
         - Additional properties to set if sourceFormat is set to CSV.
@@ -368,6 +370,7 @@ options:
               when reading the data.
             required: false
             type: int
+            default: 0
       bigtable_options:
         description:
         - Additional options if sourceFormat is set to BIGTABLE.
diff --git a/plugins/modules/gcp_bigquery_table_info.py b/plugins/modules/gcp_bigquery_table_info.py
index a67af95..40d0ae2 100644
--- a/plugins/modules/gcp_bigquery_table_info.py
+++ b/plugins/modules/gcp_bigquery_table_info.py
@@ -590,7 +590,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(dataset=dict(type='str')))
+    module = GcpModule(argument_spec=dict(dataset=dict(type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery']
diff --git a/plugins/modules/gcp_bigtable_instance_info.py b/plugins/modules/gcp_bigtable_instance_info.py
index 6c8f416..5336f9e 100644
--- a/plugins/modules/gcp_bigtable_instance_info.py
+++ b/plugins/modules/gcp_bigtable_instance_info.py
@@ -188,7 +188,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_cloudbuild_trigger.py b/plugins/modules/gcp_cloudbuild_trigger.py
index b252f86..218135a 100644
--- a/plugins/modules/gcp_cloudbuild_trigger.py
+++ b/plugins/modules/gcp_cloudbuild_trigger.py
@@ -1536,7 +1536,7 @@ def main():
                 ),
             ),
             pubsub_config=dict(type='dict', options=dict(topic=dict(required=True, type='str'), service_account_email=dict(type='str'))),
-            webhook_config=dict(type='dict', options=dict(secret=dict(required=True, type='str'))),
+            webhook_config=dict(type='dict', options=dict(secret=dict(required=True, type='str', no_log=True))),
             build=dict(
                 type='dict',
                 options=dict(
@@ -1568,7 +1568,11 @@ def main():
                     queue_ttl=dict(type='str'),
                     logs_bucket=dict(type='str'),
                     timeout=dict(default='600s', type='str'),
-                    secrets=dict(type='list', elements='dict', options=dict(kms_key_name=dict(required=True, type='str'), secret_env=dict(type='dict'))),
+                    secrets=dict(
+                        type='list',
+                        elements='dict',
+                        no_log=True,
+                        options=dict(kms_key_name=dict(required=True, type='str'), secret_env=dict(type='dict', no_log=True))),
                     steps=dict(
                         required=True,
                         type='list',
@@ -1580,7 +1584,7 @@ def main():
                             id=dict(type='str'),
                             entrypoint=dict(type='str'),
                             dir=dict(type='str'),
-                            secret_env=dict(type='list', elements='str'),
+                            secret_env=dict(type='list', elements='str', no_log=True),
                             timeout=dict(type='str'),
                             timing=dict(type='str'),
                             volumes=dict(
@@ -1609,7 +1613,7 @@ def main():
                             worker_pool=dict(type='str'),
                             logging=dict(type='str'),
                             env=dict(type='list', elements='str'),
-                            secret_env=dict(type='list', elements='str'),
+                            secret_env=dict(type='list', elements='str', no_log=True),
                             volumes=dict(type='list', elements='dict', options=dict(name=dict(type='str'), path=dict(type='str'))),
                         ),
                     ),
diff --git a/plugins/modules/gcp_cloudbuild_trigger_info.py b/plugins/modules/gcp_cloudbuild_trigger_info.py
index c8a9202..2f6fcfd 100644
--- a/plugins/modules/gcp_cloudbuild_trigger_info.py
+++ b/plugins/modules/gcp_cloudbuild_trigger_info.py
@@ -814,7 +814,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_cloudfunctions_cloud_function_info.py b/plugins/modules/gcp_cloudfunctions_cloud_function_info.py
index 075fd86..778f2b5 100644
--- a/plugins/modules/gcp_cloudfunctions_cloud_function_info.py
+++ b/plugins/modules/gcp_cloudfunctions_cloud_function_info.py
@@ -273,7 +273,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_cloudscheduler_job.py b/plugins/modules/gcp_cloudscheduler_job.py
index 8a93053..e2adf59 100644
--- a/plugins/modules/gcp_cloudscheduler_job.py
+++ b/plugins/modules/gcp_cloudscheduler_job.py
@@ -681,8 +681,8 @@ def main():
                     http_method=dict(type='str'),
                     body=dict(type='str'),
                     headers=dict(type='dict'),
-                    oauth_token=dict(type='dict', options=dict(service_account_email=dict(required=True, type='str'), scope=dict(type='str'))),
-                    oidc_token=dict(type='dict', options=dict(service_account_email=dict(required=True, type='str'), audience=dict(type='str'))),
+                    oauth_token=dict(type='dict', no_log=True, options=dict(service_account_email=dict(required=True, type='str'), scope=dict(type='str'))),
+                    oidc_token=dict(type='dict', no_log=True, options=dict(service_account_email=dict(required=True, type='str'), audience=dict(type='str'))),
                 ),
             ),
             region=dict(required=True, type='str'),
diff --git a/plugins/modules/gcp_cloudscheduler_job_info.py b/plugins/modules/gcp_cloudscheduler_job_info.py
index 29ba123..0c03f71 100644
--- a/plugins/modules/gcp_cloudscheduler_job_info.py
+++ b/plugins/modules/gcp_cloudscheduler_job_info.py
@@ -379,7 +379,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_cloudtasks_queue_info.py b/plugins/modules/gcp_cloudtasks_queue_info.py
index 631b10d..f006fe8 100644
--- a/plugins/modules/gcp_cloudtasks_queue_info.py
+++ b/plugins/modules/gcp_cloudtasks_queue_info.py
@@ -279,7 +279,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_compute_address_info.py b/plugins/modules/gcp_compute_address_info.py
index 247d892..b919a30 100644
--- a/plugins/modules/gcp_compute_address_info.py
+++ b/plugins/modules/gcp_compute_address_info.py
@@ -235,7 +235,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_autoscaler_info.py b/plugins/modules/gcp_compute_autoscaler_info.py
index 110c10d..f908fec 100644
--- a/plugins/modules/gcp_compute_autoscaler_info.py
+++ b/plugins/modules/gcp_compute_autoscaler_info.py
@@ -320,7 +320,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_backend_bucket_info.py b/plugins/modules/gcp_compute_backend_bucket_info.py
index aaf40e3..8a50429 100644
--- a/plugins/modules/gcp_compute_backend_bucket_info.py
+++ b/plugins/modules/gcp_compute_backend_bucket_info.py
@@ -252,7 +252,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_backend_service.py b/plugins/modules/gcp_compute_backend_service.py
index b259848..e311fcc 100644
--- a/plugins/modules/gcp_compute_backend_service.py
+++ b/plugins/modules/gcp_compute_backend_service.py
@@ -1490,6 +1490,7 @@ def main():
                 options=dict(
                     cache_key_policy=dict(
                         type="dict",
+                        no_log=False,
                         options=dict(
                             include_host=dict(type="bool"),
                             include_protocol=dict(type="bool"),
diff --git a/plugins/modules/gcp_compute_backend_service_info.py b/plugins/modules/gcp_compute_backend_service_info.py
index 5e71577..c16f657 100644
--- a/plugins/modules/gcp_compute_backend_service_info.py
+++ b/plugins/modules/gcp_compute_backend_service_info.py
@@ -762,7 +762,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_disk.py b/plugins/modules/gcp_compute_disk.py
index 8409cac..d3880ee 100644
--- a/plugins/modules/gcp_compute_disk.py
+++ b/plugins/modules/gcp_compute_disk.py
@@ -570,14 +570,20 @@ def main():
             provisioned_iops=dict(type='int'),
             zone=dict(required=True, type='str'),
             source_image_encryption_key=dict(
-                type='dict', no_log=True, options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
+                type='dict',
+                no_log=True,
+                options=dict(raw_key=dict(type='str', no_log=True), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
             ),
             disk_encryption_key=dict(
-                type='dict', no_log=True, options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
+                type='dict',
+                no_log=True,
+                options=dict(raw_key=dict(type='str', no_log=True), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
             ),
             source_snapshot=dict(type='dict', no_log=True),
             source_snapshot_encryption_key=dict(
-                type='dict', no_log=True, options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
+                type='dict',
+                no_log=True,
+                options=dict(raw_key=dict(type='str', no_log=True), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
             ),
         )
     )
diff --git a/plugins/modules/gcp_compute_disk_info.py b/plugins/modules/gcp_compute_disk_info.py
index 8e36468..c8e4be1 100644
--- a/plugins/modules/gcp_compute_disk_info.py
+++ b/plugins/modules/gcp_compute_disk_info.py
@@ -375,7 +375,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_external_vpn_gateway_info.py b/plugins/modules/gcp_compute_external_vpn_gateway_info.py
index 6e2e0d0..ffd36e4 100644
--- a/plugins/modules/gcp_compute_external_vpn_gateway_info.py
+++ b/plugins/modules/gcp_compute_external_vpn_gateway_info.py
@@ -175,7 +175,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_firewall_info.py b/plugins/modules/gcp_compute_firewall_info.py
index dfc105e..e5cb830 100644
--- a/plugins/modules/gcp_compute_firewall_info.py
+++ b/plugins/modules/gcp_compute_firewall_info.py
@@ -322,7 +322,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_forwarding_rule_info.py b/plugins/modules/gcp_compute_forwarding_rule_info.py
index 87dcb89..d8a8e58 100644
--- a/plugins/modules/gcp_compute_forwarding_rule_info.py
+++ b/plugins/modules/gcp_compute_forwarding_rule_info.py
@@ -314,7 +314,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_global_address_info.py b/plugins/modules/gcp_compute_global_address_info.py
index 34aa175..377b5f4 100644
--- a/plugins/modules/gcp_compute_global_address_info.py
+++ b/plugins/modules/gcp_compute_global_address_info.py
@@ -205,7 +205,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_global_forwarding_rule_info.py b/plugins/modules/gcp_compute_global_forwarding_rule_info.py
index 735d622..68f9de4 100644
--- a/plugins/modules/gcp_compute_global_forwarding_rule_info.py
+++ b/plugins/modules/gcp_compute_global_forwarding_rule_info.py
@@ -289,7 +289,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_health_check_info.py b/plugins/modules/gcp_compute_health_check_info.py
index b6876f2..78662af 100644
--- a/plugins/modules/gcp_compute_health_check_info.py
+++ b/plugins/modules/gcp_compute_health_check_info.py
@@ -527,7 +527,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_http_health_check_info.py b/plugins/modules/gcp_compute_http_health_check_info.py
index 547fdc9..cfd394d 100644
--- a/plugins/modules/gcp_compute_http_health_check_info.py
+++ b/plugins/modules/gcp_compute_http_health_check_info.py
@@ -204,7 +204,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_https_health_check_info.py b/plugins/modules/gcp_compute_https_health_check_info.py
index 58af6d4..4597ca3 100644
--- a/plugins/modules/gcp_compute_https_health_check_info.py
+++ b/plugins/modules/gcp_compute_https_health_check_info.py
@@ -204,7 +204,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_image.py b/plugins/modules/gcp_compute_image.py
index 66d897a..741536e 100644
--- a/plugins/modules/gcp_compute_image.py
+++ b/plugins/modules/gcp_compute_image.py
@@ -545,13 +545,13 @@ def main():
             disk_size_gb=dict(type='int'),
             family=dict(type='str'),
             guest_os_features=dict(type='list', elements='dict', options=dict(type=dict(required=True, type='str'))),
-            image_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str'))),
+            image_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str', no_log=True))),
             labels=dict(type='dict'),
             licenses=dict(type='list', elements='str'),
             name=dict(required=True, type='str'),
             raw_disk=dict(type='dict', options=dict(container_type=dict(type='str'), sha1_checksum=dict(type='str'), source=dict(required=True, type='str'))),
             source_disk=dict(type='dict'),
-            source_disk_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str'))),
+            source_disk_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str', no_log=True))),
             source_disk_id=dict(type='str'),
             source_image=dict(type='dict'),
             source_snapshot=dict(type='dict'),
diff --git a/plugins/modules/gcp_compute_image_info.py b/plugins/modules/gcp_compute_image_info.py
index 2f1acd1..dff5da9 100644
--- a/plugins/modules/gcp_compute_image_info.py
+++ b/plugins/modules/gcp_compute_image_info.py
@@ -351,7 +351,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_instance.py b/plugins/modules/gcp_compute_instance.py
index 1d7f56e..3c30338 100644
--- a/plugins/modules/gcp_compute_instance.py
+++ b/plugins/modules/gcp_compute_instance.py
@@ -1119,7 +1119,9 @@ def main():
                     auto_delete=dict(type='bool'),
                     boot=dict(type='bool'),
                     device_name=dict(type='str'),
-                    disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), rsa_encrypted_key=dict(type='str'))),
+                    disk_encryption_key=dict(type='dict',
+                                             no_log=True,
+                                             options=dict(raw_key=dict(type='str', no_log=True), rsa_encrypted_key=dict(type='str', no_log=True))),
                     index=dict(type='int'),
                     initialize_params=dict(
                         type='dict',
@@ -1128,7 +1130,7 @@ def main():
                             disk_size_gb=dict(type='int'),
                             disk_type=dict(type='str'),
                             source_image=dict(type='str', aliases=['image', 'image_family']),
-                            source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'))),
+                            source_image_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str', no_log=True))),
                         ),
                     ),
                     interface=dict(type='str'),
diff --git a/plugins/modules/gcp_compute_instance_group_info.py b/plugins/modules/gcp_compute_instance_group_info.py
index a8d3045..da030c5 100644
--- a/plugins/modules/gcp_compute_instance_group_info.py
+++ b/plugins/modules/gcp_compute_instance_group_info.py
@@ -213,7 +213,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_instance_group_manager_info.py b/plugins/modules/gcp_compute_instance_group_manager_info.py
index 16a6e57..5caf7c2 100644
--- a/plugins/modules/gcp_compute_instance_group_manager_info.py
+++ b/plugins/modules/gcp_compute_instance_group_manager_info.py
@@ -288,7 +288,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_instance_info.py b/plugins/modules/gcp_compute_instance_info.py
index e12b957..22d87e9 100644
--- a/plugins/modules/gcp_compute_instance_info.py
+++ b/plugins/modules/gcp_compute_instance_info.py
@@ -621,7 +621,8 @@ def main():
         argument_spec=dict(
             filters=dict(type="list", elements="str"),
             zone=dict(required=True, type="str"),
-        )
+        ),
+        supports_check_mode=True
     )
 
     if not module.params["scopes"]:
diff --git a/plugins/modules/gcp_compute_instance_template.py b/plugins/modules/gcp_compute_instance_template.py
index ce4a8eb..4eb1a7c 100644
--- a/plugins/modules/gcp_compute_instance_template.py
+++ b/plugins/modules/gcp_compute_instance_template.py
@@ -1019,7 +1019,9 @@ def main():
                             auto_delete=dict(type='bool'),
                             boot=dict(type='bool'),
                             device_name=dict(type='str'),
-                            disk_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str'), rsa_encrypted_key=dict(type='str'))),
+                            disk_encryption_key=dict(type='dict',
+                                                     no_log=True,
+                                                     options=dict(raw_key=dict(type='str', no_log=True), rsa_encrypted_key=dict(type='str', no_log=True))),
                             index=dict(type='int'),
                             initialize_params=dict(
                                 type='dict',
@@ -1028,7 +1030,7 @@ def main():
                                     disk_size_gb=dict(type='int'),
                                     disk_type=dict(type='str'),
                                     source_image=dict(type='str'),
-                                    source_image_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str'))),
+                                    source_image_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str', no_log=True))),
                                 ),
                             ),
                             interface=dict(type='str'),
diff --git a/plugins/modules/gcp_compute_instance_template_info.py b/plugins/modules/gcp_compute_instance_template_info.py
index 2d337cf..943cf02 100644
--- a/plugins/modules/gcp_compute_instance_template_info.py
+++ b/plugins/modules/gcp_compute_instance_template_info.py
@@ -560,7 +560,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_interconnect_attachment_info.py b/plugins/modules/gcp_compute_interconnect_attachment_info.py
index 20b90be..0d30dba 100644
--- a/plugins/modules/gcp_compute_interconnect_attachment_info.py
+++ b/plugins/modules/gcp_compute_interconnect_attachment_info.py
@@ -320,7 +320,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_network_endpoint_group_info.py b/plugins/modules/gcp_compute_network_endpoint_group_info.py
index b36afb0..e34941a 100644
--- a/plugins/modules/gcp_compute_network_endpoint_group_info.py
+++ b/plugins/modules/gcp_compute_network_endpoint_group_info.py
@@ -192,7 +192,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_network_info.py b/plugins/modules/gcp_compute_network_info.py
index 7896fac..854687e 100644
--- a/plugins/modules/gcp_compute_network_info.py
+++ b/plugins/modules/gcp_compute_network_info.py
@@ -202,7 +202,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_node_group_info.py b/plugins/modules/gcp_compute_node_group_info.py
index 6864c28..a09934e 100644
--- a/plugins/modules/gcp_compute_node_group_info.py
+++ b/plugins/modules/gcp_compute_node_group_info.py
@@ -219,7 +219,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_node_template_info.py b/plugins/modules/gcp_compute_node_template_info.py
index 5219bc6..0a5a53e 100644
--- a/plugins/modules/gcp_compute_node_template_info.py
+++ b/plugins/modules/gcp_compute_node_template_info.py
@@ -220,7 +220,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_autoscaler_info.py b/plugins/modules/gcp_compute_region_autoscaler_info.py
index 64114af..6775944 100644
--- a/plugins/modules/gcp_compute_region_autoscaler_info.py
+++ b/plugins/modules/gcp_compute_region_autoscaler_info.py
@@ -320,7 +320,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_backend_service.py b/plugins/modules/gcp_compute_region_backend_service.py
index 557e92d..b01a4f5 100644
--- a/plugins/modules/gcp_compute_region_backend_service.py
+++ b/plugins/modules/gcp_compute_region_backend_service.py
@@ -1507,6 +1507,7 @@ def main():
                 options=dict(
                     cache_key_policy=dict(
                         type='dict',
+                        no_log=False,
                         options=dict(
                             include_host=dict(type='bool'),
                             include_protocol=dict(type='bool'),
diff --git a/plugins/modules/gcp_compute_region_backend_service_info.py b/plugins/modules/gcp_compute_region_backend_service_info.py
index 685f48f..4f5ba3b 100644
--- a/plugins/modules/gcp_compute_region_backend_service_info.py
+++ b/plugins/modules/gcp_compute_region_backend_service_info.py
@@ -787,7 +787,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_disk.py b/plugins/modules/gcp_compute_region_disk.py
index 673d925..705f7aa 100644
--- a/plugins/modules/gcp_compute_region_disk.py
+++ b/plugins/modules/gcp_compute_region_disk.py
@@ -430,9 +430,9 @@ def main():
             replica_zones=dict(required=True, type='list', elements='str'),
             type=dict(type='str'),
             region=dict(required=True, type='str'),
-            disk_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str'))),
+            disk_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str', no_log=True))),
             source_snapshot=dict(type='dict'),
-            source_snapshot_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str'))),
+            source_snapshot_encryption_key=dict(type='dict', no_log=True, options=dict(raw_key=dict(type='str', no_log=True))),
         )
     )
 
diff --git a/plugins/modules/gcp_compute_region_disk_info.py b/plugins/modules/gcp_compute_region_disk_info.py
index 6e70b4d..76d4a70 100644
--- a/plugins/modules/gcp_compute_region_disk_info.py
+++ b/plugins/modules/gcp_compute_region_disk_info.py
@@ -293,7 +293,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_health_check_info.py b/plugins/modules/gcp_compute_region_health_check_info.py
index 38b4a7c..8367f32 100644
--- a/plugins/modules/gcp_compute_region_health_check_info.py
+++ b/plugins/modules/gcp_compute_region_health_check_info.py
@@ -538,7 +538,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_instance_group_manager_info.py b/plugins/modules/gcp_compute_region_instance_group_manager_info.py
index 43816fd..fa5be22 100644
--- a/plugins/modules/gcp_compute_region_instance_group_manager_info.py
+++ b/plugins/modules/gcp_compute_region_instance_group_manager_info.py
@@ -301,7 +301,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_target_http_proxy_info.py b/plugins/modules/gcp_compute_region_target_http_proxy_info.py
index f53beca..6537b31 100644
--- a/plugins/modules/gcp_compute_region_target_http_proxy_info.py
+++ b/plugins/modules/gcp_compute_region_target_http_proxy_info.py
@@ -176,7 +176,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_target_https_proxy_info.py b/plugins/modules/gcp_compute_region_target_https_proxy_info.py
index fdb9f99..f28c382 100644
--- a/plugins/modules/gcp_compute_region_target_https_proxy_info.py
+++ b/plugins/modules/gcp_compute_region_target_https_proxy_info.py
@@ -183,7 +183,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_region_url_map_info.py b/plugins/modules/gcp_compute_region_url_map_info.py
index 3b5cdb7..8bcb520 100644
--- a/plugins/modules/gcp_compute_region_url_map_info.py
+++ b/plugins/modules/gcp_compute_region_url_map_info.py
@@ -1604,7 +1604,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_reservation_info.py b/plugins/modules/gcp_compute_reservation_info.py
index ba42f85..e6c2197 100644
--- a/plugins/modules/gcp_compute_reservation_info.py
+++ b/plugins/modules/gcp_compute_reservation_info.py
@@ -258,7 +258,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_resource_policy_info.py b/plugins/modules/gcp_compute_resource_policy_info.py
index 545a3bf..2cec554 100644
--- a/plugins/modules/gcp_compute_resource_policy_info.py
+++ b/plugins/modules/gcp_compute_resource_policy_info.py
@@ -346,7 +346,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_route_info.py b/plugins/modules/gcp_compute_route_info.py
index 86e9ab4..e0a5c4d 100644
--- a/plugins/modules/gcp_compute_route_info.py
+++ b/plugins/modules/gcp_compute_route_info.py
@@ -217,7 +217,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_router_info.py b/plugins/modules/gcp_compute_router_info.py
index d595d19..057a0b6 100644
--- a/plugins/modules/gcp_compute_router_info.py
+++ b/plugins/modules/gcp_compute_router_info.py
@@ -222,7 +222,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_snapshot.py b/plugins/modules/gcp_compute_snapshot.py
index 5759fbf..494b2ac 100644
--- a/plugins/modules/gcp_compute_snapshot.py
+++ b/plugins/modules/gcp_compute_snapshot.py
@@ -388,10 +388,14 @@ def main():
             source_disk=dict(required=True, type='dict'),
             zone=dict(type='str'),
             snapshot_encryption_key=dict(
-                type='dict', no_log=True, options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
+                type='dict',
+                no_log=True,
+                options=dict(raw_key=dict(type='str', no_log=True), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
             ),
             source_disk_encryption_key=dict(
-                type='dict', no_log=True, options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
+                type='dict',
+                no_log=True,
+                options=dict(raw_key=dict(type='str', no_log=True), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str'))
             ),
         )
     )
diff --git a/plugins/modules/gcp_compute_snapshot_info.py b/plugins/modules/gcp_compute_snapshot_info.py
index 26963f3..d885e89 100644
--- a/plugins/modules/gcp_compute_snapshot_info.py
+++ b/plugins/modules/gcp_compute_snapshot_info.py
@@ -260,7 +260,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_ssl_certificate_info.py b/plugins/modules/gcp_compute_ssl_certificate_info.py
index 27b4ce2..87b80fa 100644
--- a/plugins/modules/gcp_compute_ssl_certificate_info.py
+++ b/plugins/modules/gcp_compute_ssl_certificate_info.py
@@ -171,7 +171,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_ssl_policy_info.py b/plugins/modules/gcp_compute_ssl_policy_info.py
index 04219c8..0fd69eb 100644
--- a/plugins/modules/gcp_compute_ssl_policy_info.py
+++ b/plugins/modules/gcp_compute_ssl_policy_info.py
@@ -207,7 +207,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_subnetwork_info.py b/plugins/modules/gcp_compute_subnetwork_info.py
index 5b126f2..d8ae2c2 100644
--- a/plugins/modules/gcp_compute_subnetwork_info.py
+++ b/plugins/modules/gcp_compute_subnetwork_info.py
@@ -226,7 +226,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_target_http_proxy_info.py b/plugins/modules/gcp_compute_target_http_proxy_info.py
index 6a78af4..21f3090 100644
--- a/plugins/modules/gcp_compute_target_http_proxy_info.py
+++ b/plugins/modules/gcp_compute_target_http_proxy_info.py
@@ -171,7 +171,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_target_https_proxy_info.py b/plugins/modules/gcp_compute_target_https_proxy_info.py
index b4186a9..36fab9e 100644
--- a/plugins/modules/gcp_compute_target_https_proxy_info.py
+++ b/plugins/modules/gcp_compute_target_https_proxy_info.py
@@ -193,7 +193,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_target_instance_info.py b/plugins/modules/gcp_compute_target_instance_info.py
index 791fb0a..5fe4415 100644
--- a/plugins/modules/gcp_compute_target_instance_info.py
+++ b/plugins/modules/gcp_compute_target_instance_info.py
@@ -178,7 +178,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_target_pool_info.py b/plugins/modules/gcp_compute_target_pool_info.py
index 54345a1..58c2db5 100644
--- a/plugins/modules/gcp_compute_target_pool_info.py
+++ b/plugins/modules/gcp_compute_target_pool_info.py
@@ -224,7 +224,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_target_ssl_proxy_info.py b/plugins/modules/gcp_compute_target_ssl_proxy_info.py
index e23e841..ff6b11d 100644
--- a/plugins/modules/gcp_compute_target_ssl_proxy_info.py
+++ b/plugins/modules/gcp_compute_target_ssl_proxy_info.py
@@ -183,7 +183,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_target_tcp_proxy_info.py b/plugins/modules/gcp_compute_target_tcp_proxy_info.py
index 65cc775..c4e0619 100644
--- a/plugins/modules/gcp_compute_target_tcp_proxy_info.py
+++ b/plugins/modules/gcp_compute_target_tcp_proxy_info.py
@@ -175,7 +175,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_target_vpn_gateway_info.py b/plugins/modules/gcp_compute_target_vpn_gateway_info.py
index 8d9763b..67f71be 100644
--- a/plugins/modules/gcp_compute_target_vpn_gateway_info.py
+++ b/plugins/modules/gcp_compute_target_vpn_gateway_info.py
@@ -186,7 +186,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_url_map_info.py b/plugins/modules/gcp_compute_url_map_info.py
index fa5431a..8ee58d7 100644
--- a/plugins/modules/gcp_compute_url_map_info.py
+++ b/plugins/modules/gcp_compute_url_map_info.py
@@ -2487,7 +2487,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_compute_vpn_tunnel_info.py b/plugins/modules/gcp_compute_vpn_tunnel_info.py
index 7b3430a..9cf5e16 100644
--- a/plugins/modules/gcp_compute_vpn_tunnel_info.py
+++ b/plugins/modules/gcp_compute_vpn_tunnel_info.py
@@ -247,7 +247,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
diff --git a/plugins/modules/gcp_container_cluster.py b/plugins/modules/gcp_container_cluster.py
index 0a5d949..34596a5 100644
--- a/plugins/modules/gcp_container_cluster.py
+++ b/plugins/modules/gcp_container_cluster.py
@@ -1528,7 +1528,9 @@ def main():
                     accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='str'), accelerator_type=dict(type='str'))),
                     disk_type=dict(type='str'),
                     min_cpu_platform=dict(type='str'),
-                    taints=dict(type='list', elements='dict', options=dict(key=dict(type='str'), value=dict(type='str'), effect=dict(type='str'))),
+                    taints=dict(type='list',
+                                elements='dict',
+                                options=dict(key=dict(type='str', no_log=False), value=dict(type='str'), effect=dict(type='str'))),
                     shielded_instance_config=dict(
                         type='dict', options=dict(enable_secure_boot=dict(type='bool'), enable_integrity_monitoring=dict(type='bool'))
                     ),
@@ -1538,7 +1540,7 @@ def main():
                 type='dict',
                 options=dict(
                     username=dict(type='str'),
-                    password=dict(type='str'),
+                    password=dict(type='str', no_log=True),
                     client_certificate_config=dict(type='dict', options=dict(issue_client_certificate=dict(type='bool'))),
                 ),
             ),
diff --git a/plugins/modules/gcp_container_cluster_info.py b/plugins/modules/gcp_container_cluster_info.py
index 0b90433..d94e564 100644
--- a/plugins/modules/gcp_container_cluster_info.py
+++ b/plugins/modules/gcp_container_cluster_info.py
@@ -859,7 +859,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str', aliases=['region', 'zone'])))
+    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str', aliases=['region', 'zone'])), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_container_node_pool.py b/plugins/modules/gcp_container_node_pool.py
index 1740837..a0b9c71 100644
--- a/plugins/modules/gcp_container_node_pool.py
+++ b/plugins/modules/gcp_container_node_pool.py
@@ -764,7 +764,9 @@ def main():
                     accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))),
                     disk_type=dict(type='str'),
                     min_cpu_platform=dict(type='str'),
-                    taints=dict(type='list', elements='dict', options=dict(key=dict(type='str'), value=dict(type='str'), effect=dict(type='str'))),
+                    taints=dict(type='list',
+                                elements='dict',
+                                options=dict(key=dict(type='str', no_log=False), value=dict(type='str'), effect=dict(type='str'))),
                     shielded_instance_config=dict(
                         type='dict', options=dict(enable_secure_boot=dict(type='bool'), enable_integrity_monitoring=dict(type='bool'))
                     ),
diff --git a/plugins/modules/gcp_container_node_pool_info.py b/plugins/modules/gcp_container_node_pool_info.py
index e27412a..a3de8ac 100644
--- a/plugins/modules/gcp_container_node_pool_info.py
+++ b/plugins/modules/gcp_container_node_pool_info.py
@@ -450,7 +450,8 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str', aliases=['region', 'zone']), cluster=dict(required=True, type='dict')))
+    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str', aliases=['region', 'zone']), cluster=dict(required=True, type='dict')),
+                       supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_dns_managed_zone.py b/plugins/modules/gcp_dns_managed_zone.py
index 83c327a..8aec272 100644
--- a/plugins/modules/gcp_dns_managed_zone.py
+++ b/plugins/modules/gcp_dns_managed_zone.py
@@ -508,8 +508,12 @@ def main():
                     default_key_specs=dict(
                         type='list',
                         elements='dict',
+                        no_log=False,
                         options=dict(
-                            algorithm=dict(type='str'), key_length=dict(type='int'), key_type=dict(type='str'), kind=dict(default='dns#dnsKeySpec', type='str')
+                            algorithm=dict(type='str'),
+                            key_length=dict(type='int', no_log=False),
+                            key_type=dict(type='str'),
+                            kind=dict(default='dns#dnsKeySpec', type='str')
                         ),
                     ),
                 ),
diff --git a/plugins/modules/gcp_dns_managed_zone_info.py b/plugins/modules/gcp_dns_managed_zone_info.py
index 333bfce..d39aef2 100644
--- a/plugins/modules/gcp_dns_managed_zone_info.py
+++ b/plugins/modules/gcp_dns_managed_zone_info.py
@@ -308,7 +308,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(dns_name=dict(type='list', elements='str')))
+    module = GcpModule(argument_spec=dict(dns_name=dict(type='list', elements='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite']
diff --git a/plugins/modules/gcp_dns_resource_record_set_info.py b/plugins/modules/gcp_dns_resource_record_set_info.py
index 622c310..1dba0a7 100644
--- a/plugins/modules/gcp_dns_resource_record_set_info.py
+++ b/plugins/modules/gcp_dns_resource_record_set_info.py
@@ -160,7 +160,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(managed_zone=dict(required=True, type='dict')))
+    module = GcpModule(argument_spec=dict(managed_zone=dict(required=True, type='dict')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite']
diff --git a/plugins/modules/gcp_filestore_instance_info.py b/plugins/modules/gcp_filestore_instance_info.py
index 55ab27c..af81ccd 100644
--- a/plugins/modules/gcp_filestore_instance_info.py
+++ b/plugins/modules/gcp_filestore_instance_info.py
@@ -213,7 +213,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(zone=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(zone=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_iam_role_info.py b/plugins/modules/gcp_iam_role_info.py
index 35874cc..879bd08 100644
--- a/plugins/modules/gcp_iam_role_info.py
+++ b/plugins/modules/gcp_iam_role_info.py
@@ -156,7 +156,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/iam']
diff --git a/plugins/modules/gcp_iam_service_account_info.py b/plugins/modules/gcp_iam_service_account_info.py
index b201718..6e33023 100644
--- a/plugins/modules/gcp_iam_service_account_info.py
+++ b/plugins/modules/gcp_iam_service_account_info.py
@@ -155,7 +155,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/iam']
diff --git a/plugins/modules/gcp_kms_crypto_key.py b/plugins/modules/gcp_kms_crypto_key.py
index 40bfae9..f10d7ba 100644
--- a/plugins/modules/gcp_kms_crypto_key.py
+++ b/plugins/modules/gcp_kms_crypto_key.py
@@ -284,7 +284,7 @@ def main():
             purpose=dict(default='ENCRYPT_DECRYPT', type='str'),
             rotation_period=dict(type='str'),
             version_template=dict(type='dict', options=dict(algorithm=dict(required=True, type='str'), protection_level=dict(type='str'))),
-            key_ring=dict(required=True, type='str'),
+            key_ring=dict(required=True, type='str', no_log=False),
             skip_initial_version_creation=dict(type='bool', default=False),
         )
     )
diff --git a/plugins/modules/gcp_kms_crypto_key_info.py b/plugins/modules/gcp_kms_crypto_key_info.py
index bc40b48..621b84a 100644
--- a/plugins/modules/gcp_kms_crypto_key_info.py
+++ b/plugins/modules/gcp_kms_crypto_key_info.py
@@ -198,7 +198,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(key_ring=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(key_ring=dict(required=True, type='str', no_log=False)), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloudkms']
diff --git a/plugins/modules/gcp_kms_key_ring_info.py b/plugins/modules/gcp_kms_key_ring_info.py
index 39d3de9..d0b1fc7 100644
--- a/plugins/modules/gcp_kms_key_ring_info.py
+++ b/plugins/modules/gcp_kms_key_ring_info.py
@@ -151,7 +151,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(location=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloudkms']
diff --git a/plugins/modules/gcp_logging_metric.py b/plugins/modules/gcp_logging_metric.py
index f897324..262895d 100644
--- a/plugins/modules/gcp_logging_metric.py
+++ b/plugins/modules/gcp_logging_metric.py
@@ -528,7 +528,8 @@ def main():
                     labels=dict(
                         type='list',
                         elements='dict',
-                        options=dict(key=dict(required=True, type='str'), description=dict(type='str'), value_type=dict(default='STRING', type='str')),
+                        options=dict(key=dict(required=True, type='str', no_log=False),
+                                     description=dict(type='str'), value_type=dict(default='STRING', type='str')),
                     ),
                     display_name=dict(type='str'),
                 ),
diff --git a/plugins/modules/gcp_logging_metric_info.py b/plugins/modules/gcp_logging_metric_info.py
index 76c323c..c1a3cde 100644
--- a/plugins/modules/gcp_logging_metric_info.py
+++ b/plugins/modules/gcp_logging_metric_info.py
@@ -302,7 +302,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_mlengine_model_info.py b/plugins/modules/gcp_mlengine_model_info.py
index 11f28ae..3328927 100644
--- a/plugins/modules/gcp_mlengine_model_info.py
+++ b/plugins/modules/gcp_mlengine_model_info.py
@@ -169,7 +169,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_mlengine_version_info.py b/plugins/modules/gcp_mlengine_version_info.py
index ecf9281..04523a7 100644
--- a/plugins/modules/gcp_mlengine_version_info.py
+++ b/plugins/modules/gcp_mlengine_version_info.py
@@ -260,7 +260,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(model=dict(required=True, type='dict')))
+    module = GcpModule(argument_spec=dict(model=dict(required=True, type='dict')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_pubsub_subscription.py b/plugins/modules/gcp_pubsub_subscription.py
index f39583b..1b1e4fa 100644
--- a/plugins/modules/gcp_pubsub_subscription.py
+++ b/plugins/modules/gcp_pubsub_subscription.py
@@ -580,7 +580,9 @@ def main():
             push_config=dict(
                 type='dict',
                 options=dict(
-                    oidc_token=dict(type='dict', options=dict(service_account_email=dict(required=True, type='str'), audience=dict(type='str'))),
+                    oidc_token=dict(type='dict',
+                                    no_log=False,
+                                    options=dict(service_account_email=dict(required=True, type='str'), audience=dict(type='str'))),
                     push_endpoint=dict(required=True, type='str'),
                     attributes=dict(type='dict'),
                 ),
diff --git a/plugins/modules/gcp_pubsub_subscription_info.py b/plugins/modules/gcp_pubsub_subscription_info.py
index b911131..dd20c93 100644
--- a/plugins/modules/gcp_pubsub_subscription_info.py
+++ b/plugins/modules/gcp_pubsub_subscription_info.py
@@ -333,7 +333,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
diff --git a/plugins/modules/gcp_pubsub_topic_info.py b/plugins/modules/gcp_pubsub_topic_info.py
index 0dc6f4e..7b8627d 100644
--- a/plugins/modules/gcp_pubsub_topic_info.py
+++ b/plugins/modules/gcp_pubsub_topic_info.py
@@ -180,7 +180,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
diff --git a/plugins/modules/gcp_redis_instance_info.py b/plugins/modules/gcp_redis_instance_info.py
index 33a9241..593b063 100644
--- a/plugins/modules/gcp_redis_instance_info.py
+++ b/plugins/modules/gcp_redis_instance_info.py
@@ -291,7 +291,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(region=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(region=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_resourcemanager_project_info.py b/plugins/modules/gcp_resourcemanager_project_info.py
index 7d97829..de30d65 100644
--- a/plugins/modules/gcp_resourcemanager_project_info.py
+++ b/plugins/modules/gcp_resourcemanager_project_info.py
@@ -190,7 +190,7 @@ import json
 def main():
     module = GcpModule(argument_spec=dict(
         page_size=dict(type='int')
-    ))
+    ), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_runtimeconfig_config_info.py b/plugins/modules/gcp_runtimeconfig_config_info.py
index 063c1ce..c082140 100644
--- a/plugins/modules/gcp_runtimeconfig_config_info.py
+++ b/plugins/modules/gcp_runtimeconfig_config_info.py
@@ -135,7 +135,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloudruntimeconfig']
diff --git a/plugins/modules/gcp_runtimeconfig_variable_info.py b/plugins/modules/gcp_runtimeconfig_variable_info.py
index ec1adb9..0e619dc 100644
--- a/plugins/modules/gcp_runtimeconfig_variable_info.py
+++ b/plugins/modules/gcp_runtimeconfig_variable_info.py
@@ -151,7 +151,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(config=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(config=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloudruntimeconfig']
diff --git a/plugins/modules/gcp_serviceusage_service_info.py b/plugins/modules/gcp_serviceusage_service_info.py
index 1c49512..b5c88d3 100644
--- a/plugins/modules/gcp_serviceusage_service_info.py
+++ b/plugins/modules/gcp_serviceusage_service_info.py
@@ -178,7 +178,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_sourcerepo_repository_info.py b/plugins/modules/gcp_sourcerepo_repository_info.py
index 4a0d809..607e624 100644
--- a/plugins/modules/gcp_sourcerepo_repository_info.py
+++ b/plugins/modules/gcp_sourcerepo_repository_info.py
@@ -142,7 +142,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
diff --git a/plugins/modules/gcp_spanner_database_info.py b/plugins/modules/gcp_spanner_database_info.py
index 2f45553..84a7b47 100644
--- a/plugins/modules/gcp_spanner_database_info.py
+++ b/plugins/modules/gcp_spanner_database_info.py
@@ -167,7 +167,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(instance=dict(required=True, type='dict')))
+    module = GcpModule(argument_spec=dict(instance=dict(required=True, type='dict')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin']
diff --git a/plugins/modules/gcp_spanner_instance_info.py b/plugins/modules/gcp_spanner_instance_info.py
index 90e25dd..64bc7a0 100644
--- a/plugins/modules/gcp_spanner_instance_info.py
+++ b/plugins/modules/gcp_spanner_instance_info.py
@@ -165,7 +165,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin']
diff --git a/plugins/modules/gcp_sql_database_info.py b/plugins/modules/gcp_sql_database_info.py
index dfc9bc9..adb9046 100644
--- a/plugins/modules/gcp_sql_database_info.py
+++ b/plugins/modules/gcp_sql_database_info.py
@@ -158,7 +158,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(instance=dict(required=True, type='str')))
+    module = GcpModule(argument_spec=dict(instance=dict(required=True, type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
diff --git a/plugins/modules/gcp_sql_instance.py b/plugins/modules/gcp_sql_instance.py
index 9f18a2f..9999dd1 100644
--- a/plugins/modules/gcp_sql_instance.py
+++ b/plugins/modules/gcp_sql_instance.py
@@ -848,11 +848,11 @@ def main():
                         options=dict(
                             ca_certificate=dict(type='str'),
                             client_certificate=dict(type='str'),
-                            client_key=dict(type='str'),
+                            client_key=dict(type='str', no_log=True),
                             connect_retry_interval=dict(type='int'),
                             dump_file_path=dict(type='str'),
                             master_heartbeat_period=dict(type='int'),
-                            password=dict(type='str'),
+                            password=dict(type='str', no_log=True),
                             ssl_cipher=dict(type='str'),
                             username=dict(type='str'),
                             verify_server_certificate=dict(type='bool'),
diff --git a/plugins/modules/gcp_sql_instance_info.py b/plugins/modules/gcp_sql_instance_info.py
index afbc7c3..8f734c3 100644
--- a/plugins/modules/gcp_sql_instance_info.py
+++ b/plugins/modules/gcp_sql_instance_info.py
@@ -519,7 +519,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict())
+    module = GcpModule(argument_spec=dict(), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
diff --git a/plugins/modules/gcp_sql_ssl_cert.py b/plugins/modules/gcp_sql_ssl_cert.py
index 02519b3..4d06ce2 100644
--- a/plugins/modules/gcp_sql_ssl_cert.py
+++ b/plugins/modules/gcp_sql_ssl_cert.py
@@ -234,7 +234,7 @@ def main():
             expiration_time=dict(type='str'),
             instance=dict(required=True, type='dict'),
             sha1_fingerprint=dict(type='str'),
-            private_key=dict(type='str'),
+            private_key=dict(type='str', no_log=False),
         )
     )
 
diff --git a/plugins/modules/gcp_sql_user.py b/plugins/modules/gcp_sql_user.py
index ca2cbf4..b049410 100644
--- a/plugins/modules/gcp_sql_user.py
+++ b/plugins/modules/gcp_sql_user.py
@@ -195,7 +195,7 @@ def main():
             host=dict(required=True, type='str'),
             name=dict(required=True, type='str'),
             instance=dict(required=True, type='dict'),
-            password=dict(type='str'),
+            password=dict(type='str', no_log=True),
         )
     )
 
diff --git a/plugins/modules/gcp_tpu_node_info.py b/plugins/modules/gcp_tpu_node_info.py
index a01d08a..5c8007e 100644
--- a/plugins/modules/gcp_tpu_node_info.py
+++ b/plugins/modules/gcp_tpu_node_info.py
@@ -227,7 +227,7 @@ import json
 
 
 def main():
-    module = GcpModule(argument_spec=dict(zone=dict(type='str')))
+    module = GcpModule(argument_spec=dict(zone=dict(type='str')), supports_check_mode=True)
 
     if not module.params['scopes']:
         module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']