pulumi-gcp 7.39.0a1726207510__py3-none-any.whl → 8.0.0a1__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 (167) hide show
  1. pulumi_gcp/__init__.py +32 -19
  2. pulumi_gcp/accesscontextmanager/access_policy.py +4 -2
  3. pulumi_gcp/activedirectory/domain.py +38 -2
  4. pulumi_gcp/activedirectory/domain_trust.py +0 -30
  5. pulumi_gcp/activedirectory/peering.py +0 -72
  6. pulumi_gcp/alloydb/cluster.py +12 -200
  7. pulumi_gcp/alloydb/instance.py +13 -5
  8. pulumi_gcp/alloydb/user.py +14 -6
  9. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +4 -2
  10. pulumi_gcp/apigee/sync_authorization.py +4 -2
  11. pulumi_gcp/apigee/target_server.py +4 -2
  12. pulumi_gcp/appengine/firewall_rule.py +4 -2
  13. pulumi_gcp/appengine/flexible_app_version.py +4 -2
  14. pulumi_gcp/apphub/service.py +8 -4
  15. pulumi_gcp/apphub/service_project_attachment.py +8 -4
  16. pulumi_gcp/applicationintegration/client.py +0 -154
  17. pulumi_gcp/bigquery/_inputs.py +0 -70
  18. pulumi_gcp/bigquery/iam_binding.py +0 -260
  19. pulumi_gcp/bigquery/iam_member.py +0 -260
  20. pulumi_gcp/bigquery/iam_policy.py +0 -240
  21. pulumi_gcp/bigquery/outputs.py +0 -44
  22. pulumi_gcp/bigquery/reservation.py +0 -84
  23. pulumi_gcp/bigquery/table.py +0 -98
  24. pulumi_gcp/billing/project_info.py +4 -2
  25. pulumi_gcp/certificateauthority/get_authority.py +0 -20
  26. pulumi_gcp/certificatemanager/get_certificate_map.py +0 -14
  27. pulumi_gcp/cloudasset/folder_feed.py +4 -2
  28. pulumi_gcp/cloudidentity/get_group_lookup.py +0 -18
  29. pulumi_gcp/cloudidentity/get_group_memberships.py +0 -14
  30. pulumi_gcp/cloudidentity/get_groups.py +0 -14
  31. pulumi_gcp/cloudrunv2/_inputs.py +25 -25
  32. pulumi_gcp/cloudrunv2/get_job.py +11 -1
  33. pulumi_gcp/cloudrunv2/get_service.py +11 -1
  34. pulumi_gcp/cloudrunv2/job.py +50 -0
  35. pulumi_gcp/cloudrunv2/outputs.py +26 -26
  36. pulumi_gcp/cloudrunv2/service.py +54 -0
  37. pulumi_gcp/compute/_inputs.py +117 -54
  38. pulumi_gcp/compute/backend_service.py +52 -0
  39. pulumi_gcp/compute/disk_async_replication.py +0 -48
  40. pulumi_gcp/compute/firewall_policy_rule.py +4 -2
  41. pulumi_gcp/compute/forwarding_rule.py +42 -0
  42. pulumi_gcp/compute/get_backend_bucket.py +0 -14
  43. pulumi_gcp/compute/get_backend_service.py +0 -20
  44. pulumi_gcp/compute/get_certificate.py +0 -20
  45. pulumi_gcp/compute/get_forwarding_rule.py +11 -15
  46. pulumi_gcp/compute/get_forwarding_rules.py +0 -16
  47. pulumi_gcp/compute/get_global_forwarding_rule.py +0 -14
  48. pulumi_gcp/compute/get_hc_vpn_gateway.py +0 -14
  49. pulumi_gcp/compute/get_health_check.py +0 -14
  50. pulumi_gcp/compute/get_lbip_ranges.py +0 -32
  51. pulumi_gcp/compute/get_netblock_ip_ranges.py +0 -52
  52. pulumi_gcp/compute/get_network.py +0 -14
  53. pulumi_gcp/compute/get_networks.py +0 -14
  54. pulumi_gcp/compute/get_region_ssl_certificate.py +0 -20
  55. pulumi_gcp/compute/get_ssl_policy.py +0 -14
  56. pulumi_gcp/compute/get_vpn_gateway.py +0 -14
  57. pulumi_gcp/compute/global_address.py +8 -4
  58. pulumi_gcp/compute/global_forwarding_rule.py +7 -0
  59. pulumi_gcp/compute/instance_template.py +56 -63
  60. pulumi_gcp/compute/managed_ssl_certificate.py +1 -20
  61. pulumi_gcp/compute/manged_ssl_certificate.py +1 -20
  62. pulumi_gcp/compute/network_attachment.py +8 -4
  63. pulumi_gcp/compute/node_group.py +4 -2
  64. pulumi_gcp/compute/organization_security_policy_association.py +4 -2
  65. pulumi_gcp/compute/outputs.py +101 -42
  66. pulumi_gcp/compute/project_cloud_armor_tier.py +4 -2
  67. pulumi_gcp/compute/region_backend_service.py +36 -7
  68. pulumi_gcp/compute/region_instance_template.py +56 -7
  69. pulumi_gcp/compute/region_ssl_certificate.py +49 -7
  70. pulumi_gcp/compute/ssl_certificate.py +49 -7
  71. pulumi_gcp/compute/subnetwork.py +193 -23
  72. pulumi_gcp/config/__init__.pyi +3 -5
  73. pulumi_gcp/config/vars.py +6 -10
  74. pulumi_gcp/container/_inputs.py +19 -41
  75. pulumi_gcp/container/cluster.py +79 -0
  76. pulumi_gcp/container/get_cluster.py +21 -25
  77. pulumi_gcp/container/get_engine_versions.py +8 -2
  78. pulumi_gcp/container/outputs.py +17 -40
  79. pulumi_gcp/dataproc/get_metastore_service.py +0 -16
  80. pulumi_gcp/diagflow/intent.py +4 -2
  81. pulumi_gcp/dns/get_record_set.py +0 -20
  82. pulumi_gcp/edgenetwork/network.py +83 -0
  83. pulumi_gcp/edgenetwork/subnet.py +83 -0
  84. pulumi_gcp/filestore/get_instance.py +0 -20
  85. pulumi_gcp/firebase/database_instance.py +2 -0
  86. pulumi_gcp/firebase/hosting_custom_domain.py +4 -2
  87. pulumi_gcp/firebase/hosting_version.py +4 -2
  88. pulumi_gcp/firebase/project.py +2 -0
  89. pulumi_gcp/firestore/document.py +8 -4
  90. pulumi_gcp/folder/access_approval_settings.py +12 -6
  91. pulumi_gcp/gkeonprem/_inputs.py +11 -11
  92. pulumi_gcp/gkeonprem/outputs.py +9 -9
  93. pulumi_gcp/gkeonprem/v_mware_cluster.py +31 -31
  94. pulumi_gcp/gkeonprem/v_mware_node_pool.py +186 -0
  95. pulumi_gcp/iam/access_boundary_policy.py +4 -2
  96. pulumi_gcp/iam/deny_policy.py +4 -2
  97. pulumi_gcp/iam/get_workload_identity_pool.py +0 -14
  98. pulumi_gcp/iam/get_workload_identity_pool_provider.py +0 -16
  99. pulumi_gcp/iap/brand.py +4 -2
  100. pulumi_gcp/iap/client.py +4 -2
  101. pulumi_gcp/iap/get_client.py +0 -18
  102. pulumi_gcp/identityplatform/__init__.py +0 -1
  103. pulumi_gcp/identityplatform/_inputs.py +0 -396
  104. pulumi_gcp/identityplatform/config.py +2 -0
  105. pulumi_gcp/identityplatform/outputs.py +0 -313
  106. pulumi_gcp/integrationconnectors/managed_zone.py +4 -2
  107. pulumi_gcp/kms/__init__.py +4 -0
  108. pulumi_gcp/kms/_inputs.py +130 -0
  109. pulumi_gcp/kms/autokey_config.py +6 -2
  110. pulumi_gcp/kms/ekm_connection_iam_binding.py +1097 -0
  111. pulumi_gcp/kms/ekm_connection_iam_member.py +1097 -0
  112. pulumi_gcp/kms/ekm_connection_iam_policy.py +916 -0
  113. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +177 -0
  114. pulumi_gcp/kms/key_handle.py +8 -2
  115. pulumi_gcp/kms/outputs.py +76 -0
  116. pulumi_gcp/logging/folder_settings.py +4 -2
  117. pulumi_gcp/monitoring/get_secret_version.py +2 -2
  118. pulumi_gcp/monitoring/monitored_project.py +4 -2
  119. pulumi_gcp/networksecurity/firewall_endpoint_association.py +12 -44
  120. pulumi_gcp/networkservices/_inputs.py +23 -0
  121. pulumi_gcp/networkservices/outputs.py +17 -1
  122. pulumi_gcp/networkservices/tcp_route.py +2 -0
  123. pulumi_gcp/organizations/access_approval_settings.py +4 -2
  124. pulumi_gcp/organizations/folder.py +35 -1
  125. pulumi_gcp/organizations/get_active_folder.py +0 -16
  126. pulumi_gcp/organizations/get_client_config.py +16 -15
  127. pulumi_gcp/organizations/get_folder.py +11 -1
  128. pulumi_gcp/organizations/get_project.py +3 -13
  129. pulumi_gcp/organizations/project.py +3 -87
  130. pulumi_gcp/orgpolicy/policy.py +12 -6
  131. pulumi_gcp/projects/api_key.py +2 -52
  132. pulumi_gcp/provider.py +32 -52
  133. pulumi_gcp/pubsub/topic.py +1 -1
  134. pulumi_gcp/pulumi-plugin.json +1 -1
  135. pulumi_gcp/redis/cluster.py +58 -0
  136. pulumi_gcp/redis/get_instance.py +0 -20
  137. pulumi_gcp/resourcemanager/lien.py +4 -2
  138. pulumi_gcp/secretmanager/get_secret_version.py +2 -2
  139. pulumi_gcp/securitycenter/__init__.py +1 -0
  140. pulumi_gcp/securitycenter/folder_custom_module.py +8 -4
  141. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +8 -4
  142. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +862 -0
  143. pulumi_gcp/serviceusage/consumer_quota_override.py +12 -6
  144. pulumi_gcp/spanner/get_instance.py +0 -14
  145. pulumi_gcp/sql/_inputs.py +3 -36
  146. pulumi_gcp/sql/outputs.py +6 -49
  147. pulumi_gcp/storage/_inputs.py +23 -23
  148. pulumi_gcp/storage/bucket.py +6 -6
  149. pulumi_gcp/storage/outputs.py +27 -27
  150. pulumi_gcp/tags/get_tag_key.py +0 -30
  151. pulumi_gcp/tags/get_tag_keys.py +0 -26
  152. pulumi_gcp/tags/get_tag_value.py +0 -16
  153. pulumi_gcp/tags/get_tag_values.py +0 -14
  154. pulumi_gcp/tags/tag_binding.py +4 -2
  155. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -2
  156. pulumi_gcp/vmwareengine/network.py +4 -2
  157. pulumi_gcp/vpcaccess/connector.py +14 -6
  158. pulumi_gcp/vpcaccess/get_connector.py +6 -2
  159. {pulumi_gcp-7.39.0a1726207510.dist-info → pulumi_gcp-8.0.0a1.dist-info}/METADATA +1 -1
  160. {pulumi_gcp-7.39.0a1726207510.dist-info → pulumi_gcp-8.0.0a1.dist-info}/RECORD +162 -162
  161. pulumi_gcp/datastore/__init__.py +0 -10
  162. pulumi_gcp/datastore/_inputs.py +0 -76
  163. pulumi_gcp/datastore/data_store_index.py +0 -515
  164. pulumi_gcp/datastore/outputs.py +0 -51
  165. pulumi_gcp/identityplatform/project_default_config.py +0 -357
  166. {pulumi_gcp-7.39.0a1726207510.dist-info → pulumi_gcp-8.0.0a1.dist-info}/WHEEL +0 -0
  167. {pulumi_gcp-7.39.0a1726207510.dist-info → pulumi_gcp-8.0.0a1.dist-info}/top_level.txt +0 -0
