pulumi-gcp 8.20.0a1739946722__py3-none-any.whl → 8.21.0a1740551699__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 (189) hide show
  1. pulumi_gcp/__init__.py +48 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +168 -8
  3. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +2 -2
  4. pulumi_gcp/accesscontextmanager/outputs.py +104 -8
  5. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +78 -3
  6. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +78 -3
  7. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +78 -3
  8. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +78 -3
  9. pulumi_gcp/alloydb/__init__.py +1 -0
  10. pulumi_gcp/alloydb/get_instance.py +466 -0
  11. pulumi_gcp/alloydb/outputs.py +352 -0
  12. pulumi_gcp/apigateway/get_api_config_iam_policy.py +20 -2
  13. pulumi_gcp/apigateway/get_api_iam_policy.py +20 -2
  14. pulumi_gcp/apigateway/get_gateway_iam_policy.py +22 -2
  15. pulumi_gcp/apigee/get_environment_iam_policy.py +2 -2
  16. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +2 -2
  17. pulumi_gcp/beyondcorp/get_application_iam_policy.py +2 -2
  18. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +2 -2
  19. pulumi_gcp/bigquery/connection.py +2 -14
  20. pulumi_gcp/bigquery/get_connection_iam_policy.py +2 -2
  21. pulumi_gcp/bigquery/get_table_iam_policy.py +2 -2
  22. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +8 -8
  23. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +8 -8
  24. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +8 -8
  25. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +2 -2
  26. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +2 -2
  27. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +8 -8
  28. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +8 -8
  29. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +8 -8
  30. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +2 -2
  31. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +2 -2
  32. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +2 -2
  33. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +2 -2
  34. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -2
  35. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +2 -2
  36. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +2 -2
  37. pulumi_gcp/clouddeploy/get_target_iam_policy.py +2 -2
  38. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +2 -2
  39. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +2 -2
  40. pulumi_gcp/cloudrun/_inputs.py +6 -3
  41. pulumi_gcp/cloudrun/get_service_iam_policy.py +2 -2
  42. pulumi_gcp/cloudrun/outputs.py +4 -2
  43. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +2 -2
  44. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +2 -2
  45. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +2 -2
  46. pulumi_gcp/colab/get_runtime_template_iam_policy.py +2 -2
  47. pulumi_gcp/composer/_inputs.py +6 -6
  48. pulumi_gcp/composer/outputs.py +8 -8
  49. pulumi_gcp/compute/_inputs.py +756 -30
  50. pulumi_gcp/compute/firewall_policy_rule.py +0 -2
  51. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +20 -2
  52. pulumi_gcp/compute/get_backend_service_iam_policy.py +20 -2
  53. pulumi_gcp/compute/get_disk_iam_policy.py +2 -2
  54. pulumi_gcp/compute/get_hc_vpn_gateway.py +45 -1
  55. pulumi_gcp/compute/get_image_iam_policy.py +2 -2
  56. pulumi_gcp/compute/get_instance_iam_policy.py +2 -2
  57. pulumi_gcp/compute/get_instance_template_iam_policy.py +2 -2
  58. pulumi_gcp/compute/get_machine_image_iam_policy.py +20 -2
  59. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +22 -2
  60. pulumi_gcp/compute/get_region_disk_iam_policy.py +2 -2
  61. pulumi_gcp/compute/get_snapshot_iam_policy.py +2 -2
  62. pulumi_gcp/compute/get_subnetwork_iam_policy.py +2 -2
  63. pulumi_gcp/compute/ha_vpn_gateway.py +189 -2
  64. pulumi_gcp/compute/instance_template.py +14 -35
  65. pulumi_gcp/compute/outputs.py +796 -18
  66. pulumi_gcp/config/__init__.pyi +2 -0
  67. pulumi_gcp/config/vars.py +4 -0
  68. pulumi_gcp/container/_inputs.py +447 -3
  69. pulumi_gcp/container/outputs.py +469 -5
  70. pulumi_gcp/containeranalysis/get_note_iam_policy.py +2 -2
  71. pulumi_gcp/datacatalog/entry_group_iam_binding.py +8 -8
  72. pulumi_gcp/datacatalog/entry_group_iam_member.py +8 -8
  73. pulumi_gcp/datacatalog/entry_group_iam_policy.py +8 -8
  74. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +2 -2
  75. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +2 -2
  76. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +2 -2
  77. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +2 -2
  78. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +8 -8
  79. pulumi_gcp/datacatalog/policy_tag_iam_member.py +8 -8
  80. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +8 -8
  81. pulumi_gcp/datacatalog/tag_template_iam_binding.py +8 -8
  82. pulumi_gcp/datacatalog/tag_template_iam_member.py +8 -8
  83. pulumi_gcp/datacatalog/tag_template_iam_policy.py +8 -8
  84. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +8 -8
  85. pulumi_gcp/datacatalog/taxonomy_iam_member.py +8 -8
  86. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +8 -8
  87. pulumi_gcp/dataform/get_repository_iam_policy.py +22 -2
  88. pulumi_gcp/datafusion/get_instance_iam_policy.py +2 -2
  89. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +2 -2
  90. pulumi_gcp/dataplex/get_asset_iam_policy.py +2 -2
  91. pulumi_gcp/dataplex/get_datascan_iam_policy.py +2 -2
  92. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +2 -2
  93. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +2 -2
  94. pulumi_gcp/dataplex/get_lake_iam_policy.py +2 -2
  95. pulumi_gcp/dataplex/get_task_iam_policy.py +2 -2
  96. pulumi_gcp/dataplex/get_zone_iam_policy.py +2 -2
  97. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +2 -2
  98. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +2 -2
  99. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +2 -2
  100. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +8 -8
  101. pulumi_gcp/dataproc/metastore_federation_iam_member.py +8 -8
  102. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +8 -8
  103. pulumi_gcp/dataproc/metastore_service_iam_binding.py +8 -8
  104. pulumi_gcp/dataproc/metastore_service_iam_member.py +8 -8
  105. pulumi_gcp/dataproc/metastore_service_iam_policy.py +8 -8
  106. pulumi_gcp/dns/get_managed_zone_iam_policy.py +2 -2
  107. pulumi_gcp/endpoints/get_service_iam_policy.py +2 -2
  108. pulumi_gcp/eventarc/_inputs.py +29 -8
  109. pulumi_gcp/eventarc/google_channel_config.py +58 -46
  110. pulumi_gcp/eventarc/outputs.py +20 -6
  111. pulumi_gcp/eventarc/trigger.py +95 -72
  112. pulumi_gcp/filestore/backup.py +4 -4
  113. pulumi_gcp/firebase/__init__.py +1 -0
  114. pulumi_gcp/firebase/data_connect_service.py +937 -0
  115. pulumi_gcp/gemini/__init__.py +4 -0
  116. pulumi_gcp/gemini/data_sharing_with_google_setting.py +607 -0
  117. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +608 -0
  118. pulumi_gcp/gemini/get_repository_group_iam_policy.py +2 -2
  119. pulumi_gcp/gemini/logging_setting.py +42 -54
  120. pulumi_gcp/gemini/logging_setting_binding.py +722 -0
  121. pulumi_gcp/gemini/release_channel_setting.py +39 -43
  122. pulumi_gcp/gemini/release_channel_setting_binding.py +734 -0
  123. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +2 -2
  124. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +2 -2
  125. pulumi_gcp/gkehub/get_feature_iam_policy.py +2 -2
  126. pulumi_gcp/gkehub/get_membership_iam_policy.py +2 -2
  127. pulumi_gcp/gkehub/get_scope_iam_policy.py +2 -2
  128. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +2 -2
  129. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +2 -2
  130. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +2 -2
  131. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +2 -2
  132. pulumi_gcp/iap/get_tunnel_iam_policy.py +2 -2
  133. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +2 -2
  134. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +2 -2
  135. pulumi_gcp/iap/get_web_iam_policy.py +2 -2
  136. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +2 -2
  137. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +2 -2
  138. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +2 -2
  139. pulumi_gcp/kms/get_ekm_connection_iam_policy.py +2 -2
  140. pulumi_gcp/logging/get_log_view_iam_policy.py +2 -2
  141. pulumi_gcp/monitoring/_inputs.py +588 -0
  142. pulumi_gcp/monitoring/outputs.py +410 -0
  143. pulumi_gcp/netapp/__init__.py +1 -0
  144. pulumi_gcp/netapp/volume_quota_rule.py +895 -0
  145. pulumi_gcp/networksecurity/address_group_iam_binding.py +4 -4
  146. pulumi_gcp/networksecurity/address_group_iam_member.py +4 -4
  147. pulumi_gcp/networksecurity/address_group_iam_policy.py +4 -4
  148. pulumi_gcp/networkservices/authz_extension.py +8 -15
  149. pulumi_gcp/networkservices/mesh.py +79 -12
  150. pulumi_gcp/notebooks/get_instance_iam_policy.py +2 -2
  151. pulumi_gcp/notebooks/get_runtime_iam_policy.py +2 -2
  152. pulumi_gcp/provider.py +20 -0
  153. pulumi_gcp/pubsub/get_schema_iam_policy.py +2 -2
  154. pulumi_gcp/pubsub/get_topic_iam_policy.py +2 -2
  155. pulumi_gcp/pulumi-plugin.json +1 -1
  156. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +20 -2
  157. pulumi_gcp/secretmanager/get_regional_secret_iam_policy.py +2 -2
  158. pulumi_gcp/secretmanager/get_secret_iam_policy.py +2 -2
  159. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +2 -2
  160. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +2 -2
  161. pulumi_gcp/securitycenter/get_source_iam_policy.py +2 -2
  162. pulumi_gcp/securitycenter/get_v2_organization_source_iam_policy.py +2 -2
  163. pulumi_gcp/securitycenter/mute_config.py +136 -3
  164. pulumi_gcp/securitycenter/v2_folder_notification_config.py +2 -14
  165. pulumi_gcp/securitycenter/v2_organization_notification_config.py +2 -14
  166. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +8 -8
  167. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +8 -8
  168. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +8 -8
  169. pulumi_gcp/securitycenter/v2_project_notification_config.py +2 -14
  170. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +18 -2
  171. pulumi_gcp/servicedirectory/get_service_iam_policy.py +18 -2
  172. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +2 -2
  173. pulumi_gcp/spanner/instance.py +0 -46
  174. pulumi_gcp/sql/_inputs.py +6 -6
  175. pulumi_gcp/sql/outputs.py +4 -4
  176. pulumi_gcp/storage/bucket.py +30 -0
  177. pulumi_gcp/storage/get_bucket_iam_policy.py +2 -2
  178. pulumi_gcp/tags/get_tag_key_iam_policy.py +2 -2
  179. pulumi_gcp/tags/get_tag_value_iam_policy.py +2 -2
  180. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +22 -2
  181. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +20 -2
  182. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +22 -2
  183. pulumi_gcp/workbench/get_instance_iam_policy.py +2 -2
  184. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +24 -2
  185. pulumi_gcp/workstations/get_workstation_iam_policy.py +26 -2
  186. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.21.0a1740551699.dist-info}/METADATA +1 -1
  187. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.21.0a1740551699.dist-info}/RECORD +189 -182
  188. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.21.0a1740551699.dist-info}/WHEEL +1 -1
  189. {pulumi_gcp-8.20.0a1739946722.dist-info → pulumi_gcp-8.21.0a1740551699.dist-info}/top_level.txt +0 -0
