pulumi-gcp 7.31.0a1720765508__py3-none-any.whl → 7.31.0a1721039192__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 (86) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/applicationintegration/auth_config.py +2 -2
  3. pulumi_gcp/bigquery/reservation_assignment.py +48 -30
  4. pulumi_gcp/certificateauthority/certificate_template.py +2 -2
  5. pulumi_gcp/certificatemanager/_inputs.py +33 -0
  6. pulumi_gcp/certificatemanager/outputs.py +36 -0
  7. pulumi_gcp/certificatemanager/trust_config.py +107 -0
  8. pulumi_gcp/compute/_inputs.py +3 -6
  9. pulumi_gcp/compute/ca_external_account_key.py +2 -2
  10. pulumi_gcp/compute/get_health_check.py +11 -1
  11. pulumi_gcp/compute/global_forwarding_rule.py +2 -4
  12. pulumi_gcp/compute/health_check.py +124 -0
  13. pulumi_gcp/compute/instance.py +14 -14
  14. pulumi_gcp/compute/instance_group_membership.py +2 -2
  15. pulumi_gcp/compute/outputs.py +4 -8
  16. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  17. pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
  18. pulumi_gcp/compute/subnetwork.py +2 -2
  19. pulumi_gcp/config/__init__.pyi +2 -0
  20. pulumi_gcp/config/vars.py +4 -0
  21. pulumi_gcp/container/_inputs.py +3 -3
  22. pulumi_gcp/container/outputs.py +4 -4
  23. pulumi_gcp/containeranalysis/note.py +2 -2
  24. pulumi_gcp/dataloss/_inputs.py +3 -0
  25. pulumi_gcp/dataloss/outputs.py +2 -0
  26. pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
  27. pulumi_gcp/dataplex/_inputs.py +56 -0
  28. pulumi_gcp/dataplex/datascan.py +12 -0
  29. pulumi_gcp/dataplex/outputs.py +52 -0
  30. pulumi_gcp/filestore/backup.py +2 -2
  31. pulumi_gcp/filestore/instance.py +2 -2
  32. pulumi_gcp/filestore/snapshot.py +2 -2
  33. pulumi_gcp/gkehub/_inputs.py +20 -0
  34. pulumi_gcp/gkehub/outputs.py +12 -0
  35. pulumi_gcp/kms/__init__.py +2 -0
  36. pulumi_gcp/kms/crypto_key.py +7 -7
  37. pulumi_gcp/kms/get_crypto_keys.py +143 -0
  38. pulumi_gcp/kms/get_key_rings.py +119 -0
  39. pulumi_gcp/kms/outputs.py +270 -0
  40. pulumi_gcp/logging/_inputs.py +12 -12
  41. pulumi_gcp/logging/folder_bucket_config.py +6 -6
  42. pulumi_gcp/logging/organization_bucket_config.py +6 -6
  43. pulumi_gcp/logging/outputs.py +8 -8
  44. pulumi_gcp/logging/project_bucket_config.py +6 -6
  45. pulumi_gcp/looker/instance.py +2 -2
  46. pulumi_gcp/monitoring/custom_service.py +2 -2
  47. pulumi_gcp/monitoring/generic_service.py +2 -2
  48. pulumi_gcp/monitoring/notification_channel.py +2 -2
  49. pulumi_gcp/monitoring/slo.py +2 -2
  50. pulumi_gcp/netapp/storage_pool.py +132 -53
  51. pulumi_gcp/netapp/volume.py +60 -4
  52. pulumi_gcp/networksecurity/address_group.py +85 -1
  53. pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
  54. pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
  55. pulumi_gcp/networksecurity/security_profile_group.py +2 -2
  56. pulumi_gcp/orgpolicy/_inputs.py +40 -10
  57. pulumi_gcp/orgpolicy/outputs.py +28 -8
  58. pulumi_gcp/orgpolicy/policy.py +52 -35
  59. pulumi_gcp/provider.py +20 -0
  60. pulumi_gcp/pubsub/_inputs.py +3 -3
  61. pulumi_gcp/pubsub/outputs.py +4 -4
  62. pulumi_gcp/pulumi-plugin.json +1 -1
  63. pulumi_gcp/securesourcemanager/__init__.py +5 -0
  64. pulumi_gcp/securesourcemanager/_inputs.py +284 -0
  65. pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
  66. pulumi_gcp/securesourcemanager/outputs.py +202 -0
  67. pulumi_gcp/securesourcemanager/repository.py +715 -0
  68. pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
  69. pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
  70. pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
  71. pulumi_gcp/securitycenter/__init__.py +1 -0
  72. pulumi_gcp/securitycenter/_inputs.py +93 -0
  73. pulumi_gcp/securitycenter/outputs.py +59 -0
  74. pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
  75. pulumi_gcp/securityposture/posture_deployment.py +0 -78
  76. pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
  77. pulumi_gcp/vertex/_inputs.py +21 -1
  78. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
  79. pulumi_gcp/vertex/outputs.py +15 -1
  80. pulumi_gcp/workstations/_inputs.py +33 -1
  81. pulumi_gcp/workstations/outputs.py +23 -1
  82. pulumi_gcp/workstations/workstation_config.py +18 -0
  83. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/METADATA +1 -1
  84. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/RECORD +86 -78
  85. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/WHEEL +0 -0
  86. {pulumi_gcp-7.31.0a1720765508.dist-info → pulumi_gcp-7.31.0a1721039192.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,715 @@
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__ = ['RepositoryArgs', 'Repository']
20
+
21
+ @pulumi.input_type
22
+ class RepositoryArgs:
23
+ def __init__(__self__, *,
24
+ instance: pulumi.Input[str],
25
+ location: pulumi.Input[str],
26
+ repository_id: pulumi.Input[str],
27
+ description: Optional[pulumi.Input[str]] = None,
28
+ initial_config: Optional[pulumi.Input['RepositoryInitialConfigArgs']] = None,
29
+ project: Optional[pulumi.Input[str]] = None):
30
+ """
31
+ The set of arguments for constructing a Repository resource.
32
+ :param pulumi.Input[str] instance: The name of the instance in which the repository is hosted.
33
+ :param pulumi.Input[str] location: The location for the Repository.
34
+ :param pulumi.Input[str] repository_id: The ID for the Repository.
35
+
36
+
37
+ - - -
38
+ :param pulumi.Input[str] description: Description of the repository, which cannot exceed 500 characters.
39
+ :param pulumi.Input['RepositoryInitialConfigArgs'] initial_config: Initial configurations for the repository.
40
+ Structure is documented below.
41
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
42
+ If it is not provided, the provider project is used.
43
+ """
44
+ pulumi.set(__self__, "instance", instance)
45
+ pulumi.set(__self__, "location", location)
46
+ pulumi.set(__self__, "repository_id", repository_id)
47
+ if description is not None:
48
+ pulumi.set(__self__, "description", description)
49
+ if initial_config is not None:
50
+ pulumi.set(__self__, "initial_config", initial_config)
51
+ if project is not None:
52
+ pulumi.set(__self__, "project", project)
53
+
54
+ @property
55
+ @pulumi.getter
56
+ def instance(self) -> pulumi.Input[str]:
57
+ """
58
+ The name of the instance in which the repository is hosted.
59
+ """
60
+ return pulumi.get(self, "instance")
61
+
62
+ @instance.setter
63
+ def instance(self, value: pulumi.Input[str]):
64
+ pulumi.set(self, "instance", value)
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def location(self) -> pulumi.Input[str]:
69
+ """
70
+ The location for the Repository.
71
+ """
72
+ return pulumi.get(self, "location")
73
+
74
+ @location.setter
75
+ def location(self, value: pulumi.Input[str]):
76
+ pulumi.set(self, "location", value)
77
+
78
+ @property
79
+ @pulumi.getter(name="repositoryId")
80
+ def repository_id(self) -> pulumi.Input[str]:
81
+ """
82
+ The ID for the Repository.
83
+
84
+
85
+ - - -
86
+ """
87
+ return pulumi.get(self, "repository_id")
88
+
89
+ @repository_id.setter
90
+ def repository_id(self, value: pulumi.Input[str]):
91
+ pulumi.set(self, "repository_id", value)
92
+
93
+ @property
94
+ @pulumi.getter
95
+ def description(self) -> Optional[pulumi.Input[str]]:
96
+ """
97
+ Description of the repository, which cannot exceed 500 characters.
98
+ """
99
+ return pulumi.get(self, "description")
100
+
101
+ @description.setter
102
+ def description(self, value: Optional[pulumi.Input[str]]):
103
+ pulumi.set(self, "description", value)
104
+
105
+ @property
106
+ @pulumi.getter(name="initialConfig")
107
+ def initial_config(self) -> Optional[pulumi.Input['RepositoryInitialConfigArgs']]:
108
+ """
109
+ Initial configurations for the repository.
110
+ Structure is documented below.
111
+ """
112
+ return pulumi.get(self, "initial_config")
113
+
114
+ @initial_config.setter
115
+ def initial_config(self, value: Optional[pulumi.Input['RepositoryInitialConfigArgs']]):
116
+ pulumi.set(self, "initial_config", value)
117
+
118
+ @property
119
+ @pulumi.getter
120
+ def project(self) -> Optional[pulumi.Input[str]]:
121
+ """
122
+ The ID of the project in which the resource belongs.
123
+ If it is not provided, the provider project is used.
124
+ """
125
+ return pulumi.get(self, "project")
126
+
127
+ @project.setter
128
+ def project(self, value: Optional[pulumi.Input[str]]):
129
+ pulumi.set(self, "project", value)
130
+
131
+
132
+ @pulumi.input_type
133
+ class _RepositoryState:
134
+ def __init__(__self__, *,
135
+ create_time: Optional[pulumi.Input[str]] = None,
136
+ description: Optional[pulumi.Input[str]] = None,
137
+ initial_config: Optional[pulumi.Input['RepositoryInitialConfigArgs']] = None,
138
+ instance: Optional[pulumi.Input[str]] = None,
139
+ location: Optional[pulumi.Input[str]] = None,
140
+ name: Optional[pulumi.Input[str]] = None,
141
+ project: Optional[pulumi.Input[str]] = None,
142
+ repository_id: Optional[pulumi.Input[str]] = None,
143
+ uid: Optional[pulumi.Input[str]] = None,
144
+ update_time: Optional[pulumi.Input[str]] = None,
145
+ uris: Optional[pulumi.Input[Sequence[pulumi.Input['RepositoryUriArgs']]]] = None):
146
+ """
147
+ Input properties used for looking up and filtering Repository resources.
148
+ :param pulumi.Input[str] create_time: Time the repository was created in UTC.
149
+ :param pulumi.Input[str] description: Description of the repository, which cannot exceed 500 characters.
150
+ :param pulumi.Input['RepositoryInitialConfigArgs'] initial_config: Initial configurations for the repository.
151
+ Structure is documented below.
152
+ :param pulumi.Input[str] instance: The name of the instance in which the repository is hosted.
153
+ :param pulumi.Input[str] location: The location for the Repository.
154
+ :param pulumi.Input[str] name: The resource name for the Repository.
155
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
156
+ If it is not provided, the provider project is used.
157
+ :param pulumi.Input[str] repository_id: The ID for the Repository.
158
+
159
+
160
+ - - -
161
+ :param pulumi.Input[str] uid: Unique identifier of the repository.
162
+ :param pulumi.Input[str] update_time: Time the repository was updated in UTC.
163
+ :param pulumi.Input[Sequence[pulumi.Input['RepositoryUriArgs']]] uris: URIs for the repository.
164
+ Structure is documented below.
165
+ """
166
+ if create_time is not None:
167
+ pulumi.set(__self__, "create_time", create_time)
168
+ if description is not None:
169
+ pulumi.set(__self__, "description", description)
170
+ if initial_config is not None:
171
+ pulumi.set(__self__, "initial_config", initial_config)
172
+ if instance is not None:
173
+ pulumi.set(__self__, "instance", instance)
174
+ if location is not None:
175
+ pulumi.set(__self__, "location", location)
176
+ if name is not None:
177
+ pulumi.set(__self__, "name", name)
178
+ if project is not None:
179
+ pulumi.set(__self__, "project", project)
180
+ if repository_id is not None:
181
+ pulumi.set(__self__, "repository_id", repository_id)
182
+ if uid is not None:
183
+ pulumi.set(__self__, "uid", uid)
184
+ if update_time is not None:
185
+ pulumi.set(__self__, "update_time", update_time)
186
+ if uris is not None:
187
+ pulumi.set(__self__, "uris", uris)
188
+
189
+ @property
190
+ @pulumi.getter(name="createTime")
191
+ def create_time(self) -> Optional[pulumi.Input[str]]:
192
+ """
193
+ Time the repository was created in UTC.
194
+ """
195
+ return pulumi.get(self, "create_time")
196
+
197
+ @create_time.setter
198
+ def create_time(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "create_time", value)
200
+
201
+ @property
202
+ @pulumi.getter
203
+ def description(self) -> Optional[pulumi.Input[str]]:
204
+ """
205
+ Description of the repository, which cannot exceed 500 characters.
206
+ """
207
+ return pulumi.get(self, "description")
208
+
209
+ @description.setter
210
+ def description(self, value: Optional[pulumi.Input[str]]):
211
+ pulumi.set(self, "description", value)
212
+
213
+ @property
214
+ @pulumi.getter(name="initialConfig")
215
+ def initial_config(self) -> Optional[pulumi.Input['RepositoryInitialConfigArgs']]:
216
+ """
217
+ Initial configurations for the repository.
218
+ Structure is documented below.
219
+ """
220
+ return pulumi.get(self, "initial_config")
221
+
222
+ @initial_config.setter
223
+ def initial_config(self, value: Optional[pulumi.Input['RepositoryInitialConfigArgs']]):
224
+ pulumi.set(self, "initial_config", value)
225
+
226
+ @property
227
+ @pulumi.getter
228
+ def instance(self) -> Optional[pulumi.Input[str]]:
229
+ """
230
+ The name of the instance in which the repository is hosted.
231
+ """
232
+ return pulumi.get(self, "instance")
233
+
234
+ @instance.setter
235
+ def instance(self, value: Optional[pulumi.Input[str]]):
236
+ pulumi.set(self, "instance", value)
237
+
238
+ @property
239
+ @pulumi.getter
240
+ def location(self) -> Optional[pulumi.Input[str]]:
241
+ """
242
+ The location for the Repository.
243
+ """
244
+ return pulumi.get(self, "location")
245
+
246
+ @location.setter
247
+ def location(self, value: Optional[pulumi.Input[str]]):
248
+ pulumi.set(self, "location", value)
249
+
250
+ @property
251
+ @pulumi.getter
252
+ def name(self) -> Optional[pulumi.Input[str]]:
253
+ """
254
+ The resource name for the Repository.
255
+ """
256
+ return pulumi.get(self, "name")
257
+
258
+ @name.setter
259
+ def name(self, value: Optional[pulumi.Input[str]]):
260
+ pulumi.set(self, "name", value)
261
+
262
+ @property
263
+ @pulumi.getter
264
+ def project(self) -> Optional[pulumi.Input[str]]:
265
+ """
266
+ The ID of the project in which the resource belongs.
267
+ If it is not provided, the provider project is used.
268
+ """
269
+ return pulumi.get(self, "project")
270
+
271
+ @project.setter
272
+ def project(self, value: Optional[pulumi.Input[str]]):
273
+ pulumi.set(self, "project", value)
274
+
275
+ @property
276
+ @pulumi.getter(name="repositoryId")
277
+ def repository_id(self) -> Optional[pulumi.Input[str]]:
278
+ """
279
+ The ID for the Repository.
280
+
281
+
282
+ - - -
283
+ """
284
+ return pulumi.get(self, "repository_id")
285
+
286
+ @repository_id.setter
287
+ def repository_id(self, value: Optional[pulumi.Input[str]]):
288
+ pulumi.set(self, "repository_id", value)
289
+
290
+ @property
291
+ @pulumi.getter
292
+ def uid(self) -> Optional[pulumi.Input[str]]:
293
+ """
294
+ Unique identifier of the repository.
295
+ """
296
+ return pulumi.get(self, "uid")
297
+
298
+ @uid.setter
299
+ def uid(self, value: Optional[pulumi.Input[str]]):
300
+ pulumi.set(self, "uid", value)
301
+
302
+ @property
303
+ @pulumi.getter(name="updateTime")
304
+ def update_time(self) -> Optional[pulumi.Input[str]]:
305
+ """
306
+ Time the repository was updated in UTC.
307
+ """
308
+ return pulumi.get(self, "update_time")
309
+
310
+ @update_time.setter
311
+ def update_time(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "update_time", value)
313
+
314
+ @property
315
+ @pulumi.getter
316
+ def uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RepositoryUriArgs']]]]:
317
+ """
318
+ URIs for the repository.
319
+ Structure is documented below.
320
+ """
321
+ return pulumi.get(self, "uris")
322
+
323
+ @uris.setter
324
+ def uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RepositoryUriArgs']]]]):
325
+ pulumi.set(self, "uris", value)
326
+
327
+
328
+ class Repository(pulumi.CustomResource):
329
+ @overload
330
+ def __init__(__self__,
331
+ resource_name: str,
332
+ opts: Optional[pulumi.ResourceOptions] = None,
333
+ description: Optional[pulumi.Input[str]] = None,
334
+ initial_config: Optional[pulumi.Input[Union['RepositoryInitialConfigArgs', 'RepositoryInitialConfigArgsDict']]] = None,
335
+ instance: Optional[pulumi.Input[str]] = None,
336
+ location: Optional[pulumi.Input[str]] = None,
337
+ project: Optional[pulumi.Input[str]] = None,
338
+ repository_id: Optional[pulumi.Input[str]] = None,
339
+ __props__=None):
340
+ """
341
+ Repositories store source code. It supports all Git SCM client commands and has built-in pull requests and issue tracking. Both HTTPS and SSH authentication are supported.
342
+
343
+ To get more information about Repository, see:
344
+
345
+ * How-to Guides
346
+ * [Official Documentation](https://cloud.google.com/secure-source-manager/docs/overview)
347
+
348
+ ## Example Usage
349
+
350
+ ### Secure Source Manager Repository Basic
351
+
352
+ ```python
353
+ import pulumi
354
+ import pulumi_gcp as gcp
355
+
356
+ instance = gcp.securesourcemanager.Instance("instance",
357
+ location="us-central1",
358
+ instance_id="my-instance")
359
+ default = gcp.securesourcemanager.Repository("default",
360
+ location="us-central1",
361
+ repository_id="my-repository",
362
+ instance=instance.name)
363
+ ```
364
+ ### Secure Source Manager Repository Initial Config
365
+
366
+ ```python
367
+ import pulumi
368
+ import pulumi_gcp as gcp
369
+
370
+ instance = gcp.securesourcemanager.Instance("instance",
371
+ location="us-central1",
372
+ instance_id="my-instance")
373
+ default = gcp.securesourcemanager.Repository("default",
374
+ location="us-central1",
375
+ repository_id="my-repository",
376
+ instance=instance.name,
377
+ description="This is a test repository",
378
+ initial_config={
379
+ "defaultBranch": "main",
380
+ "gitignores": ["python"],
381
+ "license": "mit",
382
+ "readme": "default",
383
+ })
384
+ ```
385
+
386
+ ## Import
387
+
388
+ Repository can be imported using any of these accepted formats:
389
+
390
+ * `projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}`
391
+
392
+ * `{{project}}/{{location}}/{{repository_id}}`
393
+
394
+ * `{{location}}/{{repository_id}}`
395
+
396
+ * `{{repository_id}}`
397
+
398
+ When using the `pulumi import` command, Repository can be imported using one of the formats above. For example:
399
+
400
+ ```sh
401
+ $ pulumi import gcp:securesourcemanager/repository:Repository default projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}
402
+ ```
403
+
404
+ ```sh
405
+ $ pulumi import gcp:securesourcemanager/repository:Repository default {{project}}/{{location}}/{{repository_id}}
406
+ ```
407
+
408
+ ```sh
409
+ $ pulumi import gcp:securesourcemanager/repository:Repository default {{location}}/{{repository_id}}
410
+ ```
411
+
412
+ ```sh
413
+ $ pulumi import gcp:securesourcemanager/repository:Repository default {{repository_id}}
414
+ ```
415
+
416
+ :param str resource_name: The name of the resource.
417
+ :param pulumi.ResourceOptions opts: Options for the resource.
418
+ :param pulumi.Input[str] description: Description of the repository, which cannot exceed 500 characters.
419
+ :param pulumi.Input[Union['RepositoryInitialConfigArgs', 'RepositoryInitialConfigArgsDict']] initial_config: Initial configurations for the repository.
420
+ Structure is documented below.
421
+ :param pulumi.Input[str] instance: The name of the instance in which the repository is hosted.
422
+ :param pulumi.Input[str] location: The location for the Repository.
423
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
424
+ If it is not provided, the provider project is used.
425
+ :param pulumi.Input[str] repository_id: The ID for the Repository.
426
+
427
+
428
+ - - -
429
+ """
430
+ ...
431
+ @overload
432
+ def __init__(__self__,
433
+ resource_name: str,
434
+ args: RepositoryArgs,
435
+ opts: Optional[pulumi.ResourceOptions] = None):
436
+ """
437
+ Repositories store source code. It supports all Git SCM client commands and has built-in pull requests and issue tracking. Both HTTPS and SSH authentication are supported.
438
+
439
+ To get more information about Repository, see:
440
+
441
+ * How-to Guides
442
+ * [Official Documentation](https://cloud.google.com/secure-source-manager/docs/overview)
443
+
444
+ ## Example Usage
445
+
446
+ ### Secure Source Manager Repository Basic
447
+
448
+ ```python
449
+ import pulumi
450
+ import pulumi_gcp as gcp
451
+
452
+ instance = gcp.securesourcemanager.Instance("instance",
453
+ location="us-central1",
454
+ instance_id="my-instance")
455
+ default = gcp.securesourcemanager.Repository("default",
456
+ location="us-central1",
457
+ repository_id="my-repository",
458
+ instance=instance.name)
459
+ ```
460
+ ### Secure Source Manager Repository Initial Config
461
+
462
+ ```python
463
+ import pulumi
464
+ import pulumi_gcp as gcp
465
+
466
+ instance = gcp.securesourcemanager.Instance("instance",
467
+ location="us-central1",
468
+ instance_id="my-instance")
469
+ default = gcp.securesourcemanager.Repository("default",
470
+ location="us-central1",
471
+ repository_id="my-repository",
472
+ instance=instance.name,
473
+ description="This is a test repository",
474
+ initial_config={
475
+ "defaultBranch": "main",
476
+ "gitignores": ["python"],
477
+ "license": "mit",
478
+ "readme": "default",
479
+ })
480
+ ```
481
+
482
+ ## Import
483
+
484
+ Repository can be imported using any of these accepted formats:
485
+
486
+ * `projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}`
487
+
488
+ * `{{project}}/{{location}}/{{repository_id}}`
489
+
490
+ * `{{location}}/{{repository_id}}`
491
+
492
+ * `{{repository_id}}`
493
+
494
+ When using the `pulumi import` command, Repository can be imported using one of the formats above. For example:
495
+
496
+ ```sh
497
+ $ pulumi import gcp:securesourcemanager/repository:Repository default projects/{{project}}/locations/{{location}}/repositories/{{repository_id}}
498
+ ```
499
+
500
+ ```sh
501
+ $ pulumi import gcp:securesourcemanager/repository:Repository default {{project}}/{{location}}/{{repository_id}}
502
+ ```
503
+
504
+ ```sh
505
+ $ pulumi import gcp:securesourcemanager/repository:Repository default {{location}}/{{repository_id}}
506
+ ```
507
+
508
+ ```sh
509
+ $ pulumi import gcp:securesourcemanager/repository:Repository default {{repository_id}}
510
+ ```
511
+
512
+ :param str resource_name: The name of the resource.
513
+ :param RepositoryArgs args: The arguments to use to populate this resource's properties.
514
+ :param pulumi.ResourceOptions opts: Options for the resource.
515
+ """
516
+ ...
517
+ def __init__(__self__, resource_name: str, *args, **kwargs):
518
+ resource_args, opts = _utilities.get_resource_args_opts(RepositoryArgs, pulumi.ResourceOptions, *args, **kwargs)
519
+ if resource_args is not None:
520
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
521
+ else:
522
+ __self__._internal_init(resource_name, *args, **kwargs)
523
+
524
+ def _internal_init(__self__,
525
+ resource_name: str,
526
+ opts: Optional[pulumi.ResourceOptions] = None,
527
+ description: Optional[pulumi.Input[str]] = None,
528
+ initial_config: Optional[pulumi.Input[Union['RepositoryInitialConfigArgs', 'RepositoryInitialConfigArgsDict']]] = None,
529
+ instance: Optional[pulumi.Input[str]] = None,
530
+ location: Optional[pulumi.Input[str]] = None,
531
+ project: Optional[pulumi.Input[str]] = None,
532
+ repository_id: Optional[pulumi.Input[str]] = None,
533
+ __props__=None):
534
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
535
+ if not isinstance(opts, pulumi.ResourceOptions):
536
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
537
+ if opts.id is None:
538
+ if __props__ is not None:
539
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
540
+ __props__ = RepositoryArgs.__new__(RepositoryArgs)
541
+
542
+ __props__.__dict__["description"] = description
543
+ __props__.__dict__["initial_config"] = initial_config
544
+ if instance is None and not opts.urn:
545
+ raise TypeError("Missing required property 'instance'")
546
+ __props__.__dict__["instance"] = instance
547
+ if location is None and not opts.urn:
548
+ raise TypeError("Missing required property 'location'")
549
+ __props__.__dict__["location"] = location
550
+ __props__.__dict__["project"] = project
551
+ if repository_id is None and not opts.urn:
552
+ raise TypeError("Missing required property 'repository_id'")
553
+ __props__.__dict__["repository_id"] = repository_id
554
+ __props__.__dict__["create_time"] = None
555
+ __props__.__dict__["name"] = None
556
+ __props__.__dict__["uid"] = None
557
+ __props__.__dict__["update_time"] = None
558
+ __props__.__dict__["uris"] = None
559
+ super(Repository, __self__).__init__(
560
+ 'gcp:securesourcemanager/repository:Repository',
561
+ resource_name,
562
+ __props__,
563
+ opts)
564
+
565
+ @staticmethod
566
+ def get(resource_name: str,
567
+ id: pulumi.Input[str],
568
+ opts: Optional[pulumi.ResourceOptions] = None,
569
+ create_time: Optional[pulumi.Input[str]] = None,
570
+ description: Optional[pulumi.Input[str]] = None,
571
+ initial_config: Optional[pulumi.Input[Union['RepositoryInitialConfigArgs', 'RepositoryInitialConfigArgsDict']]] = None,
572
+ instance: Optional[pulumi.Input[str]] = None,
573
+ location: Optional[pulumi.Input[str]] = None,
574
+ name: Optional[pulumi.Input[str]] = None,
575
+ project: Optional[pulumi.Input[str]] = None,
576
+ repository_id: Optional[pulumi.Input[str]] = None,
577
+ uid: Optional[pulumi.Input[str]] = None,
578
+ update_time: Optional[pulumi.Input[str]] = None,
579
+ uris: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RepositoryUriArgs', 'RepositoryUriArgsDict']]]]] = None) -> 'Repository':
580
+ """
581
+ Get an existing Repository resource's state with the given name, id, and optional extra
582
+ properties used to qualify the lookup.
583
+
584
+ :param str resource_name: The unique name of the resulting resource.
585
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
586
+ :param pulumi.ResourceOptions opts: Options for the resource.
587
+ :param pulumi.Input[str] create_time: Time the repository was created in UTC.
588
+ :param pulumi.Input[str] description: Description of the repository, which cannot exceed 500 characters.
589
+ :param pulumi.Input[Union['RepositoryInitialConfigArgs', 'RepositoryInitialConfigArgsDict']] initial_config: Initial configurations for the repository.
590
+ Structure is documented below.
591
+ :param pulumi.Input[str] instance: The name of the instance in which the repository is hosted.
592
+ :param pulumi.Input[str] location: The location for the Repository.
593
+ :param pulumi.Input[str] name: The resource name for the Repository.
594
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
595
+ If it is not provided, the provider project is used.
596
+ :param pulumi.Input[str] repository_id: The ID for the Repository.
597
+
598
+
599
+ - - -
600
+ :param pulumi.Input[str] uid: Unique identifier of the repository.
601
+ :param pulumi.Input[str] update_time: Time the repository was updated in UTC.
602
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RepositoryUriArgs', 'RepositoryUriArgsDict']]]] uris: URIs for the repository.
603
+ Structure is documented below.
604
+ """
605
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
606
+
607
+ __props__ = _RepositoryState.__new__(_RepositoryState)
608
+
609
+ __props__.__dict__["create_time"] = create_time
610
+ __props__.__dict__["description"] = description
611
+ __props__.__dict__["initial_config"] = initial_config
612
+ __props__.__dict__["instance"] = instance
613
+ __props__.__dict__["location"] = location
614
+ __props__.__dict__["name"] = name
615
+ __props__.__dict__["project"] = project
616
+ __props__.__dict__["repository_id"] = repository_id
617
+ __props__.__dict__["uid"] = uid
618
+ __props__.__dict__["update_time"] = update_time
619
+ __props__.__dict__["uris"] = uris
620
+ return Repository(resource_name, opts=opts, __props__=__props__)
621
+
622
+ @property
623
+ @pulumi.getter(name="createTime")
624
+ def create_time(self) -> pulumi.Output[str]:
625
+ """
626
+ Time the repository was created in UTC.
627
+ """
628
+ return pulumi.get(self, "create_time")
629
+
630
+ @property
631
+ @pulumi.getter
632
+ def description(self) -> pulumi.Output[Optional[str]]:
633
+ """
634
+ Description of the repository, which cannot exceed 500 characters.
635
+ """
636
+ return pulumi.get(self, "description")
637
+
638
+ @property
639
+ @pulumi.getter(name="initialConfig")
640
+ def initial_config(self) -> pulumi.Output[Optional['outputs.RepositoryInitialConfig']]:
641
+ """
642
+ Initial configurations for the repository.
643
+ Structure is documented below.
644
+ """
645
+ return pulumi.get(self, "initial_config")
646
+
647
+ @property
648
+ @pulumi.getter
649
+ def instance(self) -> pulumi.Output[str]:
650
+ """
651
+ The name of the instance in which the repository is hosted.
652
+ """
653
+ return pulumi.get(self, "instance")
654
+
655
+ @property
656
+ @pulumi.getter
657
+ def location(self) -> pulumi.Output[str]:
658
+ """
659
+ The location for the Repository.
660
+ """
661
+ return pulumi.get(self, "location")
662
+
663
+ @property
664
+ @pulumi.getter
665
+ def name(self) -> pulumi.Output[str]:
666
+ """
667
+ The resource name for the Repository.
668
+ """
669
+ return pulumi.get(self, "name")
670
+
671
+ @property
672
+ @pulumi.getter
673
+ def project(self) -> pulumi.Output[str]:
674
+ """
675
+ The ID of the project in which the resource belongs.
676
+ If it is not provided, the provider project is used.
677
+ """
678
+ return pulumi.get(self, "project")
679
+
680
+ @property
681
+ @pulumi.getter(name="repositoryId")
682
+ def repository_id(self) -> pulumi.Output[str]:
683
+ """
684
+ The ID for the Repository.
685
+
686
+
687
+ - - -
688
+ """
689
+ return pulumi.get(self, "repository_id")
690
+
691
+ @property
692
+ @pulumi.getter
693
+ def uid(self) -> pulumi.Output[str]:
694
+ """
695
+ Unique identifier of the repository.
696
+ """
697
+ return pulumi.get(self, "uid")
698
+
699
+ @property
700
+ @pulumi.getter(name="updateTime")
701
+ def update_time(self) -> pulumi.Output[str]:
702
+ """
703
+ Time the repository was updated in UTC.
704
+ """
705
+ return pulumi.get(self, "update_time")
706
+
707
+ @property
708
+ @pulumi.getter
709
+ def uris(self) -> pulumi.Output[Sequence['outputs.RepositoryUri']]:
710
+ """
711
+ URIs for the repository.
712
+ Structure is documented below.
713
+ """
714
+ return pulumi.get(self, "uris")
715
+