pulumi-gcp 8.13.0a1735885526__py3-none-any.whl → 8.13.0a1736263433__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 (90) hide show
  1. pulumi_gcp/__init__.py +43 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +3 -3
  3. pulumi_gcp/accesscontextmanager/outputs.py +2 -2
  4. pulumi_gcp/artifactregistry/_inputs.py +83 -0
  5. pulumi_gcp/artifactregistry/get_repository.py +15 -4
  6. pulumi_gcp/artifactregistry/outputs.py +112 -0
  7. pulumi_gcp/artifactregistry/repository.py +93 -7
  8. pulumi_gcp/backupdisasterrecovery/get_backup.py +38 -2
  9. pulumi_gcp/backupdisasterrecovery/get_data_source.py +38 -2
  10. pulumi_gcp/backupdisasterrecovery/outputs.py +8 -8
  11. pulumi_gcp/bigquery/_inputs.py +369 -0
  12. pulumi_gcp/bigquery/dataset_access.py +61 -0
  13. pulumi_gcp/bigquery/job.py +6 -18
  14. pulumi_gcp/bigquery/outputs.py +350 -0
  15. pulumi_gcp/bigquery/table.py +47 -0
  16. pulumi_gcp/chronicle/__init__.py +10 -0
  17. pulumi_gcp/chronicle/_inputs.py +169 -0
  18. pulumi_gcp/chronicle/outputs.py +107 -0
  19. pulumi_gcp/chronicle/watchlist.py +776 -0
  20. pulumi_gcp/cloudrunv2/_inputs.py +6 -3
  21. pulumi_gcp/cloudrunv2/outputs.py +10 -6
  22. pulumi_gcp/composer/_inputs.py +80 -5
  23. pulumi_gcp/composer/outputs.py +111 -4
  24. pulumi_gcp/compute/_inputs.py +181 -87
  25. pulumi_gcp/compute/firewall_policy_association.py +50 -39
  26. pulumi_gcp/compute/get_network.py +17 -2
  27. pulumi_gcp/compute/get_subnetwork.py +18 -4
  28. pulumi_gcp/compute/network.py +39 -2
  29. pulumi_gcp/compute/outputs.py +157 -58
  30. pulumi_gcp/compute/region_network_endpoint_group.py +1 -1
  31. pulumi_gcp/compute/resize_request.py +26 -40
  32. pulumi_gcp/config/__init__.pyi +2 -0
  33. pulumi_gcp/config/vars.py +4 -0
  34. pulumi_gcp/dataproc/batch.py +4 -18
  35. pulumi_gcp/datastream/_inputs.py +68 -0
  36. pulumi_gcp/datastream/outputs.py +41 -1
  37. pulumi_gcp/developerconnect/connection.py +58 -12
  38. pulumi_gcp/diagflow/_inputs.py +3 -3
  39. pulumi_gcp/diagflow/outputs.py +2 -2
  40. pulumi_gcp/filestore/backup.py +71 -3
  41. pulumi_gcp/firebase/hosting_custom_domain.py +4 -4
  42. pulumi_gcp/firestore/_inputs.py +3 -3
  43. pulumi_gcp/firestore/outputs.py +2 -2
  44. pulumi_gcp/gkehub/__init__.py +1 -0
  45. pulumi_gcp/gkehub/get_feature.py +226 -0
  46. pulumi_gcp/gkehub/outputs.py +1153 -0
  47. pulumi_gcp/gkeonprem/__init__.py +1 -0
  48. pulumi_gcp/gkeonprem/_inputs.py +2364 -0
  49. pulumi_gcp/gkeonprem/outputs.py +1780 -0
  50. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +1715 -0
  51. pulumi_gcp/integrationconnectors/_inputs.py +6 -6
  52. pulumi_gcp/integrationconnectors/connection.py +7 -7
  53. pulumi_gcp/integrationconnectors/outputs.py +4 -4
  54. pulumi_gcp/kms/__init__.py +2 -0
  55. pulumi_gcp/kms/get_autokey_config.py +121 -0
  56. pulumi_gcp/kms/get_key_handle.py +185 -0
  57. pulumi_gcp/netapp/kmsconfig.py +2 -14
  58. pulumi_gcp/networkconnectivity/hub.py +108 -0
  59. pulumi_gcp/networkconnectivity/spoke.py +195 -0
  60. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +4 -0
  61. pulumi_gcp/networksecurity/__init__.py +2 -0
  62. pulumi_gcp/networksecurity/_inputs.py +78 -0
  63. pulumi_gcp/networksecurity/intercept_endpoint_group.py +723 -0
  64. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +815 -0
  65. pulumi_gcp/networksecurity/outputs.py +48 -0
  66. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  67. pulumi_gcp/orgpolicy/policy.py +2 -2
  68. pulumi_gcp/parallelstore/instance.py +149 -0
  69. pulumi_gcp/projects/usage_export_bucket.py +42 -110
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/subscription.py +6 -6
  72. pulumi_gcp/pulumi-plugin.json +1 -1
  73. pulumi_gcp/securesourcemanager/instance.py +4 -16
  74. pulumi_gcp/spanner/instance_iam_binding.py +14 -0
  75. pulumi_gcp/spanner/instance_iam_member.py +14 -0
  76. pulumi_gcp/sql/database_instance.py +7 -7
  77. pulumi_gcp/storage/__init__.py +1 -0
  78. pulumi_gcp/storage/_inputs.py +431 -0
  79. pulumi_gcp/storage/folder.py +483 -0
  80. pulumi_gcp/storage/outputs.py +363 -0
  81. pulumi_gcp/storage/transfer_job.py +84 -38
  82. pulumi_gcp/vertex/_inputs.py +26 -25
  83. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  84. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  85. pulumi_gcp/vertex/outputs.py +15 -14
  86. pulumi_gcp/workstations/workstation.py +55 -1
  87. {pulumi_gcp-8.13.0a1735885526.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/METADATA +1 -1
  88. {pulumi_gcp-8.13.0a1735885526.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/RECORD +90 -79
  89. {pulumi_gcp-8.13.0a1735885526.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/WHEEL +1 -1
  90. {pulumi_gcp-8.13.0a1735885526.dist-info → pulumi_gcp-8.13.0a1736263433.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -56,6 +56,8 @@ if typing.TYPE_CHECKING:
56
56
  certificateauthority = __certificateauthority
57
57
  import pulumi_gcp.certificatemanager as __certificatemanager
58
58
  certificatemanager = __certificatemanager
59
+ import pulumi_gcp.chronicle as __chronicle
60
+ chronicle = __chronicle
59
61
  import pulumi_gcp.cloudasset as __cloudasset
60
62
  cloudasset = __cloudasset
61
63
  import pulumi_gcp.cloudbuild as __cloudbuild
@@ -284,6 +286,7 @@ else:
284
286
  blockchainnodeengine = _utilities.lazy_import('pulumi_gcp.blockchainnodeengine')
285
287
  certificateauthority = _utilities.lazy_import('pulumi_gcp.certificateauthority')
286
288
  certificatemanager = _utilities.lazy_import('pulumi_gcp.certificatemanager')
289
+ chronicle = _utilities.lazy_import('pulumi_gcp.chronicle')
287
290
  cloudasset = _utilities.lazy_import('pulumi_gcp.cloudasset')
288
291
  cloudbuild = _utilities.lazy_import('pulumi_gcp.cloudbuild')
289
292
  cloudbuildv2 = _utilities.lazy_import('pulumi_gcp.cloudbuildv2')
@@ -1718,6 +1721,14 @@ _utilities.register(
1718
1721
  "gcp:certificatemanager/trustConfig:TrustConfig": "TrustConfig"
1719
1722
  }
1720
1723
  },
1724
+ {
1725
+ "pkg": "gcp",
1726
+ "mod": "chronicle/watchlist",
1727
+ "fqn": "pulumi_gcp.chronicle",
1728
+ "classes": {
1729
+ "gcp:chronicle/watchlist:Watchlist": "Watchlist"
1730
+ }
1731
+ },
1721
1732
  {
1722
1733
  "pkg": "gcp",
1723
1734
  "mod": "cloudasset/folderFeed",
@@ -5230,6 +5241,14 @@ _utilities.register(
5230
5241
  "gcp:gkeonprem/vMwareNodePool:VMwareNodePool": "VMwareNodePool"
5231
5242
  }
5232
5243
  },
5244
+ {
5245
+ "pkg": "gcp",
5246
+ "mod": "gkeonprem/vmwareAdminCluster",
5247
+ "fqn": "pulumi_gcp.gkeonprem",
5248
+ "classes": {
5249
+ "gcp:gkeonprem/vmwareAdminCluster:VmwareAdminCluster": "VmwareAdminCluster"
5250
+ }
5251
+ },
5233
5252
  {
5234
5253
  "pkg": "gcp",
5235
5254
  "mod": "healthcare/consentStore",
@@ -6542,6 +6561,22 @@ _utilities.register(
6542
6561
  "gcp:networksecurity/interceptDeploymentGroup:InterceptDeploymentGroup": "InterceptDeploymentGroup"
6543
6562
  }
6544
6563
  },
6564
+ {
6565
+ "pkg": "gcp",
6566
+ "mod": "networksecurity/interceptEndpointGroup",
6567
+ "fqn": "pulumi_gcp.networksecurity",
6568
+ "classes": {
6569
+ "gcp:networksecurity/interceptEndpointGroup:InterceptEndpointGroup": "InterceptEndpointGroup"
6570
+ }
6571
+ },
6572
+ {
6573
+ "pkg": "gcp",
6574
+ "mod": "networksecurity/interceptEndpointGroupAssociation",
6575
+ "fqn": "pulumi_gcp.networksecurity",
6576
+ "classes": {
6577
+ "gcp:networksecurity/interceptEndpointGroupAssociation:InterceptEndpointGroupAssociation": "InterceptEndpointGroupAssociation"
6578
+ }
6579
+ },
6545
6580
  {
6546
6581
  "pkg": "gcp",
6547
6582
  "mod": "networksecurity/mirroringDeployment",
@@ -8110,6 +8145,14 @@ _utilities.register(
8110
8145
  "gcp:storage/defaultObjectAccessControl:DefaultObjectAccessControl": "DefaultObjectAccessControl"
8111
8146
  }
8112
8147
  },
8148
+ {
8149
+ "pkg": "gcp",
8150
+ "mod": "storage/folder",
8151
+ "fqn": "pulumi_gcp.storage",
8152
+ "classes": {
8153
+ "gcp:storage/folder:Folder": "Folder"
8154
+ }
8155
+ },
8113
8156
  {
8114
8157
  "pkg": "gcp",
8115
8158
  "mod": "storage/hmacKey",
@@ -800,7 +800,7 @@ if not MYPY:
800
800
  """
801
801
  vpc_ip_subnetworks: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
802
802
  """
803
- CIDR block IP subnetwork specification. Must be IPv4.
803
+ A list of CIDR block IP subnetwork specification. Must be IPv4.
804
804
  """
805
805
  elif False:
806
806
  AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgsDict: TypeAlias = Mapping[str, Any]
@@ -812,7 +812,7 @@ class AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs:
812
812
  vpc_ip_subnetworks: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
813
813
  """
814
814
  :param pulumi.Input[str] network: Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
815
- :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
815
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] vpc_ip_subnetworks: A list of CIDR block IP subnetwork specification. Must be IPv4.
816
816
  """
817
817
  pulumi.set(__self__, "network", network)
818
818
  if vpc_ip_subnetworks is not None:
@@ -834,7 +834,7 @@ class AccessLevelBasicConditionVpcNetworkSourceVpcSubnetworkArgs:
834
834
  @pulumi.getter(name="vpcIpSubnetworks")
835
835
  def vpc_ip_subnetworks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
836
836
  """
837
- CIDR block IP subnetwork specification. Must be IPv4.
837
+ A list of CIDR block IP subnetwork specification. Must be IPv4.
838
838
  """
839
839
  return pulumi.get(self, "vpc_ip_subnetworks")
840
840
 
@@ -598,7 +598,7 @@ class AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork(dict):
598
598
  vpc_ip_subnetworks: Optional[Sequence[str]] = None):
599
599
  """
600
600
  :param str network: Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires `compute.network.get` permission to be granted to caller.
601
- :param Sequence[str] vpc_ip_subnetworks: CIDR block IP subnetwork specification. Must be IPv4.
601
+ :param Sequence[str] vpc_ip_subnetworks: A list of CIDR block IP subnetwork specification. Must be IPv4.
602
602
  """
603
603
  pulumi.set(__self__, "network", network)
604
604
  if vpc_ip_subnetworks is not None:
@@ -616,7 +616,7 @@ class AccessLevelBasicConditionVpcNetworkSourceVpcSubnetwork(dict):
616
616
  @pulumi.getter(name="vpcIpSubnetworks")
617
617
  def vpc_ip_subnetworks(self) -> Optional[Sequence[str]]:
618
618
  """
619
- CIDR block IP subnetwork specification. Must be IPv4.
619
+ A list of CIDR block IP subnetwork specification. Must be IPv4.
620
620
  """
621
621
  return pulumi.get(self, "vpc_ip_subnetworks")
622
622
 
@@ -65,6 +65,8 @@ __all__ = [
65
65
  'RepositoryVirtualRepositoryConfigArgsDict',
66
66
  'RepositoryVirtualRepositoryConfigUpstreamPolicyArgs',
67
67
  'RepositoryVirtualRepositoryConfigUpstreamPolicyArgsDict',
68
+ 'RepositoryVulnerabilityScanningConfigArgs',
69
+ 'RepositoryVulnerabilityScanningConfigArgsDict',
68
70
  ]
69
71
 
70
72
  MYPY = False
@@ -1582,3 +1584,84 @@ class RepositoryVirtualRepositoryConfigUpstreamPolicyArgs:
1582
1584
  pulumi.set(self, "repository", value)
1583
1585
 
1584
1586
 
1587
+ if not MYPY:
1588
+ class RepositoryVulnerabilityScanningConfigArgsDict(TypedDict):
1589
+ enablement_config: NotRequired[pulumi.Input[str]]
1590
+ """
1591
+ This configures whether vulnerability scanning is automatically performed for artifacts pushed to this repository.
1592
+ Possible values are: `INHERITED`, `DISABLED`.
1593
+ """
1594
+ enablement_state: NotRequired[pulumi.Input[str]]
1595
+ """
1596
+ (Output)
1597
+ This field returns whether scanning is active for this repository.
1598
+ """
1599
+ enablement_state_reason: NotRequired[pulumi.Input[str]]
1600
+ """
1601
+ (Output)
1602
+ This provides an explanation for the state of scanning on this repository.
1603
+ """
1604
+ elif False:
1605
+ RepositoryVulnerabilityScanningConfigArgsDict: TypeAlias = Mapping[str, Any]
1606
+
1607
+ @pulumi.input_type
1608
+ class RepositoryVulnerabilityScanningConfigArgs:
1609
+ def __init__(__self__, *,
1610
+ enablement_config: Optional[pulumi.Input[str]] = None,
1611
+ enablement_state: Optional[pulumi.Input[str]] = None,
1612
+ enablement_state_reason: Optional[pulumi.Input[str]] = None):
1613
+ """
1614
+ :param pulumi.Input[str] enablement_config: This configures whether vulnerability scanning is automatically performed for artifacts pushed to this repository.
1615
+ Possible values are: `INHERITED`, `DISABLED`.
1616
+ :param pulumi.Input[str] enablement_state: (Output)
1617
+ This field returns whether scanning is active for this repository.
1618
+ :param pulumi.Input[str] enablement_state_reason: (Output)
1619
+ This provides an explanation for the state of scanning on this repository.
1620
+ """
1621
+ if enablement_config is not None:
1622
+ pulumi.set(__self__, "enablement_config", enablement_config)
1623
+ if enablement_state is not None:
1624
+ pulumi.set(__self__, "enablement_state", enablement_state)
1625
+ if enablement_state_reason is not None:
1626
+ pulumi.set(__self__, "enablement_state_reason", enablement_state_reason)
1627
+
1628
+ @property
1629
+ @pulumi.getter(name="enablementConfig")
1630
+ def enablement_config(self) -> Optional[pulumi.Input[str]]:
1631
+ """
1632
+ This configures whether vulnerability scanning is automatically performed for artifacts pushed to this repository.
1633
+ Possible values are: `INHERITED`, `DISABLED`.
1634
+ """
1635
+ return pulumi.get(self, "enablement_config")
1636
+
1637
+ @enablement_config.setter
1638
+ def enablement_config(self, value: Optional[pulumi.Input[str]]):
1639
+ pulumi.set(self, "enablement_config", value)
1640
+
1641
+ @property
1642
+ @pulumi.getter(name="enablementState")
1643
+ def enablement_state(self) -> Optional[pulumi.Input[str]]:
1644
+ """
1645
+ (Output)
1646
+ This field returns whether scanning is active for this repository.
1647
+ """
1648
+ return pulumi.get(self, "enablement_state")
1649
+
1650
+ @enablement_state.setter
1651
+ def enablement_state(self, value: Optional[pulumi.Input[str]]):
1652
+ pulumi.set(self, "enablement_state", value)
1653
+
1654
+ @property
1655
+ @pulumi.getter(name="enablementStateReason")
1656
+ def enablement_state_reason(self) -> Optional[pulumi.Input[str]]:
1657
+ """
1658
+ (Output)
1659
+ This provides an explanation for the state of scanning on this repository.
1660
+ """
1661
+ return pulumi.get(self, "enablement_state_reason")
1662
+
1663
+ @enablement_state_reason.setter
1664
+ def enablement_state_reason(self, value: Optional[pulumi.Input[str]]):
1665
+ pulumi.set(self, "enablement_state_reason", value)
1666
+
1667
+
@@ -27,7 +27,7 @@ class GetRepositoryResult:
27
27
  """
28
28
  A collection of values returned by getRepository.
29
29
  """
30
- def __init__(__self__, cleanup_policies=None, cleanup_policy_dry_run=None, create_time=None, description=None, docker_configs=None, effective_labels=None, format=None, id=None, kms_key_name=None, labels=None, location=None, maven_configs=None, mode=None, name=None, project=None, pulumi_labels=None, remote_repository_configs=None, repository_id=None, update_time=None, virtual_repository_configs=None):
30
+ def __init__(__self__, cleanup_policies=None, cleanup_policy_dry_run=None, create_time=None, description=None, docker_configs=None, effective_labels=None, format=None, id=None, kms_key_name=None, labels=None, location=None, maven_configs=None, mode=None, name=None, project=None, pulumi_labels=None, remote_repository_configs=None, repository_id=None, update_time=None, virtual_repository_configs=None, vulnerability_scanning_configs=None):
31
31
  if cleanup_policies and not isinstance(cleanup_policies, list):
32
32
  raise TypeError("Expected argument 'cleanup_policies' to be a list")
33
33
  pulumi.set(__self__, "cleanup_policies", cleanup_policies)
@@ -88,6 +88,9 @@ class GetRepositoryResult:
88
88
  if virtual_repository_configs and not isinstance(virtual_repository_configs, list):
89
89
  raise TypeError("Expected argument 'virtual_repository_configs' to be a list")
90
90
  pulumi.set(__self__, "virtual_repository_configs", virtual_repository_configs)
91
+ if vulnerability_scanning_configs and not isinstance(vulnerability_scanning_configs, list):
92
+ raise TypeError("Expected argument 'vulnerability_scanning_configs' to be a list")
93
+ pulumi.set(__self__, "vulnerability_scanning_configs", vulnerability_scanning_configs)
91
94
 
92
95
  @property
93
96
  @pulumi.getter(name="cleanupPolicies")
@@ -192,6 +195,11 @@ class GetRepositoryResult:
192
195
  def virtual_repository_configs(self) -> Sequence['outputs.GetRepositoryVirtualRepositoryConfigResult']:
193
196
  return pulumi.get(self, "virtual_repository_configs")
194
197
 
198
+ @property
199
+ @pulumi.getter(name="vulnerabilityScanningConfigs")
200
+ def vulnerability_scanning_configs(self) -> Sequence['outputs.GetRepositoryVulnerabilityScanningConfigResult']:
201
+ return pulumi.get(self, "vulnerability_scanning_configs")
202
+
195
203
 
196
204
  class AwaitableGetRepositoryResult(GetRepositoryResult):
197
205
  # pylint: disable=using-constant-test
@@ -218,7 +226,8 @@ class AwaitableGetRepositoryResult(GetRepositoryResult):
218
226
  remote_repository_configs=self.remote_repository_configs,
219
227
  repository_id=self.repository_id,
220
228
  update_time=self.update_time,
221
- virtual_repository_configs=self.virtual_repository_configs)
229
+ virtual_repository_configs=self.virtual_repository_configs,
230
+ vulnerability_scanning_configs=self.vulnerability_scanning_configs)
222
231
 
223
232
 
224
233
  def get_repository(location: Optional[str] = None,
@@ -275,7 +284,8 @@ def get_repository(location: Optional[str] = None,
275
284
  remote_repository_configs=pulumi.get(__ret__, 'remote_repository_configs'),
276
285
  repository_id=pulumi.get(__ret__, 'repository_id'),
277
286
  update_time=pulumi.get(__ret__, 'update_time'),
278
- virtual_repository_configs=pulumi.get(__ret__, 'virtual_repository_configs'))
287
+ virtual_repository_configs=pulumi.get(__ret__, 'virtual_repository_configs'),
288
+ vulnerability_scanning_configs=pulumi.get(__ret__, 'vulnerability_scanning_configs'))
279
289
  def get_repository_output(location: Optional[pulumi.Input[str]] = None,
280
290
  project: Optional[pulumi.Input[Optional[str]]] = None,
281
291
  repository_id: Optional[pulumi.Input[str]] = None,
@@ -329,4 +339,5 @@ def get_repository_output(location: Optional[pulumi.Input[str]] = None,
329
339
  remote_repository_configs=pulumi.get(__response__, 'remote_repository_configs'),
330
340
  repository_id=pulumi.get(__response__, 'repository_id'),
331
341
  update_time=pulumi.get(__response__, 'update_time'),
332
- virtual_repository_configs=pulumi.get(__response__, 'virtual_repository_configs')))
342
+ virtual_repository_configs=pulumi.get(__response__, 'virtual_repository_configs'),
343
+ vulnerability_scanning_configs=pulumi.get(__response__, 'vulnerability_scanning_configs')))
@@ -41,6 +41,7 @@ __all__ = [
41
41
  'RepositoryRemoteRepositoryConfigYumRepositoryPublicRepository',
42
42
  'RepositoryVirtualRepositoryConfig',
43
43
  'RepositoryVirtualRepositoryConfigUpstreamPolicy',
44
+ 'RepositoryVulnerabilityScanningConfig',
44
45
  'GetRepositoryCleanupPolicyResult',
45
46
  'GetRepositoryCleanupPolicyConditionResult',
46
47
  'GetRepositoryCleanupPolicyMostRecentVersionResult',
@@ -64,6 +65,7 @@ __all__ = [
64
65
  'GetRepositoryRemoteRepositoryConfigYumRepositoryPublicRepositoryResult',
65
66
  'GetRepositoryVirtualRepositoryConfigResult',
66
67
  'GetRepositoryVirtualRepositoryConfigUpstreamPolicyResult',
68
+ 'GetRepositoryVulnerabilityScanningConfigResult',
67
69
  ]
68
70
 
69
71
  @pulumi.output_type
@@ -1304,6 +1306,76 @@ class RepositoryVirtualRepositoryConfigUpstreamPolicy(dict):
1304
1306
  return pulumi.get(self, "repository")
1305
1307
 
1306
1308
 
1309
+ @pulumi.output_type
1310
+ class RepositoryVulnerabilityScanningConfig(dict):
1311
+ @staticmethod
1312
+ def __key_warning(key: str):
1313
+ suggest = None
1314
+ if key == "enablementConfig":
1315
+ suggest = "enablement_config"
1316
+ elif key == "enablementState":
1317
+ suggest = "enablement_state"
1318
+ elif key == "enablementStateReason":
1319
+ suggest = "enablement_state_reason"
1320
+
1321
+ if suggest:
1322
+ pulumi.log.warn(f"Key '{key}' not found in RepositoryVulnerabilityScanningConfig. Access the value via the '{suggest}' property getter instead.")
1323
+
1324
+ def __getitem__(self, key: str) -> Any:
1325
+ RepositoryVulnerabilityScanningConfig.__key_warning(key)
1326
+ return super().__getitem__(key)
1327
+
1328
+ def get(self, key: str, default = None) -> Any:
1329
+ RepositoryVulnerabilityScanningConfig.__key_warning(key)
1330
+ return super().get(key, default)
1331
+
1332
+ def __init__(__self__, *,
1333
+ enablement_config: Optional[str] = None,
1334
+ enablement_state: Optional[str] = None,
1335
+ enablement_state_reason: Optional[str] = None):
1336
+ """
1337
+ :param str enablement_config: This configures whether vulnerability scanning is automatically performed for artifacts pushed to this repository.
1338
+ Possible values are: `INHERITED`, `DISABLED`.
1339
+ :param str enablement_state: (Output)
1340
+ This field returns whether scanning is active for this repository.
1341
+ :param str enablement_state_reason: (Output)
1342
+ This provides an explanation for the state of scanning on this repository.
1343
+ """
1344
+ if enablement_config is not None:
1345
+ pulumi.set(__self__, "enablement_config", enablement_config)
1346
+ if enablement_state is not None:
1347
+ pulumi.set(__self__, "enablement_state", enablement_state)
1348
+ if enablement_state_reason is not None:
1349
+ pulumi.set(__self__, "enablement_state_reason", enablement_state_reason)
1350
+
1351
+ @property
1352
+ @pulumi.getter(name="enablementConfig")
1353
+ def enablement_config(self) -> Optional[str]:
1354
+ """
1355
+ This configures whether vulnerability scanning is automatically performed for artifacts pushed to this repository.
1356
+ Possible values are: `INHERITED`, `DISABLED`.
1357
+ """
1358
+ return pulumi.get(self, "enablement_config")
1359
+
1360
+ @property
1361
+ @pulumi.getter(name="enablementState")
1362
+ def enablement_state(self) -> Optional[str]:
1363
+ """
1364
+ (Output)
1365
+ This field returns whether scanning is active for this repository.
1366
+ """
1367
+ return pulumi.get(self, "enablement_state")
1368
+
1369
+ @property
1370
+ @pulumi.getter(name="enablementStateReason")
1371
+ def enablement_state_reason(self) -> Optional[str]:
1372
+ """
1373
+ (Output)
1374
+ This provides an explanation for the state of scanning on this repository.
1375
+ """
1376
+ return pulumi.get(self, "enablement_state_reason")
1377
+
1378
+
1307
1379
  @pulumi.output_type
1308
1380
  class GetRepositoryCleanupPolicyResult(dict):
1309
1381
  def __init__(__self__, *,
@@ -2042,3 +2114,43 @@ class GetRepositoryVirtualRepositoryConfigUpstreamPolicyResult(dict):
2042
2114
  return pulumi.get(self, "repository")
2043
2115
 
2044
2116
 
2117
+ @pulumi.output_type
2118
+ class GetRepositoryVulnerabilityScanningConfigResult(dict):
2119
+ def __init__(__self__, *,
2120
+ enablement_config: str,
2121
+ enablement_state: str,
2122
+ enablement_state_reason: str):
2123
+ """
2124
+ :param str enablement_config: This configures whether vulnerability scanning is automatically performed for artifacts pushed to this repository. Possible values: ["INHERITED", "DISABLED"]
2125
+ :param str enablement_state: This field returns whether scanning is active for this repository.
2126
+ :param str enablement_state_reason: This provides an explanation for the state of scanning on this repository.
2127
+ """
2128
+ pulumi.set(__self__, "enablement_config", enablement_config)
2129
+ pulumi.set(__self__, "enablement_state", enablement_state)
2130
+ pulumi.set(__self__, "enablement_state_reason", enablement_state_reason)
2131
+
2132
+ @property
2133
+ @pulumi.getter(name="enablementConfig")
2134
+ def enablement_config(self) -> str:
2135
+ """
2136
+ This configures whether vulnerability scanning is automatically performed for artifacts pushed to this repository. Possible values: ["INHERITED", "DISABLED"]
2137
+ """
2138
+ return pulumi.get(self, "enablement_config")
2139
+
2140
+ @property
2141
+ @pulumi.getter(name="enablementState")
2142
+ def enablement_state(self) -> str:
2143
+ """
2144
+ This field returns whether scanning is active for this repository.
2145
+ """
2146
+ return pulumi.get(self, "enablement_state")
2147
+
2148
+ @property
2149
+ @pulumi.getter(name="enablementStateReason")
2150
+ def enablement_state_reason(self) -> str:
2151
+ """
2152
+ This provides an explanation for the state of scanning on this repository.
2153
+ """
2154
+ return pulumi.get(self, "enablement_state_reason")
2155
+
2156
+
@@ -34,7 +34,8 @@ class RepositoryArgs:
34
34
  mode: Optional[pulumi.Input[str]] = None,
35
35
  project: Optional[pulumi.Input[str]] = None,
36
36
  remote_repository_config: Optional[pulumi.Input['RepositoryRemoteRepositoryConfigArgs']] = None,
37
- virtual_repository_config: Optional[pulumi.Input['RepositoryVirtualRepositoryConfigArgs']] = None):
37
+ virtual_repository_config: Optional[pulumi.Input['RepositoryVirtualRepositoryConfigArgs']] = None,
38
+ vulnerability_scanning_config: Optional[pulumi.Input['RepositoryVulnerabilityScanningConfigArgs']] = None):
38
39
  """
39
40
  The set of arguments for constructing a Repository resource.
40
41
  :param pulumi.Input[str] format: The format of packages that are stored in the repository. Supported formats
@@ -87,6 +88,8 @@ class RepositoryArgs:
87
88
  Structure is documented below.
88
89
  :param pulumi.Input['RepositoryVirtualRepositoryConfigArgs'] virtual_repository_config: Configuration specific for a Virtual Repository.
89
90
  Structure is documented below.
91
+ :param pulumi.Input['RepositoryVulnerabilityScanningConfigArgs'] vulnerability_scanning_config: Configuration for vulnerability scanning of artifacts stored in this repository.
92
+ Structure is documented below.
90
93
  """
91
94
  pulumi.set(__self__, "format", format)
92
95
  pulumi.set(__self__, "repository_id", repository_id)
@@ -114,6 +117,8 @@ class RepositoryArgs:
114
117
  pulumi.set(__self__, "remote_repository_config", remote_repository_config)
115
118
  if virtual_repository_config is not None:
116
119
  pulumi.set(__self__, "virtual_repository_config", virtual_repository_config)
120
+ if vulnerability_scanning_config is not None:
121
+ pulumi.set(__self__, "vulnerability_scanning_config", vulnerability_scanning_config)
117
122
 
118
123
  @property
119
124
  @pulumi.getter
@@ -319,6 +324,19 @@ class RepositoryArgs:
319
324
  def virtual_repository_config(self, value: Optional[pulumi.Input['RepositoryVirtualRepositoryConfigArgs']]):
320
325
  pulumi.set(self, "virtual_repository_config", value)
321
326
 
327
+ @property
328
+ @pulumi.getter(name="vulnerabilityScanningConfig")
329
+ def vulnerability_scanning_config(self) -> Optional[pulumi.Input['RepositoryVulnerabilityScanningConfigArgs']]:
330
+ """
331
+ Configuration for vulnerability scanning of artifacts stored in this repository.
332
+ Structure is documented below.
333
+ """
334
+ return pulumi.get(self, "vulnerability_scanning_config")
335
+
336
+ @vulnerability_scanning_config.setter
337
+ def vulnerability_scanning_config(self, value: Optional[pulumi.Input['RepositoryVulnerabilityScanningConfigArgs']]):
338
+ pulumi.set(self, "vulnerability_scanning_config", value)
339
+
322
340
 
323
341
  @pulumi.input_type
324
342
  class _RepositoryState:
@@ -341,7 +359,8 @@ class _RepositoryState:
341
359
  remote_repository_config: Optional[pulumi.Input['RepositoryRemoteRepositoryConfigArgs']] = None,
342
360
  repository_id: Optional[pulumi.Input[str]] = None,
343
361
  update_time: Optional[pulumi.Input[str]] = None,
344
- virtual_repository_config: Optional[pulumi.Input['RepositoryVirtualRepositoryConfigArgs']] = None):
362
+ virtual_repository_config: Optional[pulumi.Input['RepositoryVirtualRepositoryConfigArgs']] = None,
363
+ vulnerability_scanning_config: Optional[pulumi.Input['RepositoryVulnerabilityScanningConfigArgs']] = None):
345
364
  """
346
365
  Input properties used for looking up and filtering Repository resources.
347
366
  :param pulumi.Input[Sequence[pulumi.Input['RepositoryCleanupPolicyArgs']]] cleanup_policies: Cleanup policies for this repository. Cleanup policies indicate when
@@ -401,6 +420,8 @@ class _RepositoryState:
401
420
  :param pulumi.Input[str] update_time: The time when the repository was last updated.
402
421
  :param pulumi.Input['RepositoryVirtualRepositoryConfigArgs'] virtual_repository_config: Configuration specific for a Virtual Repository.
403
422
  Structure is documented below.
423
+ :param pulumi.Input['RepositoryVulnerabilityScanningConfigArgs'] vulnerability_scanning_config: Configuration for vulnerability scanning of artifacts stored in this repository.
424
+ Structure is documented below.
404
425
  """
405
426
  if cleanup_policies is not None:
406
427
  pulumi.set(__self__, "cleanup_policies", cleanup_policies)
@@ -440,6 +461,8 @@ class _RepositoryState:
440
461
  pulumi.set(__self__, "update_time", update_time)
441
462
  if virtual_repository_config is not None:
442
463
  pulumi.set(__self__, "virtual_repository_config", virtual_repository_config)
464
+ if vulnerability_scanning_config is not None:
465
+ pulumi.set(__self__, "vulnerability_scanning_config", vulnerability_scanning_config)
443
466
 
444
467
  @property
445
468
  @pulumi.getter(name="cleanupPolicies")
@@ -707,6 +730,19 @@ class _RepositoryState:
707
730
  def virtual_repository_config(self, value: Optional[pulumi.Input['RepositoryVirtualRepositoryConfigArgs']]):
708
731
  pulumi.set(self, "virtual_repository_config", value)
709
732
 
733
+ @property
734
+ @pulumi.getter(name="vulnerabilityScanningConfig")
735
+ def vulnerability_scanning_config(self) -> Optional[pulumi.Input['RepositoryVulnerabilityScanningConfigArgs']]:
736
+ """
737
+ Configuration for vulnerability scanning of artifacts stored in this repository.
738
+ Structure is documented below.
739
+ """
740
+ return pulumi.get(self, "vulnerability_scanning_config")
741
+
742
+ @vulnerability_scanning_config.setter
743
+ def vulnerability_scanning_config(self, value: Optional[pulumi.Input['RepositoryVulnerabilityScanningConfigArgs']]):
744
+ pulumi.set(self, "vulnerability_scanning_config", value)
745
+
710
746
 
711
747
  class Repository(pulumi.CustomResource):
712
748
  @overload
@@ -727,6 +763,7 @@ class Repository(pulumi.CustomResource):
727
763
  remote_repository_config: Optional[pulumi.Input[Union['RepositoryRemoteRepositoryConfigArgs', 'RepositoryRemoteRepositoryConfigArgsDict']]] = None,
728
764
  repository_id: Optional[pulumi.Input[str]] = None,
729
765
  virtual_repository_config: Optional[pulumi.Input[Union['RepositoryVirtualRepositoryConfigArgs', 'RepositoryVirtualRepositoryConfigArgsDict']]] = None,
766
+ vulnerability_scanning_config: Optional[pulumi.Input[Union['RepositoryVulnerabilityScanningConfigArgs', 'RepositoryVulnerabilityScanningConfigArgsDict']]] = None,
730
767
  __props__=None):
731
768
  """
732
769
  A repository for storing artifacts
@@ -1196,9 +1233,10 @@ class Repository(pulumi.CustomResource):
1196
1233
  remote_repository_config={
1197
1234
  "description": "pull-through cache of another Artifact Registry repository by URL",
1198
1235
  "common_repository": {
1199
- "uri": "https://us-central1-docker.pkg.dev//example-upstream-repo",
1236
+ "uri": f"https://us-central1-docker.pkg.dev/{project.project_id}/example-upstream-repo",
1200
1237
  },
1201
- })
1238
+ },
1239
+ opts = pulumi.ResourceOptions(depends_on=[upstream_repo]))
1202
1240
  ```
1203
1241
  ### Artifact Registry Repository Remote Common Repository With Custom Upstream
1204
1242
 
@@ -1239,6 +1277,21 @@ class Repository(pulumi.CustomResource):
1239
1277
  },
1240
1278
  })
1241
1279
  ```