@@ -23,7 +23,8 @@ class ServicePerimeterDryRunIngressPolicyArgs:
23
23
  def __init__(__self__, *,
24
24
  perimeter: pulumi.Input[str],
25
25
  ingress_from: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromArgs']] = None,
26
- ingress_to: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToArgs']] = None):
26
+ ingress_to: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToArgs']] = None,
27
+ title: Optional[pulumi.Input[str]] = None):
27
28
  """
28
29
  The set of arguments for constructing a ServicePerimeterDryRunIngressPolicy resource.
29
30
  :param pulumi.Input[str] perimeter: The name of the Service Perimeter to add this resource to.
@@ -36,12 +37,15 @@ class ServicePerimeterDryRunIngressPolicyArgs:
36
37
  :param pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToArgs'] ingress_to: Defines the conditions on the `ApiOperation` and request destination that cause
37
38
  this `IngressPolicy` to apply.
38
39
  Structure is documented below.
40
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
39
41
  """
40
42
  pulumi.set(__self__, "perimeter", perimeter)
41
43
  if ingress_from is not None:
42
44
  pulumi.set(__self__, "ingress_from", ingress_from)
43
45
  if ingress_to is not None:
44
46
  pulumi.set(__self__, "ingress_to", ingress_to)
47
+ if title is not None:
48
+ pulumi.set(__self__, "title", title)
45
49
 
