pulumi-gcp 8.11.0a1734348982__py3-none-any.whl → 8.12.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. pulumi_gcp/__init__.py +123 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  6. pulumi_gcp/apigee/app_group.py +7 -7
  7. pulumi_gcp/applicationintegration/client.py +8 -6
  8. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  9. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +12 -4
  10. pulumi_gcp/artifactregistry/outputs.py +32 -20
  11. pulumi_gcp/artifactregistry/repository.py +214 -39
  12. pulumi_gcp/artifactregistry/repository_iam_binding.py +42 -14
  13. pulumi_gcp/artifactregistry/repository_iam_member.py +42 -14
  14. pulumi_gcp/artifactregistry/repository_iam_policy.py +42 -14
  15. pulumi_gcp/assuredworkloads/workload.py +7 -7
  16. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  17. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  18. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  19. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  20. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  21. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  22. pulumi_gcp/bigquery/app_profile.py +75 -0
  23. pulumi_gcp/billing/_inputs.py +6 -6
  24. pulumi_gcp/billing/outputs.py +4 -4
  25. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  26. pulumi_gcp/certificateauthority/outputs.py +8 -8
  27. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  28. pulumi_gcp/cloudbuild/outputs.py +50 -0
  29. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  30. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  31. pulumi_gcp/clouddeploy/outputs.py +211 -0
  32. pulumi_gcp/clouddeploy/target.py +47 -0
  33. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  34. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  35. pulumi_gcp/cloudrunv2/job.py +4 -4
  36. pulumi_gcp/cloudrunv2/service.py +4 -4
  37. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  38. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  39. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  40. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  41. pulumi_gcp/compute/_inputs.py +566 -25
  42. pulumi_gcp/compute/disk.py +21 -7
  43. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  44. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  45. pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
  46. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  47. pulumi_gcp/compute/get_network.py +35 -1
  48. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  49. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  50. pulumi_gcp/compute/global_forwarding_rule.py +142 -2
  51. pulumi_gcp/compute/instance_group_manager.py +28 -0
  52. pulumi_gcp/compute/network.py +75 -0
  53. pulumi_gcp/compute/outputs.py +655 -26
  54. pulumi_gcp/compute/project_cloud_armor_tier.py +7 -7
  55. pulumi_gcp/compute/region_health_check.py +28 -0
  56. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  57. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  58. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  59. pulumi_gcp/compute/subnetwork.py +30 -2
  60. pulumi_gcp/compute/url_map.py +7 -7
  61. pulumi_gcp/config/__init__.pyi +2 -0
  62. pulumi_gcp/config/vars.py +4 -0
  63. pulumi_gcp/container/_inputs.py +201 -3
  64. pulumi_gcp/container/cluster.py +68 -14
  65. pulumi_gcp/container/get_cluster.py +12 -1
  66. pulumi_gcp/container/outputs.py +249 -3
  67. pulumi_gcp/dataproc/_inputs.py +209 -1
  68. pulumi_gcp/dataproc/batch.py +76 -0
  69. pulumi_gcp/dataproc/outputs.py +169 -3
  70. pulumi_gcp/diagflow/_inputs.py +3 -3
  71. pulumi_gcp/diagflow/outputs.py +2 -2
  72. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  73. pulumi_gcp/firebase/_inputs.py +99 -0
  74. pulumi_gcp/firebase/database_instance.py +24 -6
  75. pulumi_gcp/firebase/hosting_version.py +96 -0
  76. pulumi_gcp/firebase/outputs.py +59 -0
  77. pulumi_gcp/firebase/project.py +6 -6
  78. pulumi_gcp/firebaserules/release.py +76 -0
  79. pulumi_gcp/firestore/field.py +4 -4
  80. pulumi_gcp/gemini/__init__.py +15 -0
  81. pulumi_gcp/gemini/_inputs.py +183 -0
  82. pulumi_gcp/gemini/code_repository_index.py +659 -0
  83. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  84. pulumi_gcp/gemini/outputs.py +130 -0
  85. pulumi_gcp/gemini/repository_group.py +586 -0
  86. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  87. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  88. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  89. pulumi_gcp/gkehub/_inputs.py +30 -10
  90. pulumi_gcp/gkehub/membership_binding.py +6 -6
  91. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  92. pulumi_gcp/gkehub/namespace.py +4 -4
  93. pulumi_gcp/gkehub/outputs.py +21 -7
  94. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  95. pulumi_gcp/iam/__init__.py +1 -0
  96. pulumi_gcp/iam/_inputs.py +137 -0
  97. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  98. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  99. pulumi_gcp/iam/outputs.py +99 -0
  100. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  101. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  102. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  103. pulumi_gcp/identityplatform/_inputs.py +6 -6
  104. pulumi_gcp/identityplatform/config.py +2 -2
  105. pulumi_gcp/identityplatform/outputs.py +4 -4
  106. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  107. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  108. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  109. pulumi_gcp/looker/instance.py +35 -14
  110. pulumi_gcp/monitoring/_inputs.py +13 -6
  111. pulumi_gcp/monitoring/outputs.py +10 -4
  112. pulumi_gcp/netapp/_inputs.py +3 -3
  113. pulumi_gcp/netapp/active_directory.py +7 -7
  114. pulumi_gcp/netapp/outputs.py +2 -2
  115. pulumi_gcp/netapp/volume.py +11 -11
  116. pulumi_gcp/networkconnectivity/_inputs.py +10 -12
  117. pulumi_gcp/networkconnectivity/outputs.py +6 -8
  118. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  119. pulumi_gcp/networksecurity/__init__.py +7 -0
  120. pulumi_gcp/networksecurity/_inputs.py +2018 -0
  121. pulumi_gcp/networksecurity/authz_policy.py +1008 -0
  122. pulumi_gcp/networksecurity/intercept_deployment.py +846 -0
  123. pulumi_gcp/networksecurity/intercept_deployment_group.py +752 -0
  124. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  125. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  126. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  127. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  128. pulumi_gcp/networksecurity/outputs.py +1463 -0
  129. pulumi_gcp/networkservices/__init__.py +1 -0
  130. pulumi_gcp/networkservices/authz_extension.py +1080 -0
  131. pulumi_gcp/oracledatabase/autonomous_database.py +46 -8
  132. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  133. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  134. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  135. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  136. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  137. pulumi_gcp/oracledatabase/outputs.py +21 -0
  138. pulumi_gcp/orgpolicy/_inputs.py +40 -0
  139. pulumi_gcp/orgpolicy/outputs.py +24 -0
  140. pulumi_gcp/orgpolicy/policy.py +66 -10
  141. pulumi_gcp/parallelstore/instance.py +4 -0
  142. pulumi_gcp/provider.py +20 -0
  143. pulumi_gcp/pubsub/subscription.py +6 -6
  144. pulumi_gcp/pulumi-plugin.json +1 -1
  145. pulumi_gcp/redis/_inputs.py +435 -3
  146. pulumi_gcp/redis/cluster.py +287 -16
  147. pulumi_gcp/redis/outputs.py +304 -2
  148. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  149. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  150. pulumi_gcp/sql/_inputs.py +3 -3
  151. pulumi_gcp/sql/database_instance.py +14 -14
  152. pulumi_gcp/sql/outputs.py +2 -2
  153. pulumi_gcp/storage/_inputs.py +53 -6
  154. pulumi_gcp/storage/get_bucket.py +2 -2
  155. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  156. pulumi_gcp/storage/outputs.py +33 -4
  157. pulumi_gcp/tpu/__init__.py +1 -0
  158. pulumi_gcp/tpu/_inputs.py +214 -24
  159. pulumi_gcp/tpu/outputs.py +182 -16
  160. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  161. pulumi_gcp/tpu/v2_vm.py +63 -0
  162. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  163. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  164. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  165. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/METADATA +1 -1
  166. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/RECORD +168 -147
  167. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/WHEEL +0 -0
  168. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,586 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['RepositoryGroupArgs', 'RepositoryGroup']