1280
+ ### Artifact Registry Repository Vulnerability Scanning
1281
+
1282
+ ```python
1283
+ import pulumi
1284
+ import pulumi_gcp as gcp
1285
+
1286
+ my_repo = gcp.artifactregistry.Repository("my-repo",
1287
+ location="us-central1",
1288
+ repository_id="my-repository",
1289
+ description="example docker repository with vulnerability scanning config",
1290
+ format="DOCKER",
1291
+ vulnerability_scanning_config={
1292
+ "enablement_config": "INHERITED",
1293
+ })
1294
+ ```
1242
1295
 
1243
1296
  ## Import
1244
1297
 
@@ -1316,6 +1369,8 @@ class Repository(pulumi.CustomResource):
1316
1369
  - - -
1317
1370
  :param pulumi.Input[Union['RepositoryVirtualRepositoryConfigArgs', 'RepositoryVirtualRepositoryConfigArgsDict']] virtual_repository_config: Configuration specific for a Virtual Repository.
1318
1371
  Structure is documented below.
1372
+ :param pulumi.Input[Union['RepositoryVulnerabilityScanningConfigArgs', 'RepositoryVulnerabilityScanningConfigArgsDict']] vulnerability_scanning_config: Configuration for vulnerability scanning of artifacts stored in this repository.
1373
+ Structure is documented below.
1319
1374
  """
1320
1375
  ...
1321
1376
  @overload
@@ -1791,9 +1846,10 @@ class Repository(pulumi.CustomResource):
1791
1846
  remote_repository_config={
1792
1847
  "description": "pull-through cache of another Artifact Registry repository by URL",
1793
1848
  "common_repository": {
1794
- "uri": "https://us-central1-docker.pkg.dev//example-upstream-repo",
1849
+ "uri": f"https://us-central1-docker.pkg.dev/{project.project_id}/example-upstream-repo",
1795
1850
  },
1796
- })
1851
+ },
1852
+ opts = pulumi.ResourceOptions(depends_on=[upstream_repo]))
1797
1853
  ```
1798
1854
  ### Artifact Registry Repository Remote Common Repository With Custom Upstream
1799
1855
 
@@ -1834,6 +1890,21 @@ class Repository(pulumi.CustomResource):
1834
1890
  },
1835
1891
  })
1836
1892
  ```
1893
+ ### Artifact Registry Repository Vulnerability Scanning
1894
+
1895
+ ```python
1896
+ import pulumi
1897
+ import pulumi_gcp as gcp
1898
+
1899
+ my_repo = gcp.artifactregistry.Repository("my-repo",
1900
+ location="us-central1",
1901
+ repository_id="my-repository",
1902
+ description="example docker repository with vulnerability scanning config",
1903
+ format="DOCKER",
1904
+ vulnerability_scanning_config={
1905
+ "enablement_config": "INHERITED",
1906
+ })
1907
+ ```
1837
1908
 
1838
1909
  ## Import
1839
1910
 
@@ -1888,6 +1959,7 @@ class Repository(pulumi.CustomResource):
1888
1959
  remote_repository_config: Optional[pulumi.Input[Union['RepositoryRemoteRepositoryConfigArgs', 'RepositoryRemoteRepositoryConfigArgsDict']]] = None,
1889
1960
  repository_id: Optional[pulumi.Input[str]] = None,
1890
1961
  virtual_repository_config: Optional[pulumi.Input[Union['RepositoryVirtualRepositoryConfigArgs', 'RepositoryVirtualRepositoryConfigArgsDict']]] = None,
1962
+ vulnerability_scanning_config: Optional[pulumi.Input[Union['RepositoryVulnerabilityScanningConfigArgs', 'RepositoryVulnerabilityScanningConfigArgsDict']]] = None,
1891
1963
  __props__=None):
1892
1964
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1893
1965
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1915,6 +1987,7 @@ class Repository(pulumi.CustomResource):
1915
1987
  raise TypeError("Missing required property 'repository_id'")
1916
1988
  __props__.__dict__["repository_id"] = repository_id
1917
1989
  __props__.__dict__["virtual_repository_config"] = virtual_repository_config
1990
+ __props__.__dict__["vulnerability_scanning_config"] = vulnerability_scanning_config
1918
1991
  __props__.__dict__["create_time"] = None
1919
1992
  __props__.__dict__["effective_labels"] = None
1920
1993
  __props__.__dict__["name"] = None
@@ -1950,7 +2023,8 @@ class Repository(pulumi.CustomResource):
1950
2023
  remote_repository_config: Optional[pulumi.Input[Union['RepositoryRemoteRepositoryConfigArgs', 'RepositoryRemoteRepositoryConfigArgsDict']]] = None,
1951
2024
  repository_id: Optional[pulumi.Input[str]] = None,
1952
2025
  update_time: Optional[pulumi.Input[str]] = None,
1953
- virtual_repository_config: Optional[pulumi.Input[Union['RepositoryVirtualRepositoryConfigArgs', 'RepositoryVirtualRepositoryConfigArgsDict']]] = None) -> 'Repository':
2026
+ virtual_repository_config: Optional[pulumi.Input[Union['RepositoryVirtualRepositoryConfigArgs', 'RepositoryVirtualRepositoryConfigArgsDict']]] = None,
2027
+ vulnerability_scanning_config: Optional[pulumi.Input[Union['RepositoryVulnerabilityScanningConfigArgs', 'RepositoryVulnerabilityScanningConfigArgsDict']]] = None) -> 'Repository':
1954
2028
  """