@@ -20,7 +20,8 @@ __all__ = ['FolderArgs', 'Folder']
20
20
  class FolderArgs:
21
21
  def __init__(__self__, *,
22
22
  display_name: pulumi.Input[str],
23
- parent: pulumi.Input[str]):
23
+ parent: pulumi.Input[str],
24
+ deletion_protection: Optional[pulumi.Input[bool]] = None):
24
25
  """
25
26
  The set of arguments for constructing a Folder resource.
26
27
  :param pulumi.Input[str] display_name: The folder’s display name.
@@ -30,6 +31,8 @@ class FolderArgs:
30
31
  """
31
32
  pulumi.set(__self__, "display_name", display_name)
32
33
  pulumi.set(__self__, "parent", parent)
34
+ if deletion_protection is not None:
35
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
33
36
 
34
37
  @property
35
38
  @pulumi.getter(name="displayName")
@@ -57,11 +60,21 @@ class FolderArgs:
57
60
  def parent(self, value: pulumi.Input[str]):
58
61
  pulumi.set(self, "parent", value)
59
62
 
63
+ @property
64
+ @pulumi.getter(name="deletionProtection")
65
+ def deletion_protection(self) -> Optional[pulumi.Input[bool]]:
66
+ return pulumi.get(self, "deletion_protection")
67
+
68
+ @deletion_protection.setter
69
+ def deletion_protection(self, value: Optional[pulumi.Input[bool]]):
70
+ pulumi.set(self, "deletion_protection", value)
71
+
60
72
 