46
50
  @property
47
51
  @pulumi.getter
@@ -86,17 +90,32 @@ class ServicePerimeterDryRunIngressPolicyArgs:
86
90
  def ingress_to(self, value: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToArgs']]):
87
91
  pulumi.set(self, "ingress_to", value)
88
92
 
93
+ @property
94
+ @pulumi.getter
95
+ def title(self) -> Optional[pulumi.Input[str]]:
96
+ """
97
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
98
+ """
99
+ return pulumi.get(self, "title")
100
+
101
+ @title.setter
102
+ def title(self, value: Optional[pulumi.Input[str]]):
103
+ pulumi.set(self, "title", value)
104
+
89
105
 
90
106
  @pulumi.input_type
91
107
  class _ServicePerimeterDryRunIngressPolicyState:
92
108
  def __init__(__self__, *,
93
109
  access_policy_id: Optional[pulumi.Input[str]] = None,
110
+ etag: Optional[pulumi.Input[str]] = None,
94
111
  ingress_from: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromArgs']] = None,
95
112
  ingress_to: Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressToArgs']] = None,
96
- perimeter: Optional[pulumi.Input[str]] = None):
113
+ perimeter: Optional[pulumi.Input[str]] = None,
114
+ title: Optional[pulumi.Input[str]] = None):
97
115
  """
98
116
  Input properties used for looking up and filtering ServicePerimeterDryRunIngressPolicy resources.
99
117
  :param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
118
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
100
119
  :param pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromArgs'] ingress_from: Defines the conditions on the source of a request causing this `IngressPolicy`
101
120
  to apply.
102
121
  Structure is documented below.
@@ -107,15 +126,20 @@ class _ServicePerimeterDryRunIngressPolicyState:
107
126
 
108
127
 
109
128
  - - -
129
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
110
130
  """
111
131
  if access_policy_id is not None:
112
132
  pulumi.set(__self__, "access_policy_id", access_policy_id)
133
+ if etag is not None:
134
+ pulumi.set(__self__, "etag", etag)
113
135
  if ingress_from is not None:
114
136
  pulumi.set(__self__, "ingress_from", ingress_from)
115
137
  if ingress_to is not None:
116
138
  pulumi.set(__self__, "ingress_to", ingress_to)
117
139
  if perimeter is not None:
118
140
  pulumi.set(__self__, "perimeter", perimeter)
141
+ if title is not None:
142
+ pulumi.set(__self__, "title", title)
119
143
 
120
144
  @property
121
145
  @pulumi.getter(name="accessPolicyId")
@@ -129,6 +153,18 @@ class _ServicePerimeterDryRunIngressPolicyState:
129
153
  def access_policy_id(self, value: Optional[pulumi.Input[str]]):
130
154
  pulumi.set(self, "access_policy_id", value)
131
155
 
156
+ @property
157
+ @pulumi.getter
158
+ def etag(self) -> Optional[pulumi.Input[str]]:
159
+ """
160
+ The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
161
+ """
162
+ return pulumi.get(self, "etag")
163
+
164
+ @etag.setter
165
+ def etag(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "etag", value)
167
+
132
168
  @property
133
169
  @pulumi.getter(name="ingressFrom")
134
170
  def ingress_from(self) -> Optional[pulumi.Input['ServicePerimeterDryRunIngressPolicyIngressFromArgs']]:
@@ -172,6 +208,18 @@ class _ServicePerimeterDryRunIngressPolicyState:
172
208
  def perimeter(self, value: Optional[pulumi.Input[str]]):
173
209
  pulumi.set(self, "perimeter", value)
174
210
 
211
+ @property
212
+ @pulumi.getter
213
+ def title(self) -> Optional[pulumi.Input[str]]:
214
+ """
215
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
216
+ """
217
+ return pulumi.get(self, "title")
218
+
219
+ @title.setter
220
+ def title(self, value: Optional[pulumi.Input[str]]):
221
+ pulumi.set(self, "title", value)
222
+
175
223
 
176
224
  class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
177
225
  @overload
@@ -181,6 +229,7 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
181
229
  ingress_from: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressFromArgs', 'ServicePerimeterDryRunIngressPolicyIngressFromArgsDict']]] = None,