1955
2029
  Get an existing Repository resource's state with the given name, id, and optional extra
1956
2030
  properties used to qualify the lookup.
@@ -2015,6 +2089,8 @@ class Repository(pulumi.CustomResource):
2015
2089
  :param pulumi.Input[str] update_time: The time when the repository was last updated.
2016
2090
  :param pulumi.Input[Union['RepositoryVirtualRepositoryConfigArgs', 'RepositoryVirtualRepositoryConfigArgsDict']] virtual_repository_config: Configuration specific for a Virtual Repository.
2017
2091
  Structure is documented below.
2092
+ :param pulumi.Input[Union['RepositoryVulnerabilityScanningConfigArgs', 'RepositoryVulnerabilityScanningConfigArgsDict']] vulnerability_scanning_config: Configuration for vulnerability scanning of artifacts stored in this repository.
2093
+ Structure is documented below.
2018
2094
  """
2019
2095
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
2020
2096
 
@@ -2039,6 +2115,7 @@ class Repository(pulumi.CustomResource):
2039
2115
  __props__.__dict__["repository_id"] = repository_id
2040
2116
  __props__.__dict__["update_time"] = update_time
2041
2117
  __props__.__dict__["virtual_repository_config"] = virtual_repository_config
2118
+ __props__.__dict__["vulnerability_scanning_config"] = vulnerability_scanning_config
2042
2119
  return Repository(resource_name, opts=opts, __props__=__props__)
2043
2120
 
2044
2121
  @property
@@ -2231,3 +2308,12 @@ class Repository(pulumi.CustomResource):
2231
2308
  """
2232
2309
  return pulumi.get(self, "virtual_repository_config")
2233
2310
 
2311
+ @property
2312
+ @pulumi.getter(name="vulnerabilityScanningConfig")
2313
+ def vulnerability_scanning_config(self) -> pulumi.Output['outputs.RepositoryVulnerabilityScanningConfig']:
2314
+ """
2315
+ Configuration for vulnerability scanning of artifacts stored in this repository.
2316
+ Structure is documented below.
2317
+ """
2318
+ return pulumi.get(self, "vulnerability_scanning_config")
2319
+