61
73
  @pulumi.input_type
62
74
  class _FolderState:
63
75
  def __init__(__self__, *,
64
76
  create_time: Optional[pulumi.Input[str]] = None,
77
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
65
78
  display_name: Optional[pulumi.Input[str]] = None,
66
79
  folder_id: Optional[pulumi.Input[str]] = None,
67
80
  lifecycle_state: Optional[pulumi.Input[str]] = None,
@@ -81,6 +94,8 @@ class _FolderState:
81
94
  """
82
95
  if create_time is not None:
83
96
  pulumi.set(__self__, "create_time", create_time)
97
+ if deletion_protection is not None:
98
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
84
99
  if display_name is not None:
85
100
  pulumi.set(__self__, "display_name", display_name)
86
101
  if folder_id is not None:
@@ -105,6 +120,15 @@ class _FolderState:
105
120
  def create_time(self, value: Optional[pulumi.Input[str]]):
106
121
  pulumi.set(self, "create_time", value)
107
122
 
123
+ @property
124
+ @pulumi.getter(name="deletionProtection")
125
+ def deletion_protection(self) -> Optional[pulumi.Input[bool]]:
126
+ return pulumi.get(self, "deletion_protection")
127
+
128
+ @deletion_protection.setter
129
+ def deletion_protection(self, value: Optional[pulumi.Input[bool]]):
130
+ pulumi.set(self, "deletion_protection", value)
131
+
108
132
  @property
109
133
  @pulumi.getter(name="displayName")
110
134
  def display_name(self) -> Optional[pulumi.Input[str]]:
@@ -173,6 +197,7 @@ class Folder(pulumi.CustomResource):
173
197
  def __init__(__self__,
174
198
  resource_name: str,
175
199
  opts: Optional[pulumi.ResourceOptions] = None,
200
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
176
201
  display_name: Optional[pulumi.Input[str]] = None,
177
202
  parent: Optional[pulumi.Input[str]] = None,
178
203
  __props__=None):
@@ -302,6 +327,7 @@ class Folder(pulumi.CustomResource):
302
327
  def _internal_init(__self__,
303
328
  resource_name: str,
304
329
  opts: Optional[pulumi.ResourceOptions] = None,
330
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
305
331
  display_name: Optional[pulumi.Input[str]] = None,
306
332
  parent: Optional[pulumi.Input[str]] = None,
307
333
  __props__=None):
@@ -313,6 +339,7 @@ class Folder(pulumi.CustomResource):
313
339
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
314
340
  __props__ = FolderArgs.__new__(FolderArgs)
315
341
 
342
+ __props__.__dict__["deletion_protection"] = deletion_protection
316
343
  if display_name is None and not opts.urn:
317
344
  raise TypeError("Missing required property 'display_name'")
318
345
  __props__.__dict__["display_name"] = display_name
@@ -334,6 +361,7 @@ class Folder(pulumi.CustomResource):
334
361
  id: pulumi.Input[str],
335
362
  opts: Optional[pulumi.ResourceOptions] = None,
336
363
  create_time: Optional[pulumi.Input[str]] = None,
364
+ deletion_protection: Optional[pulumi.Input[bool]] = None,
337
365
  display_name: Optional[pulumi.Input[str]] = None,
338
366
  folder_id: Optional[pulumi.Input[str]] = None,
339
367
  lifecycle_state: Optional[pulumi.Input[str]] = None,
@@ -361,6 +389,7 @@ class Folder(pulumi.CustomResource):
361
389
  __props__ = _FolderState.__new__(_FolderState)
362
390
 
363
391
  __props__.__dict__["create_time"] = create_time
392
+ __props__.__dict__["deletion_protection"] = deletion_protection
364
393
  __props__.__dict__["display_name"] = display_name
365
394
  __props__.__dict__["folder_id"] = folder_id
366
395
  __props__.__dict__["lifecycle_state"] = lifecycle_state
@@ -377,6 +406,11 @@ class Folder(pulumi.CustomResource):
377
406
  """
378
407
  return pulumi.get(self, "create_time")
379
408
 
409
+ @property
410
+ @pulumi.getter(name="deletionProtection")
411
+ def deletion_protection(self) -> pulumi.Output[Optional[bool]]:
412
+ return pulumi.get(self, "deletion_protection")
413
+
380
414
  @property
381
415
  @pulumi.getter(name="displayName")
382
416
  def display_name(self) -> pulumi.Output[str]:
@@ -97,14 +97,6 @@ def get_active_folder(api_method: Optional[str] = None,
97
97
 
98
98
  ## Example Usage
99
99
 
100
- ```python
101
- import pulumi
102
- import pulumi_gcp as gcp
103
-
104
- department1 = gcp.organizations.get_active_folder(display_name="Department 1",
105
- parent="organizations/1234567")
106
- ```
107
-
108
100
 
109
101
  :param str api_method: The API method to use to search for the folder. Valid values are `LIST` and `SEARCH`. Default Value is `LIST`. `LIST` is [strongly consistent](https://cloud.google.com/resource-manager/reference/rest/v3/folders/list#:~:text=list()%20provides%20a-,strongly%20consistent,-view%20of%20the) and requires `resourcemanager.folders.list` on the parent folder, while `SEARCH` is [eventually consistent](https://cloud.google.com/resource-manager/reference/rest/v3/folders/search#:~:text=eventually%20consistent) and only returns folders that the user has `resourcemanager.folders.get` permission on.
110
102
  :param str display_name: The folder's display name.
@@ -135,14 +127,6 @@ def get_active_folder_output(api_method: Optional[pulumi.Input[Optional[str]]] =
135
127
 
136
128
  ## Example Usage
137
129
 
138
- ```python
139
- import pulumi
140
- import pulumi_gcp as gcp
141
-
142
- department1 = gcp.organizations.get_active_folder(display_name="Department 1",
143
- parent="organizations/1234567")
144
- ```
145
-
146
130
 
147
131
  :param str api_method: The API method to use to search for the folder. Valid values are `LIST` and `SEARCH`. Default Value is `LIST`. `LIST` is [strongly consistent](https://cloud.google.com/resource-manager/reference/rest/v3/folders/list#:~:text=list()%20provides%20a-,strongly%20consistent,-view%20of%20the) and requires `resourcemanager.folders.list` on the parent folder, while `SEARCH` is [eventually consistent](https://cloud.google.com/resource-manager/reference/rest/v3/folders/search#:~:text=eventually%20consistent) and only returns folders that the user has `resourcemanager.folders.get` permission on.
148
132
  :param str display_name: The folder's display name.
@@ -26,10 +26,13 @@ class GetClientConfigResult:
26
26
  """
27
27
  A collection of values returned by getClientConfig.
28
28
  """
29
- def __init__(__self__, access_token=None, id=None, project=None, region=None, zone=None):
29
+ def __init__(__self__, access_token=None, default_labels=None, id=None, project=None, region=None, zone=None):
30
30
  if access_token and not isinstance(access_token, str):
31
31
  raise TypeError("Expected argument 'access_token' to be a str")
32
32
  pulumi.set(__self__, "access_token", access_token)
33
+ if default_labels and not isinstance(default_labels, dict):
34
+ raise TypeError("Expected argument 'default_labels' to be a dict")
35
+ pulumi.set(__self__, "default_labels", default_labels)
33
36
  if id and not isinstance(id, str):
34
37
  raise TypeError("Expected argument 'id' to be a str")
35
38
  pulumi.set(__self__, "id", id)
@@ -51,6 +54,14 @@ class GetClientConfigResult:
51
54
  """
52
55
  return pulumi.get(self, "access_token")
53
56
 
57
+ @property
58
+ @pulumi.getter(name="defaultLabels")
59
+ def default_labels(self) -> Mapping[str, str]:
60
+ """
61
+ The default labels configured on the provider.
62
+ """
63
+ return pulumi.get(self, "default_labels")
64
+
54
65
  @property
55
66
  @pulumi.getter
56
67
  def id(self) -> str:
@@ -88,6 +99,7 @@ class AwaitableGetClientConfigResult(GetClientConfigResult):
88
99
  yield self
89
100
  return GetClientConfigResult(
90
101
  access_token=self.access_token,
102
+ default_labels=self.default_labels,
91
103
  id=self.id,
92
104
  project=self.project,
93
105
  region=self.region,
@@ -98,13 +110,7 @@ def get_client_config(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableG
98
110
  """
99
111
  ## Example Usage
100
112
 
101
- ```python
102
- import pulumi
103
- import pulumi_gcp as gcp
104
-
105
- current = gcp.organizations.get_client_config()
106
- pulumi.export("project", current.project)
107
- ```
113
+ ### Configure Kubernetes Provider With OAuth2 Access Token
108
114
  """
109
115
  __args__ = dict()
110
116
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
@@ -112,6 +118,7 @@ def get_client_config(opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableG
112
118
 
113
119
  return AwaitableGetClientConfigResult(
114
120
  access_token=pulumi.get(__ret__, 'access_token'),
121
+ default_labels=pulumi.get(__ret__, 'default_labels'),
115
122
  id=pulumi.get(__ret__, 'id'),
116
123
  project=pulumi.get(__ret__, 'project'),
117
124
  region=pulumi.get(__ret__, 'region'),
@@ -123,12 +130,6 @@ def get_client_config_output(opts: Optional[pulumi.InvokeOptions] = None) -> pul
123
130
  """
124
131
  ## Example Usage
125
132
 
126
- ```python
127
- import pulumi
128
- import pulumi_gcp as gcp
129
-
130
- current = gcp.organizations.get_client_config()
131
- pulumi.export("project", current.project)
132
- ```
133
+ ### Configure Kubernetes Provider With OAuth2 Access Token
133
134
  """
134
135
  ...
@@ -26,10 +26,13 @@ class GetFolderResult:
26
26
  """
27
27
  A collection of values returned by getFolder.
28
28
  """
29
- def __init__(__self__, create_time=None, display_name=None, folder=None, folder_id=None, id=None, lifecycle_state=None, lookup_organization=None, name=None, organization=None, parent=None):
29
+ def __init__(__self__, create_time=None, deletion_protection=None, display_name=None, folder=None, folder_id=None, id=None, lifecycle_state=None, lookup_organization=None, name=None, organization=None, parent=None):
30
30
  if create_time and not isinstance(create_time, str):
31
31
  raise TypeError("Expected argument 'create_time' to be a str")
32
32
  pulumi.set(__self__, "create_time", create_time)
33
+ if deletion_protection and not isinstance(deletion_protection, bool):
34
+ raise TypeError("Expected argument 'deletion_protection' to be a bool")
35
+ pulumi.set(__self__, "deletion_protection", deletion_protection)
33
36
  if display_name and not isinstance(display_name, str):
34
37
  raise TypeError("Expected argument 'display_name' to be a str")
35
38
  pulumi.set(__self__, "display_name", display_name)
@@ -66,6 +69,11 @@ class GetFolderResult:
66
69
  """
67
70
  return pulumi.get(self, "create_time")
68
71
 
72
+ @property
73
+ @pulumi.getter(name="deletionProtection")
74
+ def deletion_protection(self) -> bool:
75
+ return pulumi.get(self, "deletion_protection")
76
+
69
77
  @property
70
78
  @pulumi.getter(name="displayName")
71
79
  def display_name(self) -> str:
@@ -137,6 +145,7 @@ class AwaitableGetFolderResult(GetFolderResult):
137
145
  yield self
138
146
  return GetFolderResult(
139
147
  create_time=self.create_time,
148
+ deletion_protection=self.deletion_protection,
140
149
  display_name=self.display_name,
141
150
  folder=self.folder,
142
151
  folder_id=self.folder_id,
@@ -177,6 +186,7 @@ def get_folder(folder: Optional[str] = None,
177
186
 
178
187
  return AwaitableGetFolderResult(
179
188
  create_time=pulumi.get(__ret__, 'create_time'),
189
+ deletion_protection=pulumi.get(__ret__, 'deletion_protection'),
180
190
  display_name=pulumi.get(__ret__, 'display_name'),
181
191
  folder=pulumi.get(__ret__, 'folder'),
182
192
  folder_id=pulumi.get(__ret__, 'folder_id'),
@@ -26,7 +26,7 @@ class GetProjectResult:
26
26
  """
27
27
  A collection of values returned by getProject.
28
28
  """
29
- def __init__(__self__, auto_create_network=None, billing_account=None, deletion_policy=None, effective_labels=None, folder_id=None, id=None, labels=None, name=None, number=None, org_id=None, project_id=None, pulumi_labels=None, skip_delete=None):
29
+ def __init__(__self__, auto_create_network=None, billing_account=None, deletion_policy=None, effective_labels=None, folder_id=None, id=None, labels=None, name=None, number=None, org_id=None, project_id=None, pulumi_labels=None):
30
30
  if auto_create_network and not isinstance(auto_create_network, bool):
31
31
  raise TypeError("Expected argument 'auto_create_network' to be a bool")
32
32
  pulumi.set(__self__, "auto_create_network", auto_create_network)
@@ -63,9 +63,6 @@ class GetProjectResult:
63
63
  if pulumi_labels and not isinstance(pulumi_labels, dict):
64
64
  raise TypeError("Expected argument 'pulumi_labels' to be a dict")
65
65
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
66
- if skip_delete and not isinstance(skip_delete, bool):
67
- raise TypeError("Expected argument 'skip_delete' to be a bool")
68
- pulumi.set(__self__, "skip_delete", skip_delete)
69
66
 
70
67
  @property
71
68
  @pulumi.getter(name="autoCreateNetwork")
@@ -133,11 +130,6 @@ class GetProjectResult:
133
130
  def pulumi_labels(self) -> Mapping[str, str]:
134
131
  return pulumi.get(self, "pulumi_labels")
135
132
 
136
- @property
137
- @pulumi.getter(name="skipDelete")
138
- def skip_delete(self) -> bool:
139
- return pulumi.get(self, "skip_delete")
140
-
141
133
 
142
134
  class AwaitableGetProjectResult(GetProjectResult):
143
135
  # pylint: disable=using-constant-test
@@ -156,8 +148,7 @@ class AwaitableGetProjectResult(GetProjectResult):
156
148
  number=self.number,
157
149
  org_id=self.org_id,
158
150
  project_id=self.project_id,
159
- pulumi_labels=self.pulumi_labels,
160
- skip_delete=self.skip_delete)
151
+ pulumi_labels=self.pulumi_labels)
161
152
 
162
153
 
163
154
  def get_project(project_id: Optional[str] = None,
@@ -197,8 +188,7 @@ def get_project(project_id: Optional[str] = None,
197
188
  number=pulumi.get(__ret__, 'number'),
198
189
  org_id=pulumi.get(__ret__, 'org_id'),
199
190
  project_id=pulumi.get(__ret__, 'project_id'),
200
- pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
201
- skip_delete=pulumi.get(__ret__, 'skip_delete'))
191
+ pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'))
202
192
 
203
193
 
204
194
  @_utilities.lift_output_func(get_project)
@@ -26,8 +26,7 @@ class ProjectArgs:
26
26
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
27
27
  name: Optional[pulumi.Input[str]] = None,
28
28
  org_id: Optional[pulumi.Input[str]] = None,
29
- project_id: Optional[pulumi.Input[str]] = None,
30
- skip_delete: Optional[pulumi.Input[bool]] = None):
29
+ project_id: Optional[pulumi.Input[str]] = None):
31
30
  """
32
31
  The set of arguments for constructing a Project resource.
33
32
  :param pulumi.Input[bool] auto_create_network: Create the 'default' network automatically. Default true. If set to false, the default network will be deleted. Note
@@ -54,11 +53,6 @@ class ProjectArgs:
54
53
  this forces the project to be migrated to the newly specified
55
54
  organization.
56
55
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
57
- :param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
58
- deleting the Project via the Google API. `skip_delete` is deprecated and will be
59
- removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
60
- can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
61
- to a `deletion_policy` value of `ABANDON` for equivalent behavior.
62
56
  """
63
57
  if auto_create_network is not None:
64
58
  pulumi.set(__self__, "auto_create_network", auto_create_network)
@@ -76,11 +70,6 @@ class ProjectArgs:
76
70
  pulumi.set(__self__, "org_id", org_id)
77
71
  if project_id is not None:
78
72
  pulumi.set(__self__, "project_id", project_id)
79
- if skip_delete is not None:
80
- warnings.warn("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""", DeprecationWarning)
81
- pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
82
- if skip_delete is not None:
83
- pulumi.set(__self__, "skip_delete", skip_delete)
84
73
 
85
74
  @property
86
75
  @pulumi.getter(name="autoCreateNetwork")
@@ -192,23 +181,6 @@ class ProjectArgs:
192
181
  def project_id(self, value: Optional[pulumi.Input[str]]):
193
182
  pulumi.set(self, "project_id", value)
194
183
 
195
- @property
196
- @pulumi.getter(name="skipDelete")
197
- @_utilities.deprecated("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
198
- def skip_delete(self) -> Optional[pulumi.Input[bool]]:
199
- """
200
- If true, the resource can be deleted without
201
- deleting the Project via the Google API. `skip_delete` is deprecated and will be
202
- removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
203
- can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
204
- to a `deletion_policy` value of `ABANDON` for equivalent behavior.
205
- """
206
- return pulumi.get(self, "skip_delete")
207
-
208
- @skip_delete.setter
209
- def skip_delete(self, value: Optional[pulumi.Input[bool]]):
210
- pulumi.set(self, "skip_delete", value)
211
-
212
184
 
213
185
  @pulumi.input_type
214
186
  class _ProjectState:
@@ -223,8 +195,7 @@ class _ProjectState:
223
195
  number: Optional[pulumi.Input[str]] = None,
224
196
  org_id: Optional[pulumi.Input[str]] = None,
225
197
  project_id: Optional[pulumi.Input[str]] = None,
226
- pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
227
- skip_delete: Optional[pulumi.Input[bool]] = None):
198
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
228
199
  """
229
200
  Input properties used for looking up and filtering Project resources.
230
201
  :param pulumi.Input[bool] auto_create_network: Create the 'default' network automatically. Default true. If set to false, the default network will be deleted. Note
@@ -254,11 +225,6 @@ class _ProjectState:
254
225
  organization.
255
226
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
256
227
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
257
- :param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
258
- deleting the Project via the Google API. `skip_delete` is deprecated and will be
259
- removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
260
- can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
261
- to a `deletion_policy` value of `ABANDON` for equivalent behavior.
262
228
  """
263
229
  if auto_create_network is not None:
264
230
  pulumi.set(__self__, "auto_create_network", auto_create_network)
@@ -282,11 +248,6 @@ class _ProjectState:
282
248
  pulumi.set(__self__, "project_id", project_id)
283
249
  if pulumi_labels is not None:
284
250
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
285
- if skip_delete is not None:
286
- warnings.warn("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""", DeprecationWarning)
287
- pulumi.log.warn("""skip_delete is deprecated: skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
288
- if skip_delete is not None:
289
- pulumi.set(__self__, "skip_delete", skip_delete)
290
251
 
291
252
  @property
292
253
  @pulumi.getter(name="autoCreateNetwork")
@@ -434,23 +395,6 @@ class _ProjectState:
434
395
  def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
435
396
  pulumi.set(self, "pulumi_labels", value)
436
397
 
437
- @property
438
- @pulumi.getter(name="skipDelete")
439
- @_utilities.deprecated("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
440
- def skip_delete(self) -> Optional[pulumi.Input[bool]]:
441
- """
442
- If true, the resource can be deleted without
443
- deleting the Project via the Google API. `skip_delete` is deprecated and will be
444
- removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
445
- can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
446
- to a `deletion_policy` value of `ABANDON` for equivalent behavior.
447
- """
448
- return pulumi.get(self, "skip_delete")
449
-
450
- @skip_delete.setter
451
- def skip_delete(self, value: Optional[pulumi.Input[bool]]):
452
- pulumi.set(self, "skip_delete", value)
453
-
454
398
 
455
399
  class Project(pulumi.CustomResource):
456
400
  @overload
@@ -465,7 +409,6 @@ class Project(pulumi.CustomResource):
465
409
  name: Optional[pulumi.Input[str]] = None,
466
410
  org_id: Optional[pulumi.Input[str]] = None,
467
411
  project_id: Optional[pulumi.Input[str]] = None,
468
- skip_delete: Optional[pulumi.Input[bool]] = None,
469
412
  __props__=None):
470
413
  """
471
414
  Allows creation and management of a Google Cloud Platform project.
@@ -551,11 +494,6 @@ class Project(pulumi.CustomResource):
551
494
  this forces the project to be migrated to the newly specified
552
495
  organization.
553
496
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
554
- :param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
555
- deleting the Project via the Google API. `skip_delete` is deprecated and will be
556
- removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
557
- can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
558
- to a `deletion_policy` value of `ABANDON` for equivalent behavior.
559
497
  """
560
498
  ...
561
499
  @overload
@@ -644,7 +582,6 @@ class Project(pulumi.CustomResource):
644
582
  name: Optional[pulumi.Input[str]] = None,
645
583
  org_id: Optional[pulumi.Input[str]] = None,
646
584
  project_id: Optional[pulumi.Input[str]] = None,
647
- skip_delete: Optional[pulumi.Input[bool]] = None,
648
585
  __props__=None):
649
586
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
650
587
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -662,7 +599,6 @@ class Project(pulumi.CustomResource):
662
599
  __props__.__dict__["name"] = name
663
600
  __props__.__dict__["org_id"] = org_id
664
601
  __props__.__dict__["project_id"] = project_id
665
- __props__.__dict__["skip_delete"] = skip_delete
666
602
  __props__.__dict__["effective_labels"] = None
667
603
  __props__.__dict__["number"] = None
668
604
  __props__.__dict__["pulumi_labels"] = None
@@ -688,8 +624,7 @@ class Project(pulumi.CustomResource):
688
624
  number: Optional[pulumi.Input[str]] = None,
689
625
  org_id: Optional[pulumi.Input[str]] = None,
690
626
  project_id: Optional[pulumi.Input[str]] = None,
691
- pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
692
- skip_delete: Optional[pulumi.Input[bool]] = None) -> 'Project':
627
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None) -> 'Project':
693
628
  """
694
629
  Get an existing Project resource's state with the given name, id, and optional extra
695
630
  properties used to qualify the lookup.
@@ -724,11 +659,6 @@ class Project(pulumi.CustomResource):
724
659
  organization.
725
660
  :param pulumi.Input[str] project_id: The project ID. Changing this forces a new project to be created.
726
661
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource and default labels configured on the provider.
727
- :param pulumi.Input[bool] skip_delete: If true, the resource can be deleted without
728
- deleting the Project via the Google API. `skip_delete` is deprecated and will be
729
- removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
730
- can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
731
- to a `deletion_policy` value of `ABANDON` for equivalent behavior.
732
662
  """
733
663
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
734
664
 
@@ -745,7 +675,6 @@ class Project(pulumi.CustomResource):
745
675
  __props__.__dict__["org_id"] = org_id
746
676
  __props__.__dict__["project_id"] = project_id
747
677
  __props__.__dict__["pulumi_labels"] = pulumi_labels
748
- __props__.__dict__["skip_delete"] = skip_delete
749
678
  return Project(resource_name, opts=opts, __props__=__props__)
750
679
 
751
680
  @property
@@ -850,16 +779,3 @@ class Project(pulumi.CustomResource):
850
779
  """
851
780
  return pulumi.get(self, "pulumi_labels")
852
781
 
853
- @property
854
- @pulumi.getter(name="skipDelete")
855
- @_utilities.deprecated("""skip_delete is deprecated and will be removed in 6.0.0. Please use deletion_policy instead. A skip_delete value of false can be changed to a deletion_policy value of DELETE and a skip_delete value of true to a deletion_policy value of ABANDON for equivalent behavior.""")
856
- def skip_delete(self) -> pulumi.Output[bool]:
857
- """
858
- If true, the resource can be deleted without
859
- deleting the Project via the Google API. `skip_delete` is deprecated and will be
860
- removed in 6.0.0. Please use deletion_policy instead. A `skip_delete` value of `false`
861
- can be changed to a `deletion_policy` value of `DELETE` and a `skip_delete` value of `true`
862
- to a `deletion_policy` value of `ABANDON` for equivalent behavior.
863
- """
864
- return pulumi.get(self, "skip_delete")
865
-
@@ -228,7 +228,8 @@ class Policy(pulumi.CustomResource):
228
228
  basic = gcp.organizations.Project("basic",
229
229
  project_id="id",
230
230
  name="id",
231
- org_id="123456789")
231
+ org_id="123456789",
232
+ deletion_policy="DELETE")
232
233
  primary = gcp.orgpolicy.Policy("primary",
233
234
  name=basic.name.apply(lambda name: f"projects/{name}/policies/iam.disableServiceAccountKeyUpload"),
234
235
  parent=basic.name.apply(lambda name: f"projects/{name}"),
@@ -246,7 +247,8 @@ class Policy(pulumi.CustomResource):
246
247
 
247
248
  basic = gcp.organizations.Folder("basic",
248
249
  parent="organizations/123456789",
249
- display_name="folder")
250
+ display_name="folder",
251
+ deletion_protection=False)
250
252
  primary = gcp.orgpolicy.Policy("primary",
251
253
  name=basic.name.apply(lambda name: f"{name}/policies/gcp.resourceLocations"),
252
254
  parent=basic.name,
@@ -279,7 +281,8 @@ class Policy(pulumi.CustomResource):
279
281
  basic = gcp.organizations.Project("basic",
280
282
  project_id="id",
281
283
  name="id",
282
- org_id="123456789")
284
+ org_id="123456789",
285
+ deletion_policy="DELETE")
283
286
  primary = gcp.orgpolicy.Policy("primary",
284
287
  name=basic.name.apply(lambda name: f"projects/{name}/policies/gcp.resourceLocations"),
285
288
  parent=basic.name.apply(lambda name: f"projects/{name}"),
@@ -386,7 +389,8 @@ class Policy(pulumi.CustomResource):
386
389
  basic = gcp.organizations.Project("basic",
387
390
  project_id="id",
388
391
  name="id",
389
- org_id="123456789")
392
+ org_id="123456789",
393
+ deletion_policy="DELETE")
390
394
  primary = gcp.orgpolicy.Policy("primary",
391
395
  name=basic.name.apply(lambda name: f"projects/{name}/policies/iam.disableServiceAccountKeyUpload"),
392
396
  parent=basic.name.apply(lambda name: f"projects/{name}"),
@@ -404,7 +408,8 @@ class Policy(pulumi.CustomResource):
404
408
 
405
409
  basic = gcp.organizations.Folder("basic",
406
410
  parent="organizations/123456789",
407
- display_name="folder")
411
+ display_name="folder",
412
+ deletion_protection=False)
408
413
  primary = gcp.orgpolicy.Policy("primary",
409
414
  name=basic.name.apply(lambda name: f"{name}/policies/gcp.resourceLocations"),
410
415
  parent=basic.name,
@@ -437,7 +442,8 @@ class Policy(pulumi.CustomResource):
437
442
  basic = gcp.organizations.Project("basic",
438
443
  project_id="id",
439
444
  name="id",
440
- org_id="123456789")
445
+ org_id="123456789",
446
+ deletion_policy="DELETE")
441
447
  primary = gcp.orgpolicy.Policy("primary",
442
448
  name=basic.name.apply(lambda name: f"projects/{name}/policies/gcp.resourceLocations"),
443
449
  parent=basic.name.apply(lambda name: f"projects/{name}"),