182
230
  ingress_to: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressToArgs', 'ServicePerimeterDryRunIngressPolicyIngressToArgsDict']]] = None,
183
231
  perimeter: Optional[pulumi.Input[str]] = None,
232
+ title: Optional[pulumi.Input[str]] = None,
184
233
  __props__=None):
185
234
  """
186
235
  Manage a single IngressPolicy in the spec (dry-run) configuration for a service perimeter.
@@ -220,6 +269,7 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
220
269
 
221
270
 
222
271
  - - -
272
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
223
273
  """
224
274
  ...
225
275
  @overload
@@ -271,6 +321,7 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
271
321
  ingress_from: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressFromArgs', 'ServicePerimeterDryRunIngressPolicyIngressFromArgsDict']]] = None,
272
322
  ingress_to: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressToArgs', 'ServicePerimeterDryRunIngressPolicyIngressToArgsDict']]] = None,
273
323
  perimeter: Optional[pulumi.Input[str]] = None,
324
+ title: Optional[pulumi.Input[str]] = None,
274
325
  __props__=None):
275
326
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
276
327
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -285,7 +336,9 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
285
336
  if perimeter is None and not opts.urn:
286
337
  raise TypeError("Missing required property 'perimeter'")
287
338
  __props__.__dict__["perimeter"] = perimeter
339
+ __props__.__dict__["title"] = title
288
340
  __props__.__dict__["access_policy_id"] = None
341
+ __props__.__dict__["etag"] = None
289
342
  super(ServicePerimeterDryRunIngressPolicy, __self__).__init__(
290
343
  'gcp:accesscontextmanager/servicePerimeterDryRunIngressPolicy:ServicePerimeterDryRunIngressPolicy',
291
344
  resource_name,
@@ -297,9 +350,11 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
297
350
  id: pulumi.Input[str],
298
351
  opts: Optional[pulumi.ResourceOptions] = None,
299
352
  access_policy_id: Optional[pulumi.Input[str]] = None,
353
+ etag: Optional[pulumi.Input[str]] = None,
300
354
  ingress_from: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressFromArgs', 'ServicePerimeterDryRunIngressPolicyIngressFromArgsDict']]] = None,
301
355
  ingress_to: Optional[pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressToArgs', 'ServicePerimeterDryRunIngressPolicyIngressToArgsDict']]] = None,
302
- perimeter: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterDryRunIngressPolicy':
356
+ perimeter: Optional[pulumi.Input[str]] = None,
357
+ title: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterDryRunIngressPolicy':
303
358
  """
304
359
  Get an existing ServicePerimeterDryRunIngressPolicy resource's state with the given name, id, and optional extra
305
360
  properties used to qualify the lookup.
@@ -308,6 +363,7 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
308
363
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
309
364
  :param pulumi.ResourceOptions opts: Options for the resource.
310
365
  :param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
366
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
311
367
  :param pulumi.Input[Union['ServicePerimeterDryRunIngressPolicyIngressFromArgs', 'ServicePerimeterDryRunIngressPolicyIngressFromArgsDict']] ingress_from: Defines the conditions on the source of a request causing this `IngressPolicy`
312
368
  to apply.
313
369
  Structure is documented below.
@@ -318,15 +374,18 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
318
374
 
319
375
 
320
376
  - - -
377
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
321
378
  """
322
379
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
323
380
 
324
381
  __props__ = _ServicePerimeterDryRunIngressPolicyState.__new__(_ServicePerimeterDryRunIngressPolicyState)
325
382
 
326
383
  __props__.__dict__["access_policy_id"] = access_policy_id
384
+ __props__.__dict__["etag"] = etag
327
385
  __props__.__dict__["ingress_from"] = ingress_from
328
386
  __props__.__dict__["ingress_to"] = ingress_to
329
387
  __props__.__dict__["perimeter"] = perimeter
388
+ __props__.__dict__["title"] = title
330
389
  return ServicePerimeterDryRunIngressPolicy(resource_name, opts=opts, __props__=__props__)
331
390
 
332
391
  @property
@@ -337,6 +396,14 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
337
396
  """
338
397
  return pulumi.get(self, "access_policy_id")
339
398
 
399
+ @property
400
+ @pulumi.getter
401
+ def etag(self) -> pulumi.Output[str]:
402
+ """
403
+ The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
404
+ """
405
+ return pulumi.get(self, "etag")
406
+
340
407
  @property
341
408
  @pulumi.getter(name="ingressFrom")
342
409
  def ingress_from(self) -> pulumi.Output[Optional['outputs.ServicePerimeterDryRunIngressPolicyIngressFrom']]:
@@ -368,3 +435,11 @@ class ServicePerimeterDryRunIngressPolicy(pulumi.CustomResource):
368
435
  """
369
436
  return pulumi.get(self, "perimeter")
370
437
 
438
+ @property
439
+ @pulumi.getter
440
+ def title(self) -> pulumi.Output[Optional[str]]:
441
+ """
442
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
443
+ """
444
+ return pulumi.get(self, "title")
445
+
@@ -23,7 +23,8 @@ class ServicePerimeterEgressPolicyArgs:
23
23
  def __init__(__self__, *,
24
24
  perimeter: pulumi.Input[str],
25
25
  egress_from: Optional[pulumi.Input['ServicePerimeterEgressPolicyEgressFromArgs']] = None,
26
- egress_to: Optional[pulumi.Input['ServicePerimeterEgressPolicyEgressToArgs']] = None):
26
+ egress_to: Optional[pulumi.Input['ServicePerimeterEgressPolicyEgressToArgs']] = None,
27
+ title: Optional[pulumi.Input[str]] = None):
27
28
  """
28
29
  The set of arguments for constructing a ServicePerimeterEgressPolicy resource.
29
30
  :param pulumi.Input[str] perimeter: The name of the Service Perimeter to add this resource to.
@@ -35,12 +36,15 @@ class ServicePerimeterEgressPolicyArgs:
35
36
  :param pulumi.Input['ServicePerimeterEgressPolicyEgressToArgs'] egress_to: Defines the conditions on the `ApiOperation` and destination resources that
36
37
  cause this `EgressPolicy` to apply.
37
38
  Structure is documented below.
39
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
38
40
  """
39
41
  pulumi.set(__self__, "perimeter", perimeter)
40
42
  if egress_from is not None:
41
43
  pulumi.set(__self__, "egress_from", egress_from)
42
44
  if egress_to is not None:
43
45
  pulumi.set(__self__, "egress_to", egress_to)
46
+ if title is not None:
47
+ pulumi.set(__self__, "title", title)
44
48
 
45
49
  @property
46
50
  @pulumi.getter
@@ -84,6 +88,18 @@ class ServicePerimeterEgressPolicyArgs:
84
88
  def egress_to(self, value: Optional[pulumi.Input['ServicePerimeterEgressPolicyEgressToArgs']]):
85
89
  pulumi.set(self, "egress_to", value)
86
90
 
91
+ @property
92
+ @pulumi.getter
93
+ def title(self) -> Optional[pulumi.Input[str]]:
94
+ """
95
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
96
+ """
97
+ return pulumi.get(self, "title")
98
+
99
+ @title.setter
100
+ def title(self, value: Optional[pulumi.Input[str]]):
101
+ pulumi.set(self, "title", value)
102
+
87
103
 
88
104
  @pulumi.input_type
89
105
  class _ServicePerimeterEgressPolicyState:
@@ -91,7 +107,9 @@ class _ServicePerimeterEgressPolicyState:
91
107
  access_policy_id: Optional[pulumi.Input[str]] = None,
92
108
  egress_from: Optional[pulumi.Input['ServicePerimeterEgressPolicyEgressFromArgs']] = None,
93
109
  egress_to: Optional[pulumi.Input['ServicePerimeterEgressPolicyEgressToArgs']] = None,
94
- perimeter: Optional[pulumi.Input[str]] = None):
110
+ etag: Optional[pulumi.Input[str]] = None,
111
+ perimeter: Optional[pulumi.Input[str]] = None,
112
+ title: Optional[pulumi.Input[str]] = None):
95
113
  """
96
114
  Input properties used for looking up and filtering ServicePerimeterEgressPolicy resources.
97
115
  :param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
@@ -100,10 +118,12 @@ class _ServicePerimeterEgressPolicyState:
100
118
  :param pulumi.Input['ServicePerimeterEgressPolicyEgressToArgs'] egress_to: Defines the conditions on the `ApiOperation` and destination resources that
101
119
  cause this `EgressPolicy` to apply.
102
120
  Structure is documented below.
121
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
103
122
  :param pulumi.Input[str] perimeter: The name of the Service Perimeter to add this resource to.
104
123
 
105
124
 
106
125
  - - -
126
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
107
127
  """
