pulumi-gcp 7.25.0a1717135845__py3-none-any.whl → 7.26.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. pulumi_gcp/__init__.py +144 -0
  2. pulumi_gcp/alloydb/_inputs.py +92 -0
  3. pulumi_gcp/alloydb/backup.py +12 -4
  4. pulumi_gcp/alloydb/cluster.py +72 -6
  5. pulumi_gcp/alloydb/instance.py +60 -2
  6. pulumi_gcp/alloydb/outputs.py +114 -0
  7. pulumi_gcp/appengine/_inputs.py +18 -0
  8. pulumi_gcp/appengine/domain_mapping.py +1 -1
  9. pulumi_gcp/appengine/outputs.py +16 -0
  10. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +6 -2
  11. pulumi_gcp/artifactregistry/repository_iam_binding.py +21 -7
  12. pulumi_gcp/artifactregistry/repository_iam_member.py +21 -7
  13. pulumi_gcp/artifactregistry/repository_iam_policy.py +21 -7
  14. pulumi_gcp/bigquery/_inputs.py +286 -2
  15. pulumi_gcp/bigquery/connection_iam_binding.py +21 -7
  16. pulumi_gcp/bigquery/connection_iam_member.py +21 -7
  17. pulumi_gcp/bigquery/connection_iam_policy.py +21 -7
  18. pulumi_gcp/bigquery/data_transfer_config.py +14 -7
  19. pulumi_gcp/bigquery/get_connection_iam_policy.py +6 -2
  20. pulumi_gcp/bigquery/outputs.py +289 -2
  21. pulumi_gcp/bigquery/table.py +77 -35
  22. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +21 -7
  23. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +21 -7
  24. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +21 -7
  25. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +6 -2
  26. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +6 -2
  27. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +21 -7
  28. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +21 -7
  29. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +21 -7
  30. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +21 -7
  31. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +21 -7
  32. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +21 -7
  33. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +6 -2
  34. pulumi_gcp/certificateauthority/_inputs.py +20 -4
  35. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +21 -7
  36. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +21 -7
  37. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +21 -7
  38. pulumi_gcp/certificateauthority/certificate_template.py +157 -173
  39. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +27 -0
  40. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +27 -0
  41. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +27 -0
  42. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +6 -2
  43. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +6 -0
  44. pulumi_gcp/certificateauthority/outputs.py +20 -4
  45. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +21 -7
  46. pulumi_gcp/cloudbuildv2/connection_iam_member.py +21 -7
  47. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +21 -7
  48. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +6 -2
  49. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +6 -2
  50. pulumi_gcp/cloudfunctionsv2/function.py +0 -4
  51. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +21 -7
  52. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +21 -7
  53. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +21 -7
  54. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +6 -2
  55. pulumi_gcp/cloudrun/_inputs.py +80 -4
  56. pulumi_gcp/cloudrun/get_service_iam_policy.py +6 -2
  57. pulumi_gcp/cloudrun/iam_binding.py +21 -7
  58. pulumi_gcp/cloudrun/iam_member.py +21 -7
  59. pulumi_gcp/cloudrun/iam_policy.py +21 -7
  60. pulumi_gcp/cloudrun/outputs.py +137 -4
  61. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +6 -2
  62. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  63. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +6 -2
  64. pulumi_gcp/cloudrunv2/job_iam_binding.py +21 -7
  65. pulumi_gcp/cloudrunv2/job_iam_member.py +21 -7
  66. pulumi_gcp/cloudrunv2/job_iam_policy.py +21 -7
  67. pulumi_gcp/cloudrunv2/service.py +47 -0
  68. pulumi_gcp/cloudrunv2/service_iam_binding.py +21 -7
  69. pulumi_gcp/cloudrunv2/service_iam_member.py +21 -7
  70. pulumi_gcp/cloudrunv2/service_iam_policy.py +21 -7
  71. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +6 -2
  72. pulumi_gcp/cloudtasks/queue_iam_binding.py +21 -7
  73. pulumi_gcp/cloudtasks/queue_iam_member.py +21 -7
  74. pulumi_gcp/cloudtasks/queue_iam_policy.py +21 -7
  75. pulumi_gcp/composer/user_workloads_secret.py +4 -4
  76. pulumi_gcp/compute/__init__.py +1 -0
  77. pulumi_gcp/compute/_inputs.py +416 -194
  78. pulumi_gcp/compute/get_subnetworks.py +157 -0
  79. pulumi_gcp/compute/instance_group_membership.py +2 -2
  80. pulumi_gcp/compute/interconnect_attachment.py +82 -0
  81. pulumi_gcp/compute/network_endpoint.py +2 -2
  82. pulumi_gcp/compute/network_endpoint_list.py +2 -2
  83. pulumi_gcp/compute/outputs.py +629 -181
  84. pulumi_gcp/compute/region_ssl_policy.py +39 -40
  85. pulumi_gcp/compute/security_policy_rule.py +55 -1
  86. pulumi_gcp/container/_inputs.py +560 -0
  87. pulumi_gcp/container/outputs.py +1106 -51
  88. pulumi_gcp/dataplex/__init__.py +15 -0
  89. pulumi_gcp/dataplex/_inputs.py +264 -0
  90. pulumi_gcp/dataplex/aspect_type.py +1077 -0
  91. pulumi_gcp/dataplex/aspect_type_iam_binding.py +779 -0
  92. pulumi_gcp/dataplex/aspect_type_iam_member.py +779 -0
  93. pulumi_gcp/dataplex/aspect_type_iam_policy.py +618 -0
  94. pulumi_gcp/dataplex/datascan_iam_binding.py +21 -7
  95. pulumi_gcp/dataplex/datascan_iam_member.py +21 -7
  96. pulumi_gcp/dataplex/datascan_iam_policy.py +21 -7
  97. pulumi_gcp/dataplex/entry_group.py +722 -0
  98. pulumi_gcp/dataplex/entry_group_iam_binding.py +779 -0
  99. pulumi_gcp/dataplex/entry_group_iam_member.py +779 -0
  100. pulumi_gcp/dataplex/entry_group_iam_policy.py +618 -0
  101. pulumi_gcp/dataplex/entry_type.py +963 -0
  102. pulumi_gcp/dataplex/entry_type_iam_binding.py +779 -0
  103. pulumi_gcp/dataplex/entry_type_iam_member.py +779 -0
  104. pulumi_gcp/dataplex/entry_type_iam_policy.py +618 -0
  105. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +168 -0
  106. pulumi_gcp/dataplex/get_datascan_iam_policy.py +6 -2
  107. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +168 -0
  108. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +168 -0
  109. pulumi_gcp/dataplex/get_task_iam_policy.py +6 -2
  110. pulumi_gcp/dataplex/outputs.py +188 -0
  111. pulumi_gcp/dataplex/task.py +16 -16
  112. pulumi_gcp/dataplex/task_iam_binding.py +21 -7
  113. pulumi_gcp/dataplex/task_iam_member.py +21 -7
  114. pulumi_gcp/dataplex/task_iam_policy.py +21 -7
  115. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +21 -7
  116. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +21 -7
  117. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +21 -7
  118. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +6 -2
  119. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +6 -2
  120. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +6 -2
  121. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +21 -7
  122. pulumi_gcp/dataproc/metastore_federation_iam_member.py +21 -7
  123. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +21 -7
  124. pulumi_gcp/dataproc/metastore_service_iam_binding.py +21 -7
  125. pulumi_gcp/dataproc/metastore_service_iam_member.py +21 -7
  126. pulumi_gcp/dataproc/metastore_service_iam_policy.py +21 -7
  127. pulumi_gcp/datastream/connection_profile.py +47 -0
  128. pulumi_gcp/datastream/private_connection.py +47 -0
  129. pulumi_gcp/datastream/stream.py +47 -0
  130. pulumi_gcp/firestore/field.py +4 -4
  131. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +21 -7
  132. pulumi_gcp/gkebackup/backup_plan_iam_member.py +21 -7
  133. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +21 -7
  134. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +6 -2
  135. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +6 -2
  136. pulumi_gcp/gkehub/feature_iam_binding.py +21 -7
  137. pulumi_gcp/gkehub/feature_iam_member.py +21 -7
  138. pulumi_gcp/gkehub/feature_iam_policy.py +21 -7
  139. pulumi_gcp/gkehub/get_feature_iam_policy.py +6 -2
  140. pulumi_gcp/gkehub/get_membership_iam_policy.py +6 -2
  141. pulumi_gcp/gkehub/membership_binding.py +6 -6
  142. pulumi_gcp/gkehub/membership_iam_binding.py +21 -7
  143. pulumi_gcp/gkehub/membership_iam_member.py +21 -7
  144. pulumi_gcp/gkehub/membership_iam_policy.py +21 -7
  145. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  146. pulumi_gcp/gkehub/namespace.py +4 -4
  147. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  148. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  149. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  150. pulumi_gcp/kms/__init__.py +2 -0
  151. pulumi_gcp/kms/autokey_config.py +366 -0
  152. pulumi_gcp/kms/key_handle.py +548 -0
  153. pulumi_gcp/logging/__init__.py +4 -0
  154. pulumi_gcp/logging/_inputs.py +100 -0
  155. pulumi_gcp/logging/get_log_view_iam_policy.py +157 -0
  156. pulumi_gcp/logging/log_view_iam_binding.py +630 -0
  157. pulumi_gcp/logging/log_view_iam_member.py +630 -0
  158. pulumi_gcp/logging/log_view_iam_policy.py +449 -0
  159. pulumi_gcp/logging/outputs.py +76 -0
  160. pulumi_gcp/netapp/storage_pool.py +9 -9
  161. pulumi_gcp/networksecurity/address_group_iam_policy.py +21 -7
  162. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +6 -2
  163. pulumi_gcp/networkservices/__init__.py +1 -0
  164. pulumi_gcp/networkservices/_inputs.py +245 -27
  165. pulumi_gcp/networkservices/lb_route_extension.py +663 -0
  166. pulumi_gcp/networkservices/lb_traffic_extension.py +28 -14
  167. pulumi_gcp/networkservices/outputs.py +251 -20
  168. pulumi_gcp/notebooks/get_instance_iam_policy.py +6 -2
  169. pulumi_gcp/notebooks/get_runtime_iam_policy.py +6 -2
  170. pulumi_gcp/notebooks/instance_iam_binding.py +21 -7
  171. pulumi_gcp/notebooks/instance_iam_member.py +21 -7
  172. pulumi_gcp/notebooks/instance_iam_policy.py +21 -7
  173. pulumi_gcp/notebooks/runtime_iam_binding.py +21 -7
  174. pulumi_gcp/notebooks/runtime_iam_member.py +21 -7
  175. pulumi_gcp/notebooks/runtime_iam_policy.py +21 -7
  176. pulumi_gcp/orgpolicy/policy.py +2 -2
  177. pulumi_gcp/privilegedaccessmanager/entitlement.py +7 -7
  178. pulumi_gcp/pubsub/_inputs.py +16 -0
  179. pulumi_gcp/pubsub/outputs.py +25 -0
  180. pulumi_gcp/pubsub/subscription.py +8 -4
  181. pulumi_gcp/pulumi-plugin.json +1 -1
  182. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +6 -2
  183. pulumi_gcp/sql/_inputs.py +2 -4
  184. pulumi_gcp/sql/outputs.py +6 -8
  185. pulumi_gcp/sql/user.py +4 -4
  186. pulumi_gcp/storage/_inputs.py +48 -0
  187. pulumi_gcp/storage/outputs.py +75 -0
  188. pulumi_gcp/tpu/_inputs.py +2 -2
  189. pulumi_gcp/tpu/outputs.py +2 -2
  190. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +6 -2
  191. pulumi_gcp/workbench/get_instance_iam_policy.py +6 -2
  192. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +6 -2
  193. pulumi_gcp/workstations/get_workstation_iam_policy.py +6 -2
  194. pulumi_gcp/workstations/workstation_config_iam_binding.py +21 -7
  195. pulumi_gcp/workstations/workstation_config_iam_member.py +21 -7
  196. pulumi_gcp/workstations/workstation_config_iam_policy.py +21 -7
  197. pulumi_gcp/workstations/workstation_iam_binding.py +21 -7
  198. pulumi_gcp/workstations/workstation_iam_member.py +21 -7
  199. pulumi_gcp/workstations/workstation_iam_policy.py +21 -7
  200. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/METADATA +1 -1
  201. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/RECORD +203 -180
  202. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/WHEEL +0 -0
  203. {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/top_level.txt +0 -0
@@ -133,6 +133,10 @@ __all__ = [
133
133
  'ClusterNodeConfigArgs',
134
134
  'ClusterNodeConfigAdvancedMachineFeaturesArgs',
135
135
  'ClusterNodeConfigConfidentialNodesArgs',
136
+ 'ClusterNodeConfigContainerdConfigArgs',
137
+ 'ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs',
138
+ 'ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs',
139
+ 'ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs',
136
140
  'ClusterNodeConfigEffectiveTaintArgs',
137
141
  'ClusterNodeConfigEphemeralStorageConfigArgs',
138
142
  'ClusterNodeConfigEphemeralStorageLocalSsdConfigArgs',
@@ -160,6 +164,10 @@ __all__ = [
160
164
  'ClusterNodePoolAutoscalingArgs',
161
165
  'ClusterNodePoolDefaultsArgs',
162
166
  'ClusterNodePoolDefaultsNodeConfigDefaultsArgs',
167
+ 'ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigArgs',
168
+ 'ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigArgs',
169
+ 'ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs',
170
+ 'ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs',
163
171
  'ClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigArgs',
164
172
  'ClusterNodePoolManagementArgs',
165
173
  'ClusterNodePoolNetworkConfigArgs',
@@ -170,6 +178,10 @@ __all__ = [
170
178
  'ClusterNodePoolNodeConfigArgs',
171
179
  'ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs',
172
180
  'ClusterNodePoolNodeConfigConfidentialNodesArgs',
181
+ 'ClusterNodePoolNodeConfigContainerdConfigArgs',
182
+ 'ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs',
183
+ 'ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs',
184
+ 'ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs',
173
185
  'ClusterNodePoolNodeConfigEffectiveTaintArgs',
174
186
  'ClusterNodePoolNodeConfigEphemeralStorageConfigArgs',
175
187
  'ClusterNodePoolNodeConfigEphemeralStorageLocalSsdConfigArgs',
@@ -223,6 +235,10 @@ __all__ = [
223
235
  'NodePoolNodeConfigArgs',
224
236
  'NodePoolNodeConfigAdvancedMachineFeaturesArgs',
225
237
  'NodePoolNodeConfigConfidentialNodesArgs',
238
+ 'NodePoolNodeConfigContainerdConfigArgs',
239
+ 'NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs',
240
+ 'NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs',
241
+ 'NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs',
226
242
  'NodePoolNodeConfigEffectiveTaintArgs',
227
243
  'NodePoolNodeConfigEphemeralStorageConfigArgs',
228
244
  'NodePoolNodeConfigEphemeralStorageLocalSsdConfigArgs',
@@ -5717,6 +5733,7 @@ class ClusterNodeConfigArgs:
5717
5733
  advanced_machine_features: Optional[pulumi.Input['ClusterNodeConfigAdvancedMachineFeaturesArgs']] = None,
5718
5734
  boot_disk_kms_key: Optional[pulumi.Input[str]] = None,
5719
5735
  confidential_nodes: Optional[pulumi.Input['ClusterNodeConfigConfidentialNodesArgs']] = None,
5736
+ containerd_config: Optional[pulumi.Input['ClusterNodeConfigContainerdConfigArgs']] = None,
5720
5737
  disk_size_gb: Optional[pulumi.Input[int]] = None,
5721
5738
  disk_type: Optional[pulumi.Input[str]] = None,
5722
5739
  effective_taints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigEffectiveTaintArgs']]]] = None,
@@ -5758,6 +5775,7 @@ class ClusterNodeConfigArgs:
5758
5775
  advanced machine features. Structure is documented below.
5759
5776
  :param pulumi.Input[str] boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: <https://cloud.google.com/compute/docs/disks/customer-managed-encryption>
5760
5777
  :param pulumi.Input['ClusterNodeConfigConfidentialNodesArgs'] confidential_nodes: Configuration for [Confidential Nodes](https://cloud.google.com/kubernetes-engine/docs/how-to/confidential-gke-nodes) feature. Structure is documented below documented below.
5778
+ :param pulumi.Input['ClusterNodeConfigContainerdConfigArgs'] containerd_config: Parameters to customize containerd runtime. Structure is documented below.
5761
5779
  :param pulumi.Input[int] disk_size_gb: Size of the disk attached to each node, specified
5762
5780
  in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
5763
5781
  :param pulumi.Input[str] disk_type: Type of the disk attached to each node
@@ -5858,6 +5876,8 @@ class ClusterNodeConfigArgs:
5858
5876
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
5859
5877
  if confidential_nodes is not None:
5860
5878
  pulumi.set(__self__, "confidential_nodes", confidential_nodes)
5879
+ if containerd_config is not None:
5880
+ pulumi.set(__self__, "containerd_config", containerd_config)
5861
5881
  if disk_size_gb is not None:
5862
5882
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
5863
5883
  if disk_type is not None:
@@ -5968,6 +5988,18 @@ class ClusterNodeConfigArgs:
5968
5988
  def confidential_nodes(self, value: Optional[pulumi.Input['ClusterNodeConfigConfidentialNodesArgs']]):
5969
5989
  pulumi.set(self, "confidential_nodes", value)
5970
5990
 
5991
+ @property
5992
+ @pulumi.getter(name="containerdConfig")
5993
+ def containerd_config(self) -> Optional[pulumi.Input['ClusterNodeConfigContainerdConfigArgs']]:
5994
+ """
5995
+ Parameters to customize containerd runtime. Structure is documented below.
5996
+ """
5997
+ return pulumi.get(self, "containerd_config")
5998
+
5999
+ @containerd_config.setter
6000
+ def containerd_config(self, value: Optional[pulumi.Input['ClusterNodeConfigContainerdConfigArgs']]):
6001
+ pulumi.set(self, "containerd_config", value)
6002
+
5971
6003
  @property
5972
6004
  @pulumi.getter(name="diskSizeGb")
5973
6005
  def disk_size_gb(self) -> Optional[pulumi.Input[int]]:
@@ -6520,6 +6552,126 @@ class ClusterNodeConfigConfidentialNodesArgs:
6520
6552
  pulumi.set(self, "enabled", value)
6521
6553
 
6522
6554
 
6555
+ @pulumi.input_type
6556
+ class ClusterNodeConfigContainerdConfigArgs:
6557
+ def __init__(__self__, *,
6558
+ private_registry_access_config: Optional[pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']] = None):
6559
+ """
6560
+ :param pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs'] private_registry_access_config: Configuration for private container registries. There are two fields in this config:
6561
+ """
6562
+ if private_registry_access_config is not None:
6563
+ pulumi.set(__self__, "private_registry_access_config", private_registry_access_config)
6564
+
6565
+ @property
6566
+ @pulumi.getter(name="privateRegistryAccessConfig")
6567
+ def private_registry_access_config(self) -> Optional[pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']]:
6568
+ """
6569
+ Configuration for private container registries. There are two fields in this config:
6570
+ """
6571
+ return pulumi.get(self, "private_registry_access_config")
6572
+
6573
+ @private_registry_access_config.setter
6574
+ def private_registry_access_config(self, value: Optional[pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']]):
6575
+ pulumi.set(self, "private_registry_access_config", value)
6576
+
6577
+
6578
+ @pulumi.input_type
6579
+ class ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs:
6580
+ def __init__(__self__, *,
6581
+ enabled: pulumi.Input[bool],
6582
+ certificate_authority_domain_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]] = None):
6583
+ """
6584
+ :param pulumi.Input[bool] enabled: Enables private registry config. If set to false, all other fields in this object must not be set.
6585
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]] certificate_authority_domain_configs: List of configuration objects for CA and domains. Each object identifies a certificate and its assigned domains. See [how to configure for private container registries](https://cloud.google.com/kubernetes-engine/docs/how-to/access-private-registries-private-certificates) for more detail. Example:
6586
+ """
6587
+ pulumi.set(__self__, "enabled", enabled)
6588
+ if certificate_authority_domain_configs is not None:
6589
+ pulumi.set(__self__, "certificate_authority_domain_configs", certificate_authority_domain_configs)
6590
+
6591
+ @property
6592
+ @pulumi.getter
6593
+ def enabled(self) -> pulumi.Input[bool]:
6594
+ """
6595
+ Enables private registry config. If set to false, all other fields in this object must not be set.
6596
+ """
6597
+ return pulumi.get(self, "enabled")
6598
+
6599
+ @enabled.setter
6600
+ def enabled(self, value: pulumi.Input[bool]):
6601
+ pulumi.set(self, "enabled", value)
6602
+
6603
+ @property
6604
+ @pulumi.getter(name="certificateAuthorityDomainConfigs")
6605
+ def certificate_authority_domain_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]:
6606
+ """
6607
+ List of configuration objects for CA and domains. Each object identifies a certificate and its assigned domains. See [how to configure for private container registries](https://cloud.google.com/kubernetes-engine/docs/how-to/access-private-registries-private-certificates) for more detail. Example:
6608
+ """
6609
+ return pulumi.get(self, "certificate_authority_domain_configs")
6610
+
6611
+ @certificate_authority_domain_configs.setter
6612
+ def certificate_authority_domain_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]):
6613
+ pulumi.set(self, "certificate_authority_domain_configs", value)
6614
+
6615
+
6616
+ @pulumi.input_type
6617
+ class ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs:
6618
+ def __init__(__self__, *,
6619
+ fqdns: pulumi.Input[Sequence[pulumi.Input[str]]],
6620
+ gcp_secret_manager_certificate_config: pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
6621
+ """
6622
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] fqdns: List of fully-qualified-domain-names. IPv4s and port specification are supported.
6623
+ :param pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs'] gcp_secret_manager_certificate_config: Parameters for configuring a certificate hosted in GCP SecretManager.
6624
+ """
6625
+ pulumi.set(__self__, "fqdns", fqdns)
6626
+ pulumi.set(__self__, "gcp_secret_manager_certificate_config", gcp_secret_manager_certificate_config)
6627
+
6628
+ @property
6629
+ @pulumi.getter
6630
+ def fqdns(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
6631
+ """
6632
+ List of fully-qualified-domain-names. IPv4s and port specification are supported.
6633
+ """
6634
+ return pulumi.get(self, "fqdns")
6635
+
6636
+ @fqdns.setter
6637
+ def fqdns(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
6638
+ pulumi.set(self, "fqdns", value)
6639
+
6640
+ @property
6641
+ @pulumi.getter(name="gcpSecretManagerCertificateConfig")
6642
+ def gcp_secret_manager_certificate_config(self) -> pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']:
6643
+ """
6644
+ Parameters for configuring a certificate hosted in GCP SecretManager.
6645
+ """
6646
+ return pulumi.get(self, "gcp_secret_manager_certificate_config")
6647
+
6648
+ @gcp_secret_manager_certificate_config.setter
6649
+ def gcp_secret_manager_certificate_config(self, value: pulumi.Input['ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
6650
+ pulumi.set(self, "gcp_secret_manager_certificate_config", value)
6651
+
6652
+
6653
+ @pulumi.input_type
6654
+ class ClusterNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs:
6655
+ def __init__(__self__, *,
6656
+ secret_uri: pulumi.Input[str]):
6657
+ """
6658
+ :param pulumi.Input[str] secret_uri: URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
6659
+ """
6660
+ pulumi.set(__self__, "secret_uri", secret_uri)
6661
+
6662
+ @property
6663
+ @pulumi.getter(name="secretUri")
6664
+ def secret_uri(self) -> pulumi.Input[str]:
6665
+ """
6666
+ URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
6667
+ """
6668
+ return pulumi.get(self, "secret_uri")
6669
+
6670
+ @secret_uri.setter
6671
+ def secret_uri(self, value: pulumi.Input[str]):
6672
+ pulumi.set(self, "secret_uri", value)
6673
+
6674
+
6523
6675
  @pulumi.input_type
6524
6676
  class ClusterNodeConfigEffectiveTaintArgs:
6525
6677
  def __init__(__self__, *,
@@ -7851,17 +8003,33 @@ class ClusterNodePoolDefaultsArgs:
7851
8003
  @pulumi.input_type
7852
8004
  class ClusterNodePoolDefaultsNodeConfigDefaultsArgs:
7853
8005
  def __init__(__self__, *,
8006
+ containerd_config: Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigArgs']] = None,
7854
8007
  gcfs_config: Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigArgs']] = None,
7855
8008
  logging_variant: Optional[pulumi.Input[str]] = None):
7856
8009
  """
8010
+ :param pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigArgs'] containerd_config: Parameters for containerd configuration.
7857
8011
  :param pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigArgs'] gcfs_config: The default Google Container Filesystem (GCFS) configuration at the cluster level. e.g. enable [image streaming](https://cloud.google.com/kubernetes-engine/docs/how-to/image-streaming) across all the node pools within the cluster. Structure is documented below.
7858
8012
  :param pulumi.Input[str] logging_variant: The type of logging agent that is deployed by default for newly created node pools in the cluster. Valid values include DEFAULT and MAX_THROUGHPUT. See [Increasing logging agent throughput](https://cloud.google.com/stackdriver/docs/solutions/gke/managing-logs#throughput) for more information.
7859
8013
  """
8014
+ if containerd_config is not None:
8015
+ pulumi.set(__self__, "containerd_config", containerd_config)
7860
8016
  if gcfs_config is not None:
7861
8017
  pulumi.set(__self__, "gcfs_config", gcfs_config)
7862
8018
  if logging_variant is not None:
7863
8019
  pulumi.set(__self__, "logging_variant", logging_variant)
7864
8020
 
8021
+ @property
8022
+ @pulumi.getter(name="containerdConfig")
8023
+ def containerd_config(self) -> Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigArgs']]:
8024
+ """
8025
+ Parameters for containerd configuration.
8026
+ """
8027
+ return pulumi.get(self, "containerd_config")
8028
+
8029
+ @containerd_config.setter
8030
+ def containerd_config(self, value: Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigArgs']]):
8031
+ pulumi.set(self, "containerd_config", value)
8032
+
7865
8033
  @property
7866
8034
  @pulumi.getter(name="gcfsConfig")
7867
8035
  def gcfs_config(self) -> Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigArgs']]:
@@ -7887,6 +8055,126 @@ class ClusterNodePoolDefaultsNodeConfigDefaultsArgs:
7887
8055
  pulumi.set(self, "logging_variant", value)
7888
8056
 
7889
8057
 
8058
+ @pulumi.input_type
8059
+ class ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigArgs:
8060
+ def __init__(__self__, *,
8061
+ private_registry_access_config: Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigArgs']] = None):
8062
+ """
8063
+ :param pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigArgs'] private_registry_access_config: Configuration for private container registries. There are two fields in this config:
8064
+ """
8065
+ if private_registry_access_config is not None:
8066
+ pulumi.set(__self__, "private_registry_access_config", private_registry_access_config)
8067
+
8068
+ @property
8069
+ @pulumi.getter(name="privateRegistryAccessConfig")
8070
+ def private_registry_access_config(self) -> Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigArgs']]:
8071
+ """
8072
+ Configuration for private container registries. There are two fields in this config:
8073
+ """
8074
+ return pulumi.get(self, "private_registry_access_config")
8075
+
8076
+ @private_registry_access_config.setter
8077
+ def private_registry_access_config(self, value: Optional[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigArgs']]):
8078
+ pulumi.set(self, "private_registry_access_config", value)
8079
+
8080
+
8081
+ @pulumi.input_type
8082
+ class ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigArgs:
8083
+ def __init__(__self__, *,
8084
+ enabled: pulumi.Input[bool],
8085
+ certificate_authority_domain_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]] = None):
8086
+ """
8087
+ :param pulumi.Input[bool] enabled: Enables private registry config. If set to false, all other fields in this object must not be set.
8088
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]] certificate_authority_domain_configs: List of configuration objects for CA and domains. Each object identifies a certificate and its assigned domains. See [how to configure for private container registries](https://cloud.google.com/kubernetes-engine/docs/how-to/access-private-registries-private-certificates) for more detail. Example:
8089
+ """
8090
+ pulumi.set(__self__, "enabled", enabled)
8091
+ if certificate_authority_domain_configs is not None:
8092
+ pulumi.set(__self__, "certificate_authority_domain_configs", certificate_authority_domain_configs)
8093
+
8094
+ @property
8095
+ @pulumi.getter
8096
+ def enabled(self) -> pulumi.Input[bool]:
8097
+ """
8098
+ Enables private registry config. If set to false, all other fields in this object must not be set.
8099
+ """
8100
+ return pulumi.get(self, "enabled")
8101
+
8102
+ @enabled.setter
8103
+ def enabled(self, value: pulumi.Input[bool]):
8104
+ pulumi.set(self, "enabled", value)
8105
+
8106
+ @property
8107
+ @pulumi.getter(name="certificateAuthorityDomainConfigs")
8108
+ def certificate_authority_domain_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]:
8109
+ """
8110
+ List of configuration objects for CA and domains. Each object identifies a certificate and its assigned domains. See [how to configure for private container registries](https://cloud.google.com/kubernetes-engine/docs/how-to/access-private-registries-private-certificates) for more detail. Example:
8111
+ """
8112
+ return pulumi.get(self, "certificate_authority_domain_configs")
8113
+
8114
+ @certificate_authority_domain_configs.setter
8115
+ def certificate_authority_domain_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]):
8116
+ pulumi.set(self, "certificate_authority_domain_configs", value)
8117
+
8118
+
8119
+ @pulumi.input_type
8120
+ class ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs:
8121
+ def __init__(__self__, *,
8122
+ fqdns: pulumi.Input[Sequence[pulumi.Input[str]]],
8123
+ gcp_secret_manager_certificate_config: pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
8124
+ """
8125
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] fqdns: List of fully-qualified-domain-names. IPv4s and port specification are supported.
8126
+ :param pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs'] gcp_secret_manager_certificate_config: Parameters for configuring a certificate hosted in GCP SecretManager.
8127
+ """
8128
+ pulumi.set(__self__, "fqdns", fqdns)
8129
+ pulumi.set(__self__, "gcp_secret_manager_certificate_config", gcp_secret_manager_certificate_config)
8130
+
8131
+ @property
8132
+ @pulumi.getter
8133
+ def fqdns(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
8134
+ """
8135
+ List of fully-qualified-domain-names. IPv4s and port specification are supported.
8136
+ """
8137
+ return pulumi.get(self, "fqdns")
8138
+
8139
+ @fqdns.setter
8140
+ def fqdns(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
8141
+ pulumi.set(self, "fqdns", value)
8142
+
8143
+ @property
8144
+ @pulumi.getter(name="gcpSecretManagerCertificateConfig")
8145
+ def gcp_secret_manager_certificate_config(self) -> pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']:
8146
+ """
8147
+ Parameters for configuring a certificate hosted in GCP SecretManager.
8148
+ """
8149
+ return pulumi.get(self, "gcp_secret_manager_certificate_config")
8150
+
8151
+ @gcp_secret_manager_certificate_config.setter
8152
+ def gcp_secret_manager_certificate_config(self, value: pulumi.Input['ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
8153
+ pulumi.set(self, "gcp_secret_manager_certificate_config", value)
8154
+
8155
+
8156
+ @pulumi.input_type
8157
+ class ClusterNodePoolDefaultsNodeConfigDefaultsContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs:
8158
+ def __init__(__self__, *,
8159
+ secret_uri: pulumi.Input[str]):
8160
+ """
8161
+ :param pulumi.Input[str] secret_uri: URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
8162
+ """
8163
+ pulumi.set(__self__, "secret_uri", secret_uri)
8164
+
8165
+ @property
8166
+ @pulumi.getter(name="secretUri")
8167
+ def secret_uri(self) -> pulumi.Input[str]:
8168
+ """
8169
+ URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
8170
+ """
8171
+ return pulumi.get(self, "secret_uri")
8172
+
8173
+ @secret_uri.setter
8174
+ def secret_uri(self, value: pulumi.Input[str]):
8175
+ pulumi.set(self, "secret_uri", value)
8176
+
8177
+
7890
8178
  @pulumi.input_type
7891
8179
  class ClusterNodePoolDefaultsNodeConfigDefaultsGcfsConfigArgs:
7892
8180
  def __init__(__self__, *,
@@ -8243,6 +8531,7 @@ class ClusterNodePoolNodeConfigArgs:
8243
8531
  advanced_machine_features: Optional[pulumi.Input['ClusterNodePoolNodeConfigAdvancedMachineFeaturesArgs']] = None,
8244
8532
  boot_disk_kms_key: Optional[pulumi.Input[str]] = None,
8245
8533
  confidential_nodes: Optional[pulumi.Input['ClusterNodePoolNodeConfigConfidentialNodesArgs']] = None,
8534
+ containerd_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigArgs']] = None,
8246
8535
  disk_size_gb: Optional[pulumi.Input[int]] = None,
8247
8536
  disk_type: Optional[pulumi.Input[str]] = None,
8248
8537
  effective_taints: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigEffectiveTaintArgs']]]] = None,
@@ -8284,6 +8573,7 @@ class ClusterNodePoolNodeConfigArgs:
8284
8573
  advanced machine features. Structure is documented below.
8285
8574
  :param pulumi.Input[str] boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool. This should be of the form projects/[KEY_PROJECT_ID]/locations/[LOCATION]/keyRings/[RING_NAME]/cryptoKeys/[KEY_NAME]. For more information about protecting resources with Cloud KMS Keys please see: <https://cloud.google.com/compute/docs/disks/customer-managed-encryption>
8286
8575
  :param pulumi.Input['ClusterNodePoolNodeConfigConfidentialNodesArgs'] confidential_nodes: Configuration for [Confidential Nodes](https://cloud.google.com/kubernetes-engine/docs/how-to/confidential-gke-nodes) feature. Structure is documented below documented below.
8576
+ :param pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigArgs'] containerd_config: Parameters to customize containerd runtime. Structure is documented below.
8287
8577
  :param pulumi.Input[int] disk_size_gb: Size of the disk attached to each node, specified
8288
8578
  in GB. The smallest allowed disk size is 10GB. Defaults to 100GB.
8289
8579
  :param pulumi.Input[str] disk_type: Type of the disk attached to each node
@@ -8384,6 +8674,8 @@ class ClusterNodePoolNodeConfigArgs:
8384
8674
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
8385
8675
  if confidential_nodes is not None:
8386
8676
  pulumi.set(__self__, "confidential_nodes", confidential_nodes)
8677
+ if containerd_config is not None:
8678
+ pulumi.set(__self__, "containerd_config", containerd_config)
8387
8679
  if disk_size_gb is not None:
8388
8680
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
8389
8681
  if disk_type is not None:
@@ -8494,6 +8786,18 @@ class ClusterNodePoolNodeConfigArgs:
8494
8786
  def confidential_nodes(self, value: Optional[pulumi.Input['ClusterNodePoolNodeConfigConfidentialNodesArgs']]):
8495
8787
  pulumi.set(self, "confidential_nodes", value)
8496
8788
 
8789
+ @property
8790
+ @pulumi.getter(name="containerdConfig")
8791
+ def containerd_config(self) -> Optional[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigArgs']]:
8792
+ """
8793
+ Parameters to customize containerd runtime. Structure is documented below.
8794
+ """
8795
+ return pulumi.get(self, "containerd_config")
8796
+
8797
+ @containerd_config.setter
8798
+ def containerd_config(self, value: Optional[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigArgs']]):
8799
+ pulumi.set(self, "containerd_config", value)
8800
+
8497
8801
  @property
8498
8802
  @pulumi.getter(name="diskSizeGb")
8499
8803
  def disk_size_gb(self) -> Optional[pulumi.Input[int]]:
@@ -9046,6 +9350,126 @@ class ClusterNodePoolNodeConfigConfidentialNodesArgs:
9046
9350
  pulumi.set(self, "enabled", value)
9047
9351
 
9048
9352
 
9353
+ @pulumi.input_type
9354
+ class ClusterNodePoolNodeConfigContainerdConfigArgs:
9355
+ def __init__(__self__, *,
9356
+ private_registry_access_config: Optional[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']] = None):
9357
+ """
9358
+ :param pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs'] private_registry_access_config: Configuration for private container registries. There are two fields in this config:
9359
+ """
9360
+ if private_registry_access_config is not None:
9361
+ pulumi.set(__self__, "private_registry_access_config", private_registry_access_config)
9362
+
9363
+ @property
9364
+ @pulumi.getter(name="privateRegistryAccessConfig")
9365
+ def private_registry_access_config(self) -> Optional[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']]:
9366
+ """
9367
+ Configuration for private container registries. There are two fields in this config:
9368
+ """
9369
+ return pulumi.get(self, "private_registry_access_config")
9370
+
9371
+ @private_registry_access_config.setter
9372
+ def private_registry_access_config(self, value: Optional[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']]):
9373
+ pulumi.set(self, "private_registry_access_config", value)
9374
+
9375
+
9376
+ @pulumi.input_type
9377
+ class ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs:
9378
+ def __init__(__self__, *,
9379
+ enabled: pulumi.Input[bool],
9380
+ certificate_authority_domain_configs: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]] = None):
9381
+ """
9382
+ :param pulumi.Input[bool] enabled: Enables private registry config. If set to false, all other fields in this object must not be set.
9383
+ :param pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]] certificate_authority_domain_configs: List of configuration objects for CA and domains. Each object identifies a certificate and its assigned domains. See [how to configure for private container registries](https://cloud.google.com/kubernetes-engine/docs/how-to/access-private-registries-private-certificates) for more detail. Example:
9384
+ """
9385
+ pulumi.set(__self__, "enabled", enabled)
9386
+ if certificate_authority_domain_configs is not None:
9387
+ pulumi.set(__self__, "certificate_authority_domain_configs", certificate_authority_domain_configs)
9388
+
9389
+ @property
9390
+ @pulumi.getter
9391
+ def enabled(self) -> pulumi.Input[bool]:
9392
+ """
9393
+ Enables private registry config. If set to false, all other fields in this object must not be set.
9394
+ """
9395
+ return pulumi.get(self, "enabled")
9396
+
9397
+ @enabled.setter
9398
+ def enabled(self, value: pulumi.Input[bool]):
9399
+ pulumi.set(self, "enabled", value)
9400
+
9401
+ @property
9402
+ @pulumi.getter(name="certificateAuthorityDomainConfigs")
9403
+ def certificate_authority_domain_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]:
9404
+ """
9405
+ List of configuration objects for CA and domains. Each object identifies a certificate and its assigned domains. See [how to configure for private container registries](https://cloud.google.com/kubernetes-engine/docs/how-to/access-private-registries-private-certificates) for more detail. Example:
9406
+ """
9407
+ return pulumi.get(self, "certificate_authority_domain_configs")
9408
+
9409
+ @certificate_authority_domain_configs.setter
9410
+ def certificate_authority_domain_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]):
9411
+ pulumi.set(self, "certificate_authority_domain_configs", value)
9412
+
9413
+
9414
+ @pulumi.input_type
9415
+ class ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs:
9416
+ def __init__(__self__, *,
9417
+ fqdns: pulumi.Input[Sequence[pulumi.Input[str]]],
9418
+ gcp_secret_manager_certificate_config: pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
9419
+ """
9420
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] fqdns: List of fully-qualified-domain-names. IPv4s and port specification are supported.
9421
+ :param pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs'] gcp_secret_manager_certificate_config: Parameters for configuring a certificate hosted in GCP SecretManager.
9422
+ """
9423
+ pulumi.set(__self__, "fqdns", fqdns)
9424
+ pulumi.set(__self__, "gcp_secret_manager_certificate_config", gcp_secret_manager_certificate_config)
9425
+
9426
+ @property
9427
+ @pulumi.getter
9428
+ def fqdns(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
9429
+ """
9430
+ List of fully-qualified-domain-names. IPv4s and port specification are supported.
9431
+ """
9432
+ return pulumi.get(self, "fqdns")
9433
+
9434
+ @fqdns.setter
9435
+ def fqdns(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
9436
+ pulumi.set(self, "fqdns", value)
9437
+
9438
+ @property
9439
+ @pulumi.getter(name="gcpSecretManagerCertificateConfig")
9440
+ def gcp_secret_manager_certificate_config(self) -> pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']:
9441
+ """
9442
+ Parameters for configuring a certificate hosted in GCP SecretManager.
9443
+ """
9444
+ return pulumi.get(self, "gcp_secret_manager_certificate_config")
9445
+
9446
+ @gcp_secret_manager_certificate_config.setter
9447
+ def gcp_secret_manager_certificate_config(self, value: pulumi.Input['ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
9448
+ pulumi.set(self, "gcp_secret_manager_certificate_config", value)
9449
+
9450
+
9451
+ @pulumi.input_type
9452
+ class ClusterNodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs:
9453
+ def __init__(__self__, *,
9454
+ secret_uri: pulumi.Input[str]):
9455
+ """
9456
+ :param pulumi.Input[str] secret_uri: URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
9457
+ """
9458
+ pulumi.set(__self__, "secret_uri", secret_uri)
9459
+
9460
+ @property
9461
+ @pulumi.getter(name="secretUri")
9462
+ def secret_uri(self) -> pulumi.Input[str]:
9463
+ """
9464
+ URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
9465
+ """
9466
+ return pulumi.get(self, "secret_uri")
9467
+
9468
+ @secret_uri.setter
9469
+ def secret_uri(self, value: pulumi.Input[str]):
9470
+ pulumi.set(self, "secret_uri", value)
9471
+
9472
+
9049
9473
  @pulumi.input_type
9050
9474
  class ClusterNodePoolNodeConfigEffectiveTaintArgs:
9051
9475
  def __init__(__self__, *,
@@ -11244,6 +11668,7 @@ class NodePoolNodeConfigArgs:
11244
11668
  advanced_machine_features: Optional[pulumi.Input['NodePoolNodeConfigAdvancedMachineFeaturesArgs']] = None,
11245
11669
  boot_disk_kms_key: Optional[pulumi.Input[str]] = None,
11246
11670
  confidential_nodes: Optional[pulumi.Input['NodePoolNodeConfigConfidentialNodesArgs']] = None,
11671
+ containerd_config: Optional[pulumi.Input['NodePoolNodeConfigContainerdConfigArgs']] = None,
11247
11672
  disk_size_gb: Optional[pulumi.Input[int]] = None,
11248
11673
  disk_type: Optional[pulumi.Input[str]] = None,
11249
11674
  effective_taints: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigEffectiveTaintArgs']]]] = None,
@@ -11284,6 +11709,7 @@ class NodePoolNodeConfigArgs:
11284
11709
  :param pulumi.Input['NodePoolNodeConfigAdvancedMachineFeaturesArgs'] advanced_machine_features: Specifies options for controlling advanced machine features.
11285
11710
  :param pulumi.Input[str] boot_disk_kms_key: The Customer Managed Encryption Key used to encrypt the boot disk attached to each node in the node pool.
11286
11711
  :param pulumi.Input['NodePoolNodeConfigConfidentialNodesArgs'] confidential_nodes: Configuration for Confidential Nodes feature. Structure is documented below.
11712
+ :param pulumi.Input['NodePoolNodeConfigContainerdConfigArgs'] containerd_config: Parameters for containerd configuration.
11287
11713
  :param pulumi.Input[int] disk_size_gb: Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB.
11288
11714
  :param pulumi.Input[str] disk_type: Type of the disk attached to each node. Such as pd-standard, pd-balanced or pd-ssd
11289
11715
  :param pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigEffectiveTaintArgs']]] effective_taints: List of kubernetes taints applied to each node.
@@ -11327,6 +11753,8 @@ class NodePoolNodeConfigArgs:
11327
11753
  pulumi.set(__self__, "boot_disk_kms_key", boot_disk_kms_key)
11328
11754
  if confidential_nodes is not None:
11329
11755
  pulumi.set(__self__, "confidential_nodes", confidential_nodes)
11756
+ if containerd_config is not None:
11757
+ pulumi.set(__self__, "containerd_config", containerd_config)
11330
11758
  if disk_size_gb is not None:
11331
11759
  pulumi.set(__self__, "disk_size_gb", disk_size_gb)
11332
11760
  if disk_type is not None:
@@ -11436,6 +11864,18 @@ class NodePoolNodeConfigArgs:
11436
11864
  def confidential_nodes(self, value: Optional[pulumi.Input['NodePoolNodeConfigConfidentialNodesArgs']]):
11437
11865
  pulumi.set(self, "confidential_nodes", value)
11438
11866
 
11867
+ @property
11868
+ @pulumi.getter(name="containerdConfig")
11869
+ def containerd_config(self) -> Optional[pulumi.Input['NodePoolNodeConfigContainerdConfigArgs']]:
11870
+ """
11871
+ Parameters for containerd configuration.
11872
+ """
11873
+ return pulumi.get(self, "containerd_config")
11874
+
11875
+ @containerd_config.setter
11876
+ def containerd_config(self, value: Optional[pulumi.Input['NodePoolNodeConfigContainerdConfigArgs']]):
11877
+ pulumi.set(self, "containerd_config", value)
11878
+
11439
11879
  @property
11440
11880
  @pulumi.getter(name="diskSizeGb")
11441
11881
  def disk_size_gb(self) -> Optional[pulumi.Input[int]]:
@@ -11931,6 +12371,126 @@ class NodePoolNodeConfigConfidentialNodesArgs:
11931
12371
  pulumi.set(self, "enabled", value)
11932
12372
 
11933
12373
 
12374
+ @pulumi.input_type
12375
+ class NodePoolNodeConfigContainerdConfigArgs:
12376
+ def __init__(__self__, *,
12377
+ private_registry_access_config: Optional[pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']] = None):
12378
+ """
12379
+ :param pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs'] private_registry_access_config: Parameters for private container registries configuration.
12380
+ """
12381
+ if private_registry_access_config is not None:
12382
+ pulumi.set(__self__, "private_registry_access_config", private_registry_access_config)
12383
+
12384
+ @property
12385
+ @pulumi.getter(name="privateRegistryAccessConfig")
12386
+ def private_registry_access_config(self) -> Optional[pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']]:
12387
+ """
12388
+ Parameters for private container registries configuration.
12389
+ """
12390
+ return pulumi.get(self, "private_registry_access_config")
12391
+
12392
+ @private_registry_access_config.setter
12393
+ def private_registry_access_config(self, value: Optional[pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs']]):
12394
+ pulumi.set(self, "private_registry_access_config", value)
12395
+
12396
+
12397
+ @pulumi.input_type
12398
+ class NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigArgs:
12399
+ def __init__(__self__, *,
12400
+ enabled: pulumi.Input[bool],
12401
+ certificate_authority_domain_configs: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]] = None):
12402
+ """
12403
+ :param pulumi.Input[bool] enabled: Whether or not private registries are configured.
12404
+ :param pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]] certificate_authority_domain_configs: Parameters for configuring CA certificate and domains.
12405
+ """
12406
+ pulumi.set(__self__, "enabled", enabled)
12407
+ if certificate_authority_domain_configs is not None:
12408
+ pulumi.set(__self__, "certificate_authority_domain_configs", certificate_authority_domain_configs)
12409
+
12410
+ @property
12411
+ @pulumi.getter
12412
+ def enabled(self) -> pulumi.Input[bool]:
12413
+ """
12414
+ Whether or not private registries are configured.
12415
+ """
12416
+ return pulumi.get(self, "enabled")
12417
+
12418
+ @enabled.setter
12419
+ def enabled(self, value: pulumi.Input[bool]):
12420
+ pulumi.set(self, "enabled", value)
12421
+
12422
+ @property
12423
+ @pulumi.getter(name="certificateAuthorityDomainConfigs")
12424
+ def certificate_authority_domain_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]:
12425
+ """
12426
+ Parameters for configuring CA certificate and domains.
12427
+ """
12428
+ return pulumi.get(self, "certificate_authority_domain_configs")
12429
+
12430
+ @certificate_authority_domain_configs.setter
12431
+ def certificate_authority_domain_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs']]]]):
12432
+ pulumi.set(self, "certificate_authority_domain_configs", value)
12433
+
12434
+
12435
+ @pulumi.input_type
12436
+ class NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigArgs:
12437
+ def __init__(__self__, *,
12438
+ fqdns: pulumi.Input[Sequence[pulumi.Input[str]]],
12439
+ gcp_secret_manager_certificate_config: pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
12440
+ """
12441
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] fqdns: List of fully-qualified-domain-names. IPv4s and port specification are supported.
12442
+ :param pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs'] gcp_secret_manager_certificate_config: Parameters for configuring a certificate hosted in GCP SecretManager.
12443
+ """
12444
+ pulumi.set(__self__, "fqdns", fqdns)
12445
+ pulumi.set(__self__, "gcp_secret_manager_certificate_config", gcp_secret_manager_certificate_config)
12446
+
12447
+ @property
12448
+ @pulumi.getter
12449
+ def fqdns(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
12450
+ """
12451
+ List of fully-qualified-domain-names. IPv4s and port specification are supported.
12452
+ """
12453
+ return pulumi.get(self, "fqdns")
12454
+
12455
+ @fqdns.setter
12456
+ def fqdns(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
12457
+ pulumi.set(self, "fqdns", value)
12458
+
12459
+ @property
12460
+ @pulumi.getter(name="gcpSecretManagerCertificateConfig")
12461
+ def gcp_secret_manager_certificate_config(self) -> pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']:
12462
+ """
12463
+ Parameters for configuring a certificate hosted in GCP SecretManager.
12464
+ """
12465
+ return pulumi.get(self, "gcp_secret_manager_certificate_config")
12466
+
12467
+ @gcp_secret_manager_certificate_config.setter
12468
+ def gcp_secret_manager_certificate_config(self, value: pulumi.Input['NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs']):
12469
+ pulumi.set(self, "gcp_secret_manager_certificate_config", value)
12470
+
12471
+
12472
+ @pulumi.input_type
12473
+ class NodePoolNodeConfigContainerdConfigPrivateRegistryAccessConfigCertificateAuthorityDomainConfigGcpSecretManagerCertificateConfigArgs:
12474
+ def __init__(__self__, *,
12475
+ secret_uri: pulumi.Input[str]):
12476
+ """
12477
+ :param pulumi.Input[str] secret_uri: URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
12478
+ """
12479
+ pulumi.set(__self__, "secret_uri", secret_uri)
12480
+
12481
+ @property
12482
+ @pulumi.getter(name="secretUri")
12483
+ def secret_uri(self) -> pulumi.Input[str]:
12484
+ """
12485
+ URI for the secret that hosts a certificate. Must be in the format 'projects/PROJECT_NUM/secrets/SECRET_NAME/versions/VERSION_OR_LATEST'.
12486
+ """
12487
+ return pulumi.get(self, "secret_uri")
12488
+
12489
+ @secret_uri.setter
12490
+ def secret_uri(self, value: pulumi.Input[str]):
12491
+ pulumi.set(self, "secret_uri", value)
12492
+
12493
+
11934
12494
  @pulumi.input_type
11935
12495
  class NodePoolNodeConfigEffectiveTaintArgs:
11936
12496
  def __init__(__self__, *,