20
+
21
+ @pulumi.input_type
22
+ class RepositoryGroupArgs:
23
+ def __init__(__self__, *,
24
+ code_repository_index: pulumi.Input[str],
25
+ location: pulumi.Input[str],
26
+ repositories: pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]],
27
+ repository_group_id: pulumi.Input[str],
28
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
29
+ project: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a RepositoryGroup resource.
32
+ :param pulumi.Input[str] code_repository_index: Required. Id of the Code Repository Index.
33
+ :param pulumi.Input[str] location: The location of the Code Repository Index, for example `us-central1`.
34
+ :param pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]] repositories: Required. List of repositories to group
35
+ Structure is documented below.
36
+ :param pulumi.Input[str] repository_group_id: Required. Id of the Repository Group.
37
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
38
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
39
+ """
40
+ pulumi.set(__self__, "code_repository_index", code_repository_index)
41
+ pulumi.set(__self__, "location", location)
42
+ pulumi.set(__self__, "repositories", repositories)
43
+ pulumi.set(__self__, "repository_group_id", repository_group_id)
44
+ if labels is not None:
45
+ pulumi.set(__self__, "labels", labels)
46
+ if project is not None:
47
+ pulumi.set(__self__, "project", project)
48
+
49
+ @property
50
+ @pulumi.getter(name="codeRepositoryIndex")
51
+ def code_repository_index(self) -> pulumi.Input[str]:
52
+ """
53
+ Required. Id of the Code Repository Index.
54
+ """
55
+ return pulumi.get(self, "code_repository_index")
56
+
57
+ @code_repository_index.setter
58
+ def code_repository_index(self, value: pulumi.Input[str]):
59
+ pulumi.set(self, "code_repository_index", value)
60
+
61
+ @property
62
+ @pulumi.getter
63
+ def location(self) -> pulumi.Input[str]:
64
+ """
65
+ The location of the Code Repository Index, for example `us-central1`.
66
+ """
67
+ return pulumi.get(self, "location")
68
+
69
+ @location.setter
70
+ def location(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "location", value)
72
+
73
+ @property
74
+ @pulumi.getter
75
+ def repositories(self) -> pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]]:
76
+ """
77
+ Required. List of repositories to group
78
+ Structure is documented below.
79
+ """
80
+ return pulumi.get(self, "repositories")
81
+
82
+ @repositories.setter
83
+ def repositories(self, value: pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]]):
84
+ pulumi.set(self, "repositories", value)
85
+
86
+ @property
87
+ @pulumi.getter(name="repositoryGroupId")
88
+ def repository_group_id(self) -> pulumi.Input[str]:
89
+ """
90
+ Required. Id of the Repository Group.
91
+ """
92
+ return pulumi.get(self, "repository_group_id")
93
+
94
+ @repository_group_id.setter
95
+ def repository_group_id(self, value: pulumi.Input[str]):
96
+ pulumi.set(self, "repository_group_id", value)
97
+
98
+ @property
99
+ @pulumi.getter
100
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
101
+ """
102
+ Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
103
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
104
+ """
105
+ return pulumi.get(self, "labels")
106
+
107
+ @labels.setter
108
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
109
+ pulumi.set(self, "labels", value)
110
+
111
+ @property
112
+ @pulumi.getter
113
+ def project(self) -> Optional[pulumi.Input[str]]:
114
+ return pulumi.get(self, "project")
115
+
116
+ @project.setter
117
+ def project(self, value: Optional[pulumi.Input[str]]):
118
+ pulumi.set(self, "project", value)
119
+
120
+
121
+ @pulumi.input_type
122
+ class _RepositoryGroupState:
123
+ def __init__(__self__, *,
124
+ code_repository_index: Optional[pulumi.Input[str]] = None,
125
+ create_time: Optional[pulumi.Input[str]] = None,
126
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
127
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
128
+ location: Optional[pulumi.Input[str]] = None,
129
+ name: Optional[pulumi.Input[str]] = None,
130
+ project: Optional[pulumi.Input[str]] = None,
131
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
132
+ repositories: Optional[pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]]] = None,
133
+ repository_group_id: Optional[pulumi.Input[str]] = None,
134
+ update_time: Optional[pulumi.Input[str]] = None):
135
+ """
136
+ Input properties used for looking up and filtering RepositoryGroup resources.
137
+ :param pulumi.Input[str] code_repository_index: Required. Id of the Code Repository Index.
138
+ :param pulumi.Input[str] create_time: Output only. Create time stamp
139
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
140
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
141
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
142
+ :param pulumi.Input[str] location: The location of the Code Repository Index, for example `us-central1`.
143
+ :param pulumi.Input[str] name: Immutable. Identifier. name of resource
144
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
145
+ and default labels configured on the provider.
146
+ :param pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]] repositories: Required. List of repositories to group
147
+ Structure is documented below.
148
+ :param pulumi.Input[str] repository_group_id: Required. Id of the Repository Group.
149
+ :param pulumi.Input[str] update_time: Output only. Update time stamp
150
+ """
151
+ if code_repository_index is not None:
152
+ pulumi.set(__self__, "code_repository_index", code_repository_index)
153
+ if create_time is not None:
154
+ pulumi.set(__self__, "create_time", create_time)
155
+ if effective_labels is not None:
156
+ pulumi.set(__self__, "effective_labels", effective_labels)
157
+ if labels is not None:
158
+ pulumi.set(__self__, "labels", labels)
159
+ if location is not None:
160
+ pulumi.set(__self__, "location", location)
161
+ if name is not None:
162
+ pulumi.set(__self__, "name", name)
163
+ if project is not None:
164
+ pulumi.set(__self__, "project", project)
165
+ if pulumi_labels is not None:
166
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
167
+ if repositories is not None:
168
+ pulumi.set(__self__, "repositories", repositories)
169
+ if repository_group_id is not None:
170
+ pulumi.set(__self__, "repository_group_id", repository_group_id)
171
+ if update_time is not None:
172
+ pulumi.set(__self__, "update_time", update_time)
173
+
174
+ @property
175
+ @pulumi.getter(name="codeRepositoryIndex")
176
+ def code_repository_index(self) -> Optional[pulumi.Input[str]]:
177
+ """
178
+ Required. Id of the Code Repository Index.
179
+ """
180
+ return pulumi.get(self, "code_repository_index")
181
+
182
+ @code_repository_index.setter
183
+ def code_repository_index(self, value: Optional[pulumi.Input[str]]):
184
+ pulumi.set(self, "code_repository_index", value)
185
+
186
+ @property
187
+ @pulumi.getter(name="createTime")
188
+ def create_time(self) -> Optional[pulumi.Input[str]]:
189
+ """
190
+ Output only. Create time stamp
191
+ """
192
+ return pulumi.get(self, "create_time")
193
+
194
+ @create_time.setter
195
+ def create_time(self, value: Optional[pulumi.Input[str]]):
196
+ pulumi.set(self, "create_time", value)
197
+
198
+ @property
199
+ @pulumi.getter(name="effectiveLabels")
200
+ def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
201
+ """
202
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
203
+ """
204
+ return pulumi.get(self, "effective_labels")
205
+
206
+ @effective_labels.setter
207
+ def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
208
+ pulumi.set(self, "effective_labels", value)
209
+
210
+ @property
211
+ @pulumi.getter
212
+ def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
213
+ """
214
+ Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
215
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
216
+ """
217
+ return pulumi.get(self, "labels")
218
+
219
+ @labels.setter
220
+ def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
221
+ pulumi.set(self, "labels", value)
222
+
223
+ @property
224
+ @pulumi.getter
225
+ def location(self) -> Optional[pulumi.Input[str]]:
226
+ """
227
+ The location of the Code Repository Index, for example `us-central1`.
228
+ """
229
+ return pulumi.get(self, "location")
230
+
231
+ @location.setter
232
+ def location(self, value: Optional[pulumi.Input[str]]):
233
+ pulumi.set(self, "location", value)
234
+
235
+ @property
236
+ @pulumi.getter
237
+ def name(self) -> Optional[pulumi.Input[str]]:
238
+ """
239
+ Immutable. Identifier. name of resource
240
+ """
241
+ return pulumi.get(self, "name")
242
+
243
+ @name.setter
244
+ def name(self, value: Optional[pulumi.Input[str]]):
245
+ pulumi.set(self, "name", value)
246
+
247
+ @property
248
+ @pulumi.getter
249
+ def project(self) -> Optional[pulumi.Input[str]]:
250
+ return pulumi.get(self, "project")
251
+
252
+ @project.setter
253
+ def project(self, value: Optional[pulumi.Input[str]]):
254
+ pulumi.set(self, "project", value)
255
+
256
+ @property
257
+ @pulumi.getter(name="pulumiLabels")
258
+ def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
259
+ """
260
+ The combination of labels configured directly on the resource
261
+ and default labels configured on the provider.
262
+ """
263
+ return pulumi.get(self, "pulumi_labels")
264
+
265
+ @pulumi_labels.setter
266
+ def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
267
+ pulumi.set(self, "pulumi_labels", value)
268
+
269
+ @property
270
+ @pulumi.getter
271
+ def repositories(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]]]:
272
+ """
273
+ Required. List of repositories to group
274
+ Structure is documented below.
275
+ """
276
+ return pulumi.get(self, "repositories")
277
+
278
+ @repositories.setter
279
+ def repositories(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RepositoryGroupRepositoryArgs']]]]):
280
+ pulumi.set(self, "repositories", value)
281
+
282
+ @property
283
+ @pulumi.getter(name="repositoryGroupId")
284
+ def repository_group_id(self) -> Optional[pulumi.Input[str]]:
285
+ """
286
+ Required. Id of the Repository Group.
287
+ """
288
+ return pulumi.get(self, "repository_group_id")
289
+
290
+ @repository_group_id.setter
291
+ def repository_group_id(self, value: Optional[pulumi.Input[str]]):
292
+ pulumi.set(self, "repository_group_id", value)
293
+
294
+ @property
295
+ @pulumi.getter(name="updateTime")
296
+ def update_time(self) -> Optional[pulumi.Input[str]]:
297
+ """
298
+ Output only. Update time stamp
299
+ """
300
+ return pulumi.get(self, "update_time")
301
+
302
+ @update_time.setter
303
+ def update_time(self, value: Optional[pulumi.Input[str]]):
304
+ pulumi.set(self, "update_time", value)
305
+
306
+
307
+ class RepositoryGroup(pulumi.CustomResource):
308
+ @overload
309
+ def __init__(__self__,
310
+ resource_name: str,
311
+ opts: Optional[pulumi.ResourceOptions] = None,
312
+ code_repository_index: Optional[pulumi.Input[str]] = None,
313
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
314
+ location: Optional[pulumi.Input[str]] = None,
315
+ project: Optional[pulumi.Input[str]] = None,
316
+ repositories: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RepositoryGroupRepositoryArgs', 'RepositoryGroupRepositoryArgsDict']]]]] = None,
317
+ repository_group_id: Optional[pulumi.Input[str]] = None,
318
+ __props__=None):
319
+ """
320
+ ## Example Usage
321
+
322
+ ## Import
323
+
324
+ RepositoryGroup can be imported using any of these accepted formats:
325
+
326
+ * `projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}`
327
+
328
+ * `{{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}`
329
+
330
+ * `{{location}}/{{code_repository_index}}/{{repository_group_id}}`
331
+
332
+ When using the `pulumi import` command, RepositoryGroup can be imported using one of the formats above. For example:
333
+
334
+ ```sh
335
+ $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}
336
+ ```
337
+
338
+ ```sh
339
+ $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default {{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}
340
+ ```
341
+
342
+ ```sh
343
+ $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default {{location}}/{{code_repository_index}}/{{repository_group_id}}
344
+ ```
345
+
346
+ :param str resource_name: The name of the resource.
347
+ :param pulumi.ResourceOptions opts: Options for the resource.
348
+ :param pulumi.Input[str] code_repository_index: Required. Id of the Code Repository Index.
349
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
350
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
351
+ :param pulumi.Input[str] location: The location of the Code Repository Index, for example `us-central1`.
352
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RepositoryGroupRepositoryArgs', 'RepositoryGroupRepositoryArgsDict']]]] repositories: Required. List of repositories to group
353
+ Structure is documented below.
354
+ :param pulumi.Input[str] repository_group_id: Required. Id of the Repository Group.
355
+ """
356
+ ...
357
+ @overload
358
+ def __init__(__self__,
359
+ resource_name: str,
360
+ args: RepositoryGroupArgs,
361
+ opts: Optional[pulumi.ResourceOptions] = None):
362
+ """
363
+ ## Example Usage
364
+
365
+ ## Import
366
+
367
+ RepositoryGroup can be imported using any of these accepted formats:
368
+
369
+ * `projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}`
370
+
371
+ * `{{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}`
372
+
373
+ * `{{location}}/{{code_repository_index}}/{{repository_group_id}}`
374
+
375
+ When using the `pulumi import` command, RepositoryGroup can be imported using one of the formats above. For example:
376
+
377
+ ```sh
378
+ $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default projects/{{project}}/locations/{{location}}/codeRepositoryIndexes/{{code_repository_index}}/repositoryGroups/{{repository_group_id}}
379
+ ```
380
+
381
+ ```sh
382
+ $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default {{project}}/{{location}}/{{code_repository_index}}/{{repository_group_id}}
383
+ ```
384
+
385
+ ```sh
386
+ $ pulumi import gcp:gemini/repositoryGroup:RepositoryGroup default {{location}}/{{code_repository_index}}/{{repository_group_id}}
387
+ ```
388
+
389
+ :param str resource_name: The name of the resource.
390
+ :param RepositoryGroupArgs args: The arguments to use to populate this resource's properties.
391
+ :param pulumi.ResourceOptions opts: Options for the resource.
392
+ """
393
+ ...
394
+ def __init__(__self__, resource_name: str, *args, **kwargs):
395
+ resource_args, opts = _utilities.get_resource_args_opts(RepositoryGroupArgs, pulumi.ResourceOptions, *args, **kwargs)
396
+ if resource_args is not None:
397
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
398
+ else:
399
+ __self__._internal_init(resource_name, *args, **kwargs)
400
+
401
+ def _internal_init(__self__,
402
+ resource_name: str,
403
+ opts: Optional[pulumi.ResourceOptions] = None,
404
+ code_repository_index: Optional[pulumi.Input[str]] = None,
405
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
406
+ location: Optional[pulumi.Input[str]] = None,
407
+ project: Optional[pulumi.Input[str]] = None,
408
+ repositories: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RepositoryGroupRepositoryArgs', 'RepositoryGroupRepositoryArgsDict']]]]] = None,
409
+ repository_group_id: Optional[pulumi.Input[str]] = None,
410
+ __props__=None):
411
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
412
+ if not isinstance(opts, pulumi.ResourceOptions):
413
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
414
+ if opts.id is None:
415
+ if __props__ is not None:
416
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
417
+ __props__ = RepositoryGroupArgs.__new__(RepositoryGroupArgs)
418
+
419
+ if code_repository_index is None and not opts.urn:
420
+ raise TypeError("Missing required property 'code_repository_index'")
421
+ __props__.__dict__["code_repository_index"] = code_repository_index
422
+ __props__.__dict__["labels"] = labels
423
+ if location is None and not opts.urn:
424
+ raise TypeError("Missing required property 'location'")
425
+ __props__.__dict__["location"] = location
426
+ __props__.__dict__["project"] = project
427
+ if repositories is None and not opts.urn:
428
+ raise TypeError("Missing required property 'repositories'")
429
+ __props__.__dict__["repositories"] = repositories
430
+ if repository_group_id is None and not opts.urn:
431
+ raise TypeError("Missing required property 'repository_group_id'")
432
+ __props__.__dict__["repository_group_id"] = repository_group_id
433
+ __props__.__dict__["create_time"] = None
434
+ __props__.__dict__["effective_labels"] = None
435
+ __props__.__dict__["name"] = None
436
+ __props__.__dict__["pulumi_labels"] = None
437
+ __props__.__dict__["update_time"] = None
438
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "pulumiLabels"])
439
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
440
+ super(RepositoryGroup, __self__).__init__(
441
+ 'gcp:gemini/repositoryGroup:RepositoryGroup',
442
+ resource_name,
443
+ __props__,
444
+ opts)
445
+
446
+ @staticmethod
447
+ def get(resource_name: str,
448
+ id: pulumi.Input[str],
449
+ opts: Optional[pulumi.ResourceOptions] = None,
450
+ code_repository_index: Optional[pulumi.Input[str]] = None,
451
+ create_time: Optional[pulumi.Input[str]] = None,
452
+ effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
453
+ labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
454
+ location: Optional[pulumi.Input[str]] = None,
455
+ name: Optional[pulumi.Input[str]] = None,
456
+ project: Optional[pulumi.Input[str]] = None,
457
+ pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
458
+ repositories: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RepositoryGroupRepositoryArgs', 'RepositoryGroupRepositoryArgsDict']]]]] = None,
459
+ repository_group_id: Optional[pulumi.Input[str]] = None,
460
+ update_time: Optional[pulumi.Input[str]] = None) -> 'RepositoryGroup':
461
+ """
462
+ Get an existing RepositoryGroup resource's state with the given name, id, and optional extra
463
+ properties used to qualify the lookup.
464
+
465
+ :param str resource_name: The unique name of the resulting resource.
466
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
467
+ :param pulumi.ResourceOptions opts: Options for the resource.
468
+ :param pulumi.Input[str] code_repository_index: Required. Id of the Code Repository Index.
469
+ :param pulumi.Input[str] create_time: Output only. Create time stamp
470
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
471
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
472
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
473
+ :param pulumi.Input[str] location: The location of the Code Repository Index, for example `us-central1`.
474
+ :param pulumi.Input[str] name: Immutable. Identifier. name of resource
475
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
476
+ and default labels configured on the provider.
477
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RepositoryGroupRepositoryArgs', 'RepositoryGroupRepositoryArgsDict']]]] repositories: Required. List of repositories to group
478
+ Structure is documented below.
479
+ :param pulumi.Input[str] repository_group_id: Required. Id of the Repository Group.
480
+ :param pulumi.Input[str] update_time: Output only. Update time stamp
481
+ """
482
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
483
+
484
+ __props__ = _RepositoryGroupState.__new__(_RepositoryGroupState)
485
+
486
+ __props__.__dict__["code_repository_index"] = code_repository_index
487
+ __props__.__dict__["create_time"] = create_time
488
+ __props__.__dict__["effective_labels"] = effective_labels
489
+ __props__.__dict__["labels"] = labels
490
+ __props__.__dict__["location"] = location
491
+ __props__.__dict__["name"] = name
492
+ __props__.__dict__["project"] = project
493
+ __props__.__dict__["pulumi_labels"] = pulumi_labels
494
+ __props__.__dict__["repositories"] = repositories
495
+ __props__.__dict__["repository_group_id"] = repository_group_id
496
+ __props__.__dict__["update_time"] = update_time
497
+ return RepositoryGroup(resource_name, opts=opts, __props__=__props__)
498
+
499
+ @property
500
+ @pulumi.getter(name="codeRepositoryIndex")
501
+ def code_repository_index(self) -> pulumi.Output[str]:
502
+ """
503
+ Required. Id of the Code Repository Index.
504
+ """
505
+ return pulumi.get(self, "code_repository_index")
506
+
507
+ @property
508
+ @pulumi.getter(name="createTime")
509
+ def create_time(self) -> pulumi.Output[str]:
510
+ """
511
+ Output only. Create time stamp
512
+ """
513
+ return pulumi.get(self, "create_time")
514
+
515
+ @property
516
+ @pulumi.getter(name="effectiveLabels")
517
+ def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
518
+ """
519
+ All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
520
+ """
521
+ return pulumi.get(self, "effective_labels")
522
+
523
+ @property
524
+ @pulumi.getter
525
+ def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
526
+ """
527
+ Optional. Labels as key value pairs **Note**: This field is non-authoritative, and will only manage the labels present
528
+ in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
529
+ """
530
+ return pulumi.get(self, "labels")
531
+
532
+ @property
533
+ @pulumi.getter
534
+ def location(self) -> pulumi.Output[str]:
535
+ """
536
+ The location of the Code Repository Index, for example `us-central1`.
537
+ """
538
+ return pulumi.get(self, "location")
539
+
540
+ @property
541
+ @pulumi.getter
542
+ def name(self) -> pulumi.Output[str]:
543
+ """
544
+ Immutable. Identifier. name of resource
545
+ """
546
+ return pulumi.get(self, "name")
547
+
548
+ @property
549
+ @pulumi.getter
550
+ def project(self) -> pulumi.Output[str]:
551
+ return pulumi.get(self, "project")
552
+
553
+ @property
554
+ @pulumi.getter(name="pulumiLabels")
555
+ def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
556
+ """
557
+ The combination of labels configured directly on the resource
558
+ and default labels configured on the provider.
559
+ """
560
+ return pulumi.get(self, "pulumi_labels")
561
+
562
+ @property
563
+ @pulumi.getter
564
+ def repositories(self) -> pulumi.Output[Sequence['outputs.RepositoryGroupRepository']]:
565
+ """
566
+ Required. List of repositories to group
567
+ Structure is documented below.
568
+ """
569
+ return pulumi.get(self, "repositories")
570
+
571
+ @property
572
+ @pulumi.getter(name="repositoryGroupId")
573
+ def repository_group_id(self) -> pulumi.Output[str]:
574
+ """
575
+ Required. Id of the Repository Group.
576
+ """
577
+ return pulumi.get(self, "repository_group_id")
578
+
579
+ @property
580
+ @pulumi.getter(name="updateTime")
581
+ def update_time(self) -> pulumi.Output[str]:
582
+ """
583
+ Output only. Update time stamp
584
+ """
585
+ return pulumi.get(self, "update_time")
586
+