108
128
  if access_policy_id is not None:
109
129
  pulumi.set(__self__, "access_policy_id", access_policy_id)
@@ -111,8 +131,12 @@ class _ServicePerimeterEgressPolicyState:
111
131
  pulumi.set(__self__, "egress_from", egress_from)
112
132
  if egress_to is not None:
113
133
  pulumi.set(__self__, "egress_to", egress_to)
134
+ if etag is not None:
135
+ pulumi.set(__self__, "etag", etag)
114
136
  if perimeter is not None:
115
137
  pulumi.set(__self__, "perimeter", perimeter)
138
+ if title is not None:
139
+ pulumi.set(__self__, "title", title)
116
140
 
117
141
  @property
118
142
  @pulumi.getter(name="accessPolicyId")
@@ -153,6 +177,18 @@ class _ServicePerimeterEgressPolicyState:
153
177
  def egress_to(self, value: Optional[pulumi.Input['ServicePerimeterEgressPolicyEgressToArgs']]):
154
178
  pulumi.set(self, "egress_to", value)
155
179
 
180
+ @property
181
+ @pulumi.getter
182
+ def etag(self) -> Optional[pulumi.Input[str]]:
183
+ """
184
+ The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
185
+ """
186
+ return pulumi.get(self, "etag")
187
+
188
+ @etag.setter
189
+ def etag(self, value: Optional[pulumi.Input[str]]):
190
+ pulumi.set(self, "etag", value)
191
+
156
192
  @property
157
193
  @pulumi.getter
158
194
  def perimeter(self) -> Optional[pulumi.Input[str]]:
@@ -168,6 +204,18 @@ class _ServicePerimeterEgressPolicyState:
168
204
  def perimeter(self, value: Optional[pulumi.Input[str]]):
169
205
  pulumi.set(self, "perimeter", value)
170
206
 
207
+ @property
208
+ @pulumi.getter
209
+ def title(self) -> Optional[pulumi.Input[str]]:
210
+ """
211
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
212
+ """
213
+ return pulumi.get(self, "title")
214
+
215
+ @title.setter
216
+ def title(self, value: Optional[pulumi.Input[str]]):
217
+ pulumi.set(self, "title", value)
218
+
171
219
 
172
220
  class ServicePerimeterEgressPolicy(pulumi.CustomResource):
173
221
  @overload
@@ -177,6 +225,7 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
177
225
  egress_from: Optional[pulumi.Input[Union['ServicePerimeterEgressPolicyEgressFromArgs', 'ServicePerimeterEgressPolicyEgressFromArgsDict']]] = None,
178
226
  egress_to: Optional[pulumi.Input[Union['ServicePerimeterEgressPolicyEgressToArgs', 'ServicePerimeterEgressPolicyEgressToArgsDict']]] = None,
179
227
  perimeter: Optional[pulumi.Input[str]] = None,
228
+ title: Optional[pulumi.Input[str]] = None,
180
229
  __props__=None):
181
230
  """
182
231
  Manage a single EgressPolicy in the status (enforced) configuration for a service perimeter.
@@ -214,6 +263,7 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
214
263
 
215
264
 
216
265
  - - -
266
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
217
267
  """
218
268
  ...
219
269
  @overload
@@ -264,6 +314,7 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
264
314
  egress_from: Optional[pulumi.Input[Union['ServicePerimeterEgressPolicyEgressFromArgs', 'ServicePerimeterEgressPolicyEgressFromArgsDict']]] = None,
265
315
  egress_to: Optional[pulumi.Input[Union['ServicePerimeterEgressPolicyEgressToArgs', 'ServicePerimeterEgressPolicyEgressToArgsDict']]] = None,
266
316
  perimeter: Optional[pulumi.Input[str]] = None,
317
+ title: Optional[pulumi.Input[str]] = None,
267
318
  __props__=None):
268
319
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
269
320
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -278,7 +329,9 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
278
329
  if perimeter is None and not opts.urn:
279
330
  raise TypeError("Missing required property 'perimeter'")
280
331
  __props__.__dict__["perimeter"] = perimeter
332
+ __props__.__dict__["title"] = title
281
333
  __props__.__dict__["access_policy_id"] = None
334
+ __props__.__dict__["etag"] = None
282
335
  super(ServicePerimeterEgressPolicy, __self__).__init__(
283
336
  'gcp:accesscontextmanager/servicePerimeterEgressPolicy:ServicePerimeterEgressPolicy',
284
337
  resource_name,
@@ -292,7 +345,9 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
292
345
  access_policy_id: Optional[pulumi.Input[str]] = None,
293
346
  egress_from: Optional[pulumi.Input[Union['ServicePerimeterEgressPolicyEgressFromArgs', 'ServicePerimeterEgressPolicyEgressFromArgsDict']]] = None,
294
347
  egress_to: Optional[pulumi.Input[Union['ServicePerimeterEgressPolicyEgressToArgs', 'ServicePerimeterEgressPolicyEgressToArgsDict']]] = None,
295
- perimeter: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterEgressPolicy':
348
+ etag: Optional[pulumi.Input[str]] = None,
349
+ perimeter: Optional[pulumi.Input[str]] = None,
350
+ title: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterEgressPolicy':
296
351
  """
297
352
  Get an existing ServicePerimeterEgressPolicy resource's state with the given name, id, and optional extra
298
353
  properties used to qualify the lookup.
@@ -306,10 +361,12 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
306
361
  :param pulumi.Input[Union['ServicePerimeterEgressPolicyEgressToArgs', 'ServicePerimeterEgressPolicyEgressToArgsDict']] egress_to: Defines the conditions on the `ApiOperation` and destination resources that
307
362
  cause this `EgressPolicy` to apply.
308
363
  Structure is documented below.
364
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
309
365
  :param pulumi.Input[str] perimeter: The name of the Service Perimeter to add this resource to.
310
366
 
311
367
 
312
368
  - - -
369
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
313
370
  """
314
371
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
315
372
 
@@ -318,7 +375,9 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
318
375
  __props__.__dict__["access_policy_id"] = access_policy_id
319
376
  __props__.__dict__["egress_from"] = egress_from
320
377
  __props__.__dict__["egress_to"] = egress_to
378
+ __props__.__dict__["etag"] = etag
321
379
  __props__.__dict__["perimeter"] = perimeter
380
+ __props__.__dict__["title"] = title
322
381
  return ServicePerimeterEgressPolicy(resource_name, opts=opts, __props__=__props__)
323
382
 
324
383
  @property
@@ -348,6 +407,14 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
348
407
  """
349
408
  return pulumi.get(self, "egress_to")
350
409
 
410
+ @property
411
+ @pulumi.getter
412
+ def etag(self) -> pulumi.Output[str]:
413
+ """
414
+ The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
415
+ """
416
+ return pulumi.get(self, "etag")
417
+
351
418
  @property
352
419
  @pulumi.getter
353
420
  def perimeter(self) -> pulumi.Output[str]:
@@ -359,3 +426,11 @@ class ServicePerimeterEgressPolicy(pulumi.CustomResource):
359
426
  """
360
427
  return pulumi.get(self, "perimeter")
361
428
 
429
+ @property
430
+ @pulumi.getter
431
+ def title(self) -> pulumi.Output[Optional[str]]:
432
+ """
433
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
434
+ """
435
+ return pulumi.get(self, "title")
436
+
@@ -23,7 +23,8 @@ class ServicePerimeterIngressPolicyArgs:
23
23
  def __init__(__self__, *,
24
24
  perimeter: pulumi.Input[str],
25
25
  ingress_from: Optional[pulumi.Input['ServicePerimeterIngressPolicyIngressFromArgs']] = None,
26
- ingress_to: Optional[pulumi.Input['ServicePerimeterIngressPolicyIngressToArgs']] = None):
26
+ ingress_to: Optional[pulumi.Input['ServicePerimeterIngressPolicyIngressToArgs']] = None,
27
+ title: Optional[pulumi.Input[str]] = None):
27
28
  """
28
29
  The set of arguments for constructing a ServicePerimeterIngressPolicy resource.
29
30
  :param pulumi.Input[str] perimeter: The name of the Service Perimeter to add this resource to.
@@ -36,12 +37,15 @@ class ServicePerimeterIngressPolicyArgs:
36
37
  :param pulumi.Input['ServicePerimeterIngressPolicyIngressToArgs'] ingress_to: Defines the conditions on the `ApiOperation` and request destination that cause
37
38
  this `IngressPolicy` to apply.
38
39
  Structure is documented below.
40
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
39
41
  """
40
42
  pulumi.set(__self__, "perimeter", perimeter)
41
43
  if ingress_from is not None:
42
44
  pulumi.set(__self__, "ingress_from", ingress_from)
43
45
  if ingress_to is not None:
44
46
  pulumi.set(__self__, "ingress_to", ingress_to)
47
+ if title is not None:
48
+ pulumi.set(__self__, "title", title)
45
49
 
46
50
  @property
47
51
  @pulumi.getter
@@ -86,17 +90,32 @@ class ServicePerimeterIngressPolicyArgs:
86
90
  def ingress_to(self, value: Optional[pulumi.Input['ServicePerimeterIngressPolicyIngressToArgs']]):
87
91
  pulumi.set(self, "ingress_to", value)
88
92
 
93
+ @property
94
+ @pulumi.getter
95
+ def title(self) -> Optional[pulumi.Input[str]]:
96
+ """
97
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
98
+ """
99
+ return pulumi.get(self, "title")
100
+
101
+ @title.setter
102
+ def title(self, value: Optional[pulumi.Input[str]]):
103
+ pulumi.set(self, "title", value)
104
+
89
105
 
90
106
  @pulumi.input_type
91
107
  class _ServicePerimeterIngressPolicyState:
92
108
  def __init__(__self__, *,
93
109
  access_policy_id: Optional[pulumi.Input[str]] = None,
110
+ etag: Optional[pulumi.Input[str]] = None,
94
111
  ingress_from: Optional[pulumi.Input['ServicePerimeterIngressPolicyIngressFromArgs']] = None,
95
112
  ingress_to: Optional[pulumi.Input['ServicePerimeterIngressPolicyIngressToArgs']] = None,
96
- perimeter: Optional[pulumi.Input[str]] = None):
113
+ perimeter: Optional[pulumi.Input[str]] = None,
114
+ title: Optional[pulumi.Input[str]] = None):
97
115
  """
98
116
  Input properties used for looking up and filtering ServicePerimeterIngressPolicy resources.
99
117
  :param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
118
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
100
119
  :param pulumi.Input['ServicePerimeterIngressPolicyIngressFromArgs'] ingress_from: Defines the conditions on the source of a request causing this `IngressPolicy`
101
120
  to apply.
102
121
  Structure is documented below.
@@ -107,15 +126,20 @@ class _ServicePerimeterIngressPolicyState:
107
126
 
108
127
 
109
128
  - - -
129
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
110
130
  """
111
131
  if access_policy_id is not None:
112
132
  pulumi.set(__self__, "access_policy_id", access_policy_id)
133
+ if etag is not None:
134
+ pulumi.set(__self__, "etag", etag)
113
135
  if ingress_from is not None:
114
136
  pulumi.set(__self__, "ingress_from", ingress_from)
115
137
  if ingress_to is not None:
116
138
  pulumi.set(__self__, "ingress_to", ingress_to)
117
139
  if perimeter is not None:
118
140
  pulumi.set(__self__, "perimeter", perimeter)
141
+ if title is not None:
142
+ pulumi.set(__self__, "title", title)
119
143
 
120
144
  @property
121
145
  @pulumi.getter(name="accessPolicyId")
@@ -129,6 +153,18 @@ class _ServicePerimeterIngressPolicyState:
129
153
  def access_policy_id(self, value: Optional[pulumi.Input[str]]):
130
154
  pulumi.set(self, "access_policy_id", value)
131
155
 
156
+ @property
157
+ @pulumi.getter
158
+ def etag(self) -> Optional[pulumi.Input[str]]:
159
+ """
160
+ The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
161
+ """
162
+ return pulumi.get(self, "etag")
163
+
164
+ @etag.setter
165
+ def etag(self, value: Optional[pulumi.Input[str]]):
166
+ pulumi.set(self, "etag", value)
167
+
132
168
  @property
133
169
  @pulumi.getter(name="ingressFrom")
134
170
  def ingress_from(self) -> Optional[pulumi.Input['ServicePerimeterIngressPolicyIngressFromArgs']]:
@@ -172,6 +208,18 @@ class _ServicePerimeterIngressPolicyState:
172
208
  def perimeter(self, value: Optional[pulumi.Input[str]]):
173
209
  pulumi.set(self, "perimeter", value)
174
210
 
211
+ @property
212
+ @pulumi.getter
213
+ def title(self) -> Optional[pulumi.Input[str]]:
214
+ """
215
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
216
+ """
217
+ return pulumi.get(self, "title")
218
+
219
+ @title.setter
220
+ def title(self, value: Optional[pulumi.Input[str]]):
221
+ pulumi.set(self, "title", value)
222
+
175
223
 
176
224
  class ServicePerimeterIngressPolicy(pulumi.CustomResource):
177
225
  @overload
@@ -181,6 +229,7 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
181
229
  ingress_from: Optional[pulumi.Input[Union['ServicePerimeterIngressPolicyIngressFromArgs', 'ServicePerimeterIngressPolicyIngressFromArgsDict']]] = None,
182
230
  ingress_to: Optional[pulumi.Input[Union['ServicePerimeterIngressPolicyIngressToArgs', 'ServicePerimeterIngressPolicyIngressToArgsDict']]] = None,
183
231
  perimeter: Optional[pulumi.Input[str]] = None,
232
+ title: Optional[pulumi.Input[str]] = None,
184
233
  __props__=None):
185
234
  """
186
235
  Manage a single IngressPolicy in the status (enforced) configuration for a service perimeter.
@@ -220,6 +269,7 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
220
269
 
221
270
 
222
271
  - - -
272
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
223
273
  """
224
274
  ...
225
275
  @overload
@@ -271,6 +321,7 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
271
321
  ingress_from: Optional[pulumi.Input[Union['ServicePerimeterIngressPolicyIngressFromArgs', 'ServicePerimeterIngressPolicyIngressFromArgsDict']]] = None,
272
322
  ingress_to: Optional[pulumi.Input[Union['ServicePerimeterIngressPolicyIngressToArgs', 'ServicePerimeterIngressPolicyIngressToArgsDict']]] = None,
273
323
  perimeter: Optional[pulumi.Input[str]] = None,
324
+ title: Optional[pulumi.Input[str]] = None,
274
325
  __props__=None):
275
326
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
276
327
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -285,7 +336,9 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
285
336
  if perimeter is None and not opts.urn:
286
337
  raise TypeError("Missing required property 'perimeter'")
287
338
  __props__.__dict__["perimeter"] = perimeter
339
+ __props__.__dict__["title"] = title
288
340
  __props__.__dict__["access_policy_id"] = None
341
+ __props__.__dict__["etag"] = None
289
342
  super(ServicePerimeterIngressPolicy, __self__).__init__(
290
343
  'gcp:accesscontextmanager/servicePerimeterIngressPolicy:ServicePerimeterIngressPolicy',
291
344
  resource_name,
@@ -297,9 +350,11 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
297
350
  id: pulumi.Input[str],
298
351
  opts: Optional[pulumi.ResourceOptions] = None,
299
352
  access_policy_id: Optional[pulumi.Input[str]] = None,
353
+ etag: Optional[pulumi.Input[str]] = None,
300
354
  ingress_from: Optional[pulumi.Input[Union['ServicePerimeterIngressPolicyIngressFromArgs', 'ServicePerimeterIngressPolicyIngressFromArgsDict']]] = None,
301
355
  ingress_to: Optional[pulumi.Input[Union['ServicePerimeterIngressPolicyIngressToArgs', 'ServicePerimeterIngressPolicyIngressToArgsDict']]] = None,
302
- perimeter: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterIngressPolicy':
356
+ perimeter: Optional[pulumi.Input[str]] = None,
357
+ title: Optional[pulumi.Input[str]] = None) -> 'ServicePerimeterIngressPolicy':
303
358
  """
304
359
  Get an existing ServicePerimeterIngressPolicy resource's state with the given name, id, and optional extra
305
360
  properties used to qualify the lookup.
@@ -308,6 +363,7 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
308
363
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
309
364
  :param pulumi.ResourceOptions opts: Options for the resource.
310
365
  :param pulumi.Input[str] access_policy_id: The name of the Access Policy this resource belongs to.
366
+ :param pulumi.Input[str] etag: The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
311
367
  :param pulumi.Input[Union['ServicePerimeterIngressPolicyIngressFromArgs', 'ServicePerimeterIngressPolicyIngressFromArgsDict']] ingress_from: Defines the conditions on the source of a request causing this `IngressPolicy`
312
368
  to apply.
313
369
  Structure is documented below.
@@ -318,15 +374,18 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
318
374
 
319
375
 
320
376
  - - -
377
+ :param pulumi.Input[str] title: Human readable title. Must be unique within the perimeter. Does not affect behavior.
321
378
  """
322
379
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
323
380
 
324
381
  __props__ = _ServicePerimeterIngressPolicyState.__new__(_ServicePerimeterIngressPolicyState)
325
382
 
326
383
  __props__.__dict__["access_policy_id"] = access_policy_id
384
+ __props__.__dict__["etag"] = etag
327
385
  __props__.__dict__["ingress_from"] = ingress_from
328
386
  __props__.__dict__["ingress_to"] = ingress_to
329
387
  __props__.__dict__["perimeter"] = perimeter
388
+ __props__.__dict__["title"] = title
330
389
  return ServicePerimeterIngressPolicy(resource_name, opts=opts, __props__=__props__)
331
390
 
332
391
  @property
@@ -337,6 +396,14 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
337
396
  """
338
397
  return pulumi.get(self, "access_policy_id")
339
398
 
399
+ @property
400
+ @pulumi.getter
401
+ def etag(self) -> pulumi.Output[str]:
402
+ """
403
+ The perimeter etag is internally used to prevent overwriting the list of policies on PATCH calls. It is retrieved from the same GET perimeter API call that's used to get the current list of policies. The policy defined in this resource is added or removed from that list, and then this etag is sent with the PATCH call along with the updated policies.
404
+ """
405
+ return pulumi.get(self, "etag")
406
+
340
407
  @property
341
408
  @pulumi.getter(name="ingressFrom")
342
409
  def ingress_from(self) -> pulumi.Output[Optional['outputs.ServicePerimeterIngressPolicyIngressFrom']]:
@@ -368,3 +435,11 @@ class ServicePerimeterIngressPolicy(pulumi.CustomResource):
368
435
  """
369
436
  return pulumi.get(self, "perimeter")
370
437
 
438
+ @property
439
+ @pulumi.getter
440
+ def title(self) -> pulumi.Output[Optional[str]]:
441
+ """
442
+ Human readable title. Must be unique within the perimeter. Does not affect behavior.
443
+ """
444
+ return pulumi.get(self, "title")
445
+
@@ -7,6 +7,7 @@ import typing
7
7
  # Export this package's modules as members:
8
8
  from .backup import *
9
9
  from .cluster import *
10
+ from .get_instance import *
10
11
  from .get_locations import *
11
12
  from .get_supported_database_flags import *
12
13
  from .instance import *