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.
- pulumi_gcp/__init__.py +123 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
- pulumi_gcp/apigee/app_group.py +7 -7
- pulumi_gcp/applicationintegration/client.py +8 -6
- pulumi_gcp/artifactregistry/_inputs.py +24 -15
- pulumi_gcp/artifactregistry/get_repository_iam_policy.py +12 -4
- pulumi_gcp/artifactregistry/outputs.py +32 -20
- pulumi_gcp/artifactregistry/repository.py +214 -39
- pulumi_gcp/artifactregistry/repository_iam_binding.py +42 -14
- pulumi_gcp/artifactregistry/repository_iam_member.py +42 -14
- pulumi_gcp/artifactregistry/repository_iam_policy.py +42 -14
- pulumi_gcp/assuredworkloads/workload.py +7 -7
- pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
- pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
- pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
- pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
- pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
- pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
- pulumi_gcp/bigquery/app_profile.py +75 -0
- pulumi_gcp/billing/_inputs.py +6 -6
- pulumi_gcp/billing/outputs.py +4 -4
- pulumi_gcp/certificateauthority/_inputs.py +9 -9
- pulumi_gcp/certificateauthority/outputs.py +8 -8
- pulumi_gcp/cloudbuild/_inputs.py +53 -0
- pulumi_gcp/cloudbuild/outputs.py +50 -0
- pulumi_gcp/cloudbuild/worker_pool.py +47 -0
- pulumi_gcp/clouddeploy/_inputs.py +254 -0
- pulumi_gcp/clouddeploy/outputs.py +211 -0
- pulumi_gcp/clouddeploy/target.py +47 -0
- pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
- pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
- pulumi_gcp/cloudrunv2/job.py +4 -4
- pulumi_gcp/cloudrunv2/service.py +4 -4
- pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
- pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
- pulumi_gcp/composer/user_workloads_config_map.py +14 -0
- pulumi_gcp/composer/user_workloads_secret.py +6 -0
- pulumi_gcp/compute/_inputs.py +566 -25
- pulumi_gcp/compute/disk.py +21 -7
- pulumi_gcp/compute/firewall_policy_rule.py +12 -0
- pulumi_gcp/compute/get_forwarding_rules.py +2 -2
- pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
- pulumi_gcp/compute/get_instance_group_manager.py +12 -1
- pulumi_gcp/compute/get_network.py +35 -1
- pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
- pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
- pulumi_gcp/compute/global_forwarding_rule.py +142 -2
- pulumi_gcp/compute/instance_group_manager.py +28 -0
- pulumi_gcp/compute/network.py +75 -0
- pulumi_gcp/compute/outputs.py +655 -26
- pulumi_gcp/compute/project_cloud_armor_tier.py +7 -7
- pulumi_gcp/compute/region_health_check.py +28 -0
- pulumi_gcp/compute/region_instance_group_manager.py +28 -0
- pulumi_gcp/compute/region_network_endpoint.py +28 -0
- pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
- pulumi_gcp/compute/subnetwork.py +30 -2
- pulumi_gcp/compute/url_map.py +7 -7
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +201 -3
- pulumi_gcp/container/cluster.py +68 -14
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/outputs.py +249 -3
- pulumi_gcp/dataproc/_inputs.py +209 -1
- pulumi_gcp/dataproc/batch.py +76 -0
- pulumi_gcp/dataproc/outputs.py +169 -3
- pulumi_gcp/diagflow/_inputs.py +3 -3
- pulumi_gcp/diagflow/outputs.py +2 -2
- pulumi_gcp/discoveryengine/search_engine.py +7 -7
- pulumi_gcp/firebase/_inputs.py +99 -0
- pulumi_gcp/firebase/database_instance.py +24 -6
- pulumi_gcp/firebase/hosting_version.py +96 -0
- pulumi_gcp/firebase/outputs.py +59 -0
- pulumi_gcp/firebase/project.py +6 -6
- pulumi_gcp/firebaserules/release.py +76 -0
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/gemini/__init__.py +15 -0
- pulumi_gcp/gemini/_inputs.py +183 -0
- pulumi_gcp/gemini/code_repository_index.py +659 -0
- pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
- pulumi_gcp/gemini/outputs.py +130 -0
- pulumi_gcp/gemini/repository_group.py +586 -0
- pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
- pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
- pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
- pulumi_gcp/gkehub/_inputs.py +30 -10
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/outputs.py +21 -7
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/iam/__init__.py +1 -0
- pulumi_gcp/iam/_inputs.py +137 -0
- pulumi_gcp/iam/folders_policy_binding.py +16 -0
- pulumi_gcp/iam/organizations_policy_binding.py +16 -0
- pulumi_gcp/iam/outputs.py +99 -0
- pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
- pulumi_gcp/iam/projects_policy_binding.py +917 -0
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/identityplatform/_inputs.py +6 -6
- pulumi_gcp/identityplatform/config.py +2 -2
- pulumi_gcp/identityplatform/outputs.py +4 -4
- pulumi_gcp/integrationconnectors/_inputs.py +15 -15
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/integrationconnectors/outputs.py +10 -10
- pulumi_gcp/looker/instance.py +35 -14
- pulumi_gcp/monitoring/_inputs.py +13 -6
- pulumi_gcp/monitoring/outputs.py +10 -4
- pulumi_gcp/netapp/_inputs.py +3 -3
- pulumi_gcp/netapp/active_directory.py +7 -7
- pulumi_gcp/netapp/outputs.py +2 -2
- pulumi_gcp/netapp/volume.py +11 -11
- pulumi_gcp/networkconnectivity/_inputs.py +10 -12
- pulumi_gcp/networkconnectivity/outputs.py +6 -8
- pulumi_gcp/networkconnectivity/spoke.py +10 -10
- pulumi_gcp/networksecurity/__init__.py +7 -0
- pulumi_gcp/networksecurity/_inputs.py +2018 -0
- pulumi_gcp/networksecurity/authz_policy.py +1008 -0
- pulumi_gcp/networksecurity/intercept_deployment.py +846 -0
- pulumi_gcp/networksecurity/intercept_deployment_group.py +752 -0
- pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
- pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
- pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
- pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
- pulumi_gcp/networksecurity/outputs.py +1463 -0
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/authz_extension.py +1080 -0
- pulumi_gcp/oracledatabase/autonomous_database.py +46 -8
- pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
- pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
- pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
- pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
- pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
- pulumi_gcp/oracledatabase/outputs.py +21 -0
- pulumi_gcp/orgpolicy/_inputs.py +40 -0
- pulumi_gcp/orgpolicy/outputs.py +24 -0
- pulumi_gcp/orgpolicy/policy.py +66 -10
- pulumi_gcp/parallelstore/instance.py +4 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +6 -6
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/_inputs.py +435 -3
- pulumi_gcp/redis/cluster.py +287 -16
- pulumi_gcp/redis/outputs.py +304 -2
- pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
- pulumi_gcp/serviceaccount/get_account_key.py +2 -2
- pulumi_gcp/sql/_inputs.py +3 -3
- pulumi_gcp/sql/database_instance.py +14 -14
- pulumi_gcp/sql/outputs.py +2 -2
- pulumi_gcp/storage/_inputs.py +53 -6
- pulumi_gcp/storage/get_bucket.py +2 -2
- pulumi_gcp/storage/get_bucket_object_content.py +2 -2
- pulumi_gcp/storage/outputs.py +33 -4
- pulumi_gcp/tpu/__init__.py +1 -0
- pulumi_gcp/tpu/_inputs.py +214 -24
- pulumi_gcp/tpu/outputs.py +182 -16
- pulumi_gcp/tpu/v2_queued_resource.py +434 -0
- pulumi_gcp/tpu/v2_vm.py +63 -0
- pulumi_gcp/vertex/ai_endpoint.py +4 -4
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
- pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/RECORD +168 -147
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/top_level.txt +0 -0
@@ -181,6 +181,54 @@ class HostingVersion(pulumi.CustomResource):
|
|
181
181
|
version_name=default_hosting_version.name,
|
182
182
|
message="Redirect to Google")
|
183
183
|
```
|
184
|
+
### Firebasehosting Version Headers
|
185
|
+
|
186
|
+
```python
|
187
|
+
import pulumi
|
188
|
+
import pulumi_gcp as gcp
|
189
|
+
|
190
|
+
default = gcp.firebase.HostingSite("default",
|
191
|
+
project="my-project-name",
|
192
|
+
site_id="site-id")
|
193
|
+
default_hosting_version = gcp.firebase.HostingVersion("default",
|
194
|
+
site_id=default.site_id,
|
195
|
+
config={
|
196
|
+
"headers": [{
|
197
|
+
"glob": "/headers/**",
|
198
|
+
"headers": {
|
199
|
+
"my-header": "my-value",
|
200
|
+
},
|
201
|
+
}],
|
202
|
+
})
|
203
|
+
default_hosting_release = gcp.firebase.HostingRelease("default",
|
204
|
+
site_id=default.site_id,
|
205
|
+
version_name=default_hosting_version.name,
|
206
|
+
message="With custom headers")
|
207
|
+
```
|
208
|
+
### Firebasehosting Version Headers Regex
|
209
|
+
|
210
|
+
```python
|
211
|
+
import pulumi
|
212
|
+
import pulumi_gcp as gcp
|
213
|
+
|
214
|
+
default = gcp.firebase.HostingSite("default",
|
215
|
+
project="my-project-name",
|
216
|
+
site_id="site-id")
|
217
|
+
default_hosting_version = gcp.firebase.HostingVersion("default",
|
218
|
+
site_id=default.site_id,
|
219
|
+
config={
|
220
|
+
"headers": [{
|
221
|
+
"regex": "^~/headers$",
|
222
|
+
"headers": {
|
223
|
+
"my-header": "my-value",
|
224
|
+
},
|
225
|
+
}],
|
226
|
+
})
|
227
|
+
default_hosting_release = gcp.firebase.HostingRelease("default",
|
228
|
+
site_id=default.site_id,
|
229
|
+
version_name=default_hosting_version.name,
|
230
|
+
message="With custom headers")
|
231
|
+
```
|
184
232
|
### Firebasehosting Version Path
|
185
233
|
|
186
234
|
```python
|
@@ -340,6 +388,54 @@ class HostingVersion(pulumi.CustomResource):
|
|
340
388
|
version_name=default_hosting_version.name,
|
341
389
|
message="Redirect to Google")
|
342
390
|
```
|
391
|
+
### Firebasehosting Version Headers
|
392
|
+
|
393
|
+
```python
|
394
|
+
import pulumi
|
395
|
+
import pulumi_gcp as gcp
|
396
|
+
|
397
|
+
default = gcp.firebase.HostingSite("default",
|
398
|
+
project="my-project-name",
|
399
|
+
site_id="site-id")
|
400
|
+
default_hosting_version = gcp.firebase.HostingVersion("default",
|
401
|
+
site_id=default.site_id,
|
402
|
+
config={
|
403
|
+
"headers": [{
|
404
|
+
"glob": "/headers/**",
|
405
|
+
"headers": {
|
406
|
+
"my-header": "my-value",
|
407
|
+
},
|
408
|
+
}],
|
409
|
+
})
|
410
|
+
default_hosting_release = gcp.firebase.HostingRelease("default",
|
411
|
+
site_id=default.site_id,
|
412
|
+
version_name=default_hosting_version.name,
|
413
|
+
message="With custom headers")
|
414
|
+
```
|
415
|
+
### Firebasehosting Version Headers Regex
|
416
|
+
|
417
|
+
```python
|
418
|
+
import pulumi
|
419
|
+
import pulumi_gcp as gcp
|
420
|
+
|
421
|
+
default = gcp.firebase.HostingSite("default",
|
422
|
+
project="my-project-name",
|
423
|
+
site_id="site-id")
|
424
|
+
default_hosting_version = gcp.firebase.HostingVersion("default",
|
425
|
+
site_id=default.site_id,
|
426
|
+
config={
|
427
|
+
"headers": [{
|
428
|
+
"regex": "^~/headers$",
|
429
|
+
"headers": {
|
430
|
+
"my-header": "my-value",
|
431
|
+
},
|
432
|
+
}],
|
433
|
+
})
|
434
|
+
default_hosting_release = gcp.firebase.HostingRelease("default",
|
435
|
+
site_id=default.site_id,
|
436
|
+
version_name=default_hosting_version.name,
|
437
|
+
message="With custom headers")
|
438
|
+
```
|
343
439
|
### Firebasehosting Version Path
|
344
440
|
|
345
441
|
```python
|
pulumi_gcp/firebase/outputs.py
CHANGED
@@ -36,6 +36,7 @@ __all__ = [
|
|
36
36
|
'HostingCustomDomainRequiredDnsUpdateDiscovered',
|
37
37
|
'HostingCustomDomainRequiredDnsUpdateDiscoveredRecord',
|
38
38
|
'HostingVersionConfig',
|
39
|
+
'HostingVersionConfigHeader',
|
39
40
|
'HostingVersionConfigRedirect',
|
40
41
|
'HostingVersionConfigRewrite',
|
41
42
|
'HostingVersionConfigRewriteRun',
|
@@ -1308,9 +1309,13 @@ class HostingCustomDomainRequiredDnsUpdateDiscoveredRecord(dict):
|
|
1308
1309
|
@pulumi.output_type
|
1309
1310
|
class HostingVersionConfig(dict):
|
1310
1311
|
def __init__(__self__, *,
|
1312
|
+
headers: Optional[Sequence['outputs.HostingVersionConfigHeader']] = None,
|
1311
1313
|
redirects: Optional[Sequence['outputs.HostingVersionConfigRedirect']] = None,
|
1312
1314
|
rewrites: Optional[Sequence['outputs.HostingVersionConfigRewrite']] = None):
|
1313
1315
|
"""
|
1316
|
+
:param Sequence['HostingVersionConfigHeaderArgs'] headers: An array of objects, where each object specifies a URL pattern that, if matched to the request URL path,
|
1317
|
+
triggers Hosting to apply the specified custom response headers.
|
1318
|
+
Structure is documented below.
|
1314
1319
|
:param Sequence['HostingVersionConfigRedirectArgs'] redirects: An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path,
|
1315
1320
|
triggers Hosting to respond with a redirect to the specified destination path.
|
1316
1321
|
Structure is documented below.
|
@@ -1318,11 +1323,23 @@ class HostingVersionConfig(dict):
|
|
1318
1323
|
request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
|
1319
1324
|
Structure is documented below.
|
1320
1325
|
"""
|
1326
|
+
if headers is not None:
|
1327
|
+
pulumi.set(__self__, "headers", headers)
|
1321
1328
|
if redirects is not None:
|
1322
1329
|
pulumi.set(__self__, "redirects", redirects)
|
1323
1330
|
if rewrites is not None:
|
1324
1331
|
pulumi.set(__self__, "rewrites", rewrites)
|
1325
1332
|
|
1333
|
+
@property
|
1334
|
+
@pulumi.getter
|
1335
|
+
def headers(self) -> Optional[Sequence['outputs.HostingVersionConfigHeader']]:
|
1336
|
+
"""
|
1337
|
+
An array of objects, where each object specifies a URL pattern that, if matched to the request URL path,
|
1338
|
+
triggers Hosting to apply the specified custom response headers.
|
1339
|
+
Structure is documented below.
|
1340
|
+
"""
|
1341
|
+
return pulumi.get(self, "headers")
|
1342
|
+
|
1326
1343
|
@property
|
1327
1344
|
@pulumi.getter
|
1328
1345
|
def redirects(self) -> Optional[Sequence['outputs.HostingVersionConfigRedirect']]:
|
@@ -1344,6 +1361,48 @@ class HostingVersionConfig(dict):
|
|
1344
1361
|
return pulumi.get(self, "rewrites")
|
1345
1362
|
|
1346
1363
|
|
1364
|
+
@pulumi.output_type
|
1365
|
+
class HostingVersionConfigHeader(dict):
|
1366
|
+
def __init__(__self__, *,
|
1367
|
+
headers: Mapping[str, str],
|
1368
|
+
glob: Optional[str] = None,
|
1369
|
+
regex: Optional[str] = None):
|
1370
|
+
"""
|
1371
|
+
:param Mapping[str, str] headers: The additional headers to add to the response. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1372
|
+
:param str glob: The user-supplied glob to match against the request URL path.
|
1373
|
+
:param str regex: The user-supplied RE2 regular expression to match against the request URL path.
|
1374
|
+
"""
|
1375
|
+
pulumi.set(__self__, "headers", headers)
|
1376
|
+
if glob is not None:
|
1377
|
+
pulumi.set(__self__, "glob", glob)
|
1378
|
+
if regex is not None:
|
1379
|
+
pulumi.set(__self__, "regex", regex)
|
1380
|
+
|
1381
|
+
@property
|
1382
|
+
@pulumi.getter
|
1383
|
+
def headers(self) -> Mapping[str, str]:
|
1384
|
+
"""
|
1385
|
+
The additional headers to add to the response. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
|
1386
|
+
"""
|
1387
|
+
return pulumi.get(self, "headers")
|
1388
|
+
|
1389
|
+
@property
|
1390
|
+
@pulumi.getter
|
1391
|
+
def glob(self) -> Optional[str]:
|
1392
|
+
"""
|
1393
|
+
The user-supplied glob to match against the request URL path.
|
1394
|
+
"""
|
1395
|
+
return pulumi.get(self, "glob")
|
1396
|
+
|
1397
|
+
@property
|
1398
|
+
@pulumi.getter
|
1399
|
+
def regex(self) -> Optional[str]:
|
1400
|
+
"""
|
1401
|
+
The user-supplied RE2 regular expression to match against the request URL path.
|
1402
|
+
"""
|
1403
|
+
return pulumi.get(self, "regex")
|
1404
|
+
|
1405
|
+
|
1347
1406
|
@pulumi.output_type
|
1348
1407
|
class HostingVersionConfigRedirect(dict):
|
1349
1408
|
@staticmethod
|
pulumi_gcp/firebase/project.py
CHANGED
@@ -53,7 +53,7 @@ class _ProjectState:
|
|
53
53
|
:param pulumi.Input[str] display_name: The GCP project display name
|
54
54
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
55
55
|
If it is not provided, the provider project is used.
|
56
|
-
:param pulumi.Input[str] project_number: The number of the
|
56
|
+
:param pulumi.Input[str] project_number: The number of the Google Project that Firebase is enabled on.
|
57
57
|
"""
|
58
58
|
if display_name is not None:
|
59
59
|
pulumi.set(__self__, "display_name", display_name)
|
@@ -91,7 +91,7 @@ class _ProjectState:
|
|
91
91
|
@pulumi.getter(name="projectNumber")
|
92
92
|
def project_number(self) -> Optional[pulumi.Input[str]]:
|
93
93
|
"""
|
94
|
-
The number of the
|
94
|
+
The number of the Google Project that Firebase is enabled on.
|
95
95
|
"""
|
96
96
|
return pulumi.get(self, "project_number")
|
97
97
|
|
@@ -108,7 +108,7 @@ class Project(pulumi.CustomResource):
|
|
108
108
|
project: Optional[pulumi.Input[str]] = None,
|
109
109
|
__props__=None):
|
110
110
|
"""
|
111
|
-
A Google Cloud Firebase instance. This enables Firebase resources on a given
|
111
|
+
A Google Cloud Firebase instance. This enables Firebase resources on a given Google Project.
|
112
112
|
Since a FirebaseProject is actually also a GCP Project, a FirebaseProject uses underlying GCP
|
113
113
|
identifiers (most importantly, the projectId) as its own for easy interop with GCP APIs.
|
114
114
|
Once Firebase has been added to a Google Project it cannot be removed.
|
@@ -172,7 +172,7 @@ class Project(pulumi.CustomResource):
|
|
172
172
|
args: Optional[ProjectArgs] = None,
|
173
173
|
opts: Optional[pulumi.ResourceOptions] = None):
|
174
174
|
"""
|
175
|
-
A Google Cloud Firebase instance. This enables Firebase resources on a given
|
175
|
+
A Google Cloud Firebase instance. This enables Firebase resources on a given Google Project.
|
176
176
|
Since a FirebaseProject is actually also a GCP Project, a FirebaseProject uses underlying GCP
|
177
177
|
identifiers (most importantly, the projectId) as its own for easy interop with GCP APIs.
|
178
178
|
Once Firebase has been added to a Google Project it cannot be removed.
|
@@ -275,7 +275,7 @@ class Project(pulumi.CustomResource):
|
|
275
275
|
:param pulumi.Input[str] display_name: The GCP project display name
|
276
276
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
277
277
|
If it is not provided, the provider project is used.
|
278
|
-
:param pulumi.Input[str] project_number: The number of the
|
278
|
+
:param pulumi.Input[str] project_number: The number of the Google Project that Firebase is enabled on.
|
279
279
|
"""
|
280
280
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
281
281
|
|
@@ -307,7 +307,7 @@ class Project(pulumi.CustomResource):
|
|
307
307
|
@pulumi.getter(name="projectNumber")
|
308
308
|
def project_number(self) -> pulumi.Output[str]:
|
309
309
|
"""
|
310
|
-
The number of the
|
310
|
+
The number of the Google Project that Firebase is enabled on.
|
311
311
|
"""
|
312
312
|
return pulumi.get(self, "project_number")
|
313
313
|
|
@@ -205,6 +205,44 @@ class Release(pulumi.CustomResource):
|
|
205
205
|
* [Get started with Firebase Security Rules](https://firebase.google.com/docs/rules/get-started)
|
206
206
|
## Example Usage
|
207
207
|
|
208
|
+
### Firestore_release
|
209
|
+
Creates a Firebase Rules Release to the default Cloud Firestore instance
|
210
|
+
```python
|
211
|
+
import pulumi
|
212
|
+
import pulumi_gcp as gcp
|
213
|
+
|
214
|
+
firestore = gcp.firebaserules.Ruleset("firestore",
|
215
|
+
project="my-project-name",
|
216
|
+
source={
|
217
|
+
"files": [{
|
218
|
+
"content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
|
219
|
+
"name": "firestore.rules",
|
220
|
+
}],
|
221
|
+
})
|
222
|
+
primary = gcp.firebaserules.Release("primary",
|
223
|
+
name="cloud.firestore",
|
224
|
+
project="my-project-name",
|
225
|
+
ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
|
226
|
+
```
|
227
|
+
### Firestore_release_additional
|
228
|
+
Creates a Firebase Rules Release to an additional Cloud Firestore instance
|
229
|
+
```python
|
230
|
+
import pulumi
|
231
|
+
import pulumi_gcp as gcp
|
232
|
+
|
233
|
+
firestore = gcp.firebaserules.Ruleset("firestore",
|
234
|
+
project="my-project-name",
|
235
|
+
source={
|
236
|
+
"files": [{
|
237
|
+
"content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
|
238
|
+
"name": "firestore.rules",
|
239
|
+
}],
|
240
|
+
})
|
241
|
+
primary = gcp.firebaserules.Release("primary",
|
242
|
+
name="cloud.firestore/database",
|
243
|
+
project="my-project-name",
|
244
|
+
ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
|
245
|
+
```
|
208
246
|
## Import
|
209
247
|
|
210
248
|
Release can be imported using any of these accepted formats:
|
@@ -237,6 +275,44 @@ class Release(pulumi.CustomResource):
|
|
237
275
|
* [Get started with Firebase Security Rules](https://firebase.google.com/docs/rules/get-started)
|
238
276
|
## Example Usage
|
239
277
|
|
278
|
+
### Firestore_release
|
279
|
+
Creates a Firebase Rules Release to the default Cloud Firestore instance
|
280
|
+
```python
|
281
|
+
import pulumi
|
282
|
+
import pulumi_gcp as gcp
|
283
|
+
|
284
|
+
firestore = gcp.firebaserules.Ruleset("firestore",
|
285
|
+
project="my-project-name",
|
286
|
+
source={
|
287
|
+
"files": [{
|
288
|
+
"content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
|
289
|
+
"name": "firestore.rules",
|
290
|
+
}],
|
291
|
+
})
|
292
|
+
primary = gcp.firebaserules.Release("primary",
|
293
|
+
name="cloud.firestore",
|
294
|
+
project="my-project-name",
|
295
|
+
ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
|
296
|
+
```
|
297
|
+
### Firestore_release_additional
|
298
|
+
Creates a Firebase Rules Release to an additional Cloud Firestore instance
|
299
|
+
```python
|
300
|
+
import pulumi
|
301
|
+
import pulumi_gcp as gcp
|
302
|
+
|
303
|
+
firestore = gcp.firebaserules.Ruleset("firestore",
|
304
|
+
project="my-project-name",
|
305
|
+
source={
|
306
|
+
"files": [{
|
307
|
+
"content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
|
308
|
+
"name": "firestore.rules",
|
309
|
+
}],
|
310
|
+
})
|
311
|
+
primary = gcp.firebaserules.Release("primary",
|
312
|
+
name="cloud.firestore/database",
|
313
|
+
project="my-project-name",
|
314
|
+
ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
|
315
|
+
```
|
240
316
|
## Import
|
241
317
|
|
242
318
|
Release can be imported using any of these accepted formats:
|
pulumi_gcp/firestore/field.py
CHANGED
@@ -324,7 +324,7 @@ class Field(pulumi.CustomResource):
|
|
324
324
|
basic = gcp.firestore.Field("basic",
|
325
325
|
project="my-project-name",
|
326
326
|
database=database.name,
|
327
|
-
collection="
|
327
|
+
collection="chatrooms__8493",
|
328
328
|
field="basic",
|
329
329
|
index_config={
|
330
330
|
"indexes": [
|
@@ -375,7 +375,7 @@ class Field(pulumi.CustomResource):
|
|
375
375
|
match_override = gcp.firestore.Field("match_override",
|
376
376
|
project="my-project-name",
|
377
377
|
database=database.name,
|
378
|
-
collection="
|
378
|
+
collection="chatrooms__9106",
|
379
379
|
field="field_with_same_configuration_as_ancestor",
|
380
380
|
index_config={
|
381
381
|
"indexes": [
|
@@ -462,7 +462,7 @@ class Field(pulumi.CustomResource):
|
|
462
462
|
basic = gcp.firestore.Field("basic",
|
463
463
|
project="my-project-name",
|
464
464
|
database=database.name,
|
465
|
-
collection="
|
465
|
+
collection="chatrooms__8493",
|
466
466
|
field="basic",
|
467
467
|
index_config={
|
468
468
|
"indexes": [
|
@@ -513,7 +513,7 @@ class Field(pulumi.CustomResource):
|
|
513
513
|
match_override = gcp.firestore.Field("match_override",
|
514
514
|
project="my-project-name",
|
515
515
|
database=database.name,
|
516
|
-
collection="
|
516
|
+
collection="chatrooms__9106",
|
517
517
|
field="field_with_same_configuration_as_ancestor",
|
518
518
|
index_config={
|
519
519
|
"indexes": [
|
@@ -0,0 +1,15 @@
|
|
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
|
+
from .. import _utilities
|
6
|
+
import typing
|
7
|
+
# Export this package's modules as members:
|
8
|
+
from .code_repository_index import *
|
9
|
+
from .get_repository_group_iam_policy import *
|
10
|
+
from .repository_group import *
|
11
|
+
from .repository_group_iam_binding import *
|
12
|
+
from .repository_group_iam_member import *
|
13
|
+
from .repository_group_iam_policy import *
|
14
|
+
from ._inputs import *
|
15
|
+
from . import outputs
|
@@ -0,0 +1,183 @@
|
|
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
|
+
|
17
|
+
__all__ = [
|
18
|
+
'RepositoryGroupIamBindingConditionArgs',
|
19
|
+
'RepositoryGroupIamBindingConditionArgsDict',
|
20
|
+
'RepositoryGroupIamMemberConditionArgs',
|
21
|
+
'RepositoryGroupIamMemberConditionArgsDict',
|
22
|
+
'RepositoryGroupRepositoryArgs',
|
23
|
+
'RepositoryGroupRepositoryArgsDict',
|
24
|
+
]
|
25
|
+
|
26
|
+
MYPY = False
|
27
|
+
|
28
|
+
if not MYPY:
|
29
|
+
class RepositoryGroupIamBindingConditionArgsDict(TypedDict):
|
30
|
+
expression: pulumi.Input[str]
|
31
|
+
title: pulumi.Input[str]
|
32
|
+
description: NotRequired[pulumi.Input[str]]
|
33
|
+
elif False:
|
34
|
+
RepositoryGroupIamBindingConditionArgsDict: TypeAlias = Mapping[str, Any]
|
35
|
+
|
36
|
+
@pulumi.input_type
|
37
|
+
class RepositoryGroupIamBindingConditionArgs:
|
38
|
+
def __init__(__self__, *,
|
39
|
+
expression: pulumi.Input[str],
|
40
|
+
title: pulumi.Input[str],
|
41
|
+
description: Optional[pulumi.Input[str]] = None):
|
42
|
+
pulumi.set(__self__, "expression", expression)
|
43
|
+
pulumi.set(__self__, "title", title)
|
44
|
+
if description is not None:
|
45
|
+
pulumi.set(__self__, "description", description)
|
46
|
+
|
47
|
+
@property
|
48
|
+
@pulumi.getter
|
49
|
+
def expression(self) -> pulumi.Input[str]:
|
50
|
+
return pulumi.get(self, "expression")
|
51
|
+
|
52
|
+
@expression.setter
|
53
|
+
def expression(self, value: pulumi.Input[str]):
|
54
|
+
pulumi.set(self, "expression", value)
|
55
|
+
|
56
|
+
@property
|
57
|
+
@pulumi.getter
|
58
|
+
def title(self) -> pulumi.Input[str]:
|
59
|
+
return pulumi.get(self, "title")
|
60
|
+
|
61
|
+
@title.setter
|
62
|
+
def title(self, value: pulumi.Input[str]):
|
63
|
+
pulumi.set(self, "title", value)
|
64
|
+
|
65
|
+
@property
|
66
|
+
@pulumi.getter
|
67
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
68
|
+
return pulumi.get(self, "description")
|
69
|
+
|
70
|
+
@description.setter
|
71
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
72
|
+
pulumi.set(self, "description", value)
|
73
|
+
|
74
|
+
|
75
|
+
if not MYPY:
|
76
|
+
class RepositoryGroupIamMemberConditionArgsDict(TypedDict):
|
77
|
+
expression: pulumi.Input[str]
|
78
|
+
title: pulumi.Input[str]
|
79
|
+
description: NotRequired[pulumi.Input[str]]
|
80
|
+
elif False:
|
81
|
+
RepositoryGroupIamMemberConditionArgsDict: TypeAlias = Mapping[str, Any]
|
82
|
+
|
83
|
+
@pulumi.input_type
|
84
|
+
class RepositoryGroupIamMemberConditionArgs:
|
85
|
+
def __init__(__self__, *,
|
86
|
+
expression: pulumi.Input[str],
|
87
|
+
title: pulumi.Input[str],
|
88
|
+
description: Optional[pulumi.Input[str]] = None):
|
89
|
+
pulumi.set(__self__, "expression", expression)
|
90
|
+
pulumi.set(__self__, "title", title)
|
91
|
+
if description is not None:
|
92
|
+
pulumi.set(__self__, "description", description)
|
93
|
+
|
94
|
+
@property
|
95
|
+
@pulumi.getter
|
96
|
+
def expression(self) -> pulumi.Input[str]:
|
97
|
+
return pulumi.get(self, "expression")
|
98
|
+
|
99
|
+
@expression.setter
|
100
|
+
def expression(self, value: pulumi.Input[str]):
|
101
|
+
pulumi.set(self, "expression", value)
|
102
|
+
|
103
|
+
@property
|
104
|
+
@pulumi.getter
|
105
|
+
def title(self) -> pulumi.Input[str]:
|
106
|
+
return pulumi.get(self, "title")
|
107
|
+
|
108
|
+
@title.setter
|
109
|
+
def title(self, value: pulumi.Input[str]):
|
110
|
+
pulumi.set(self, "title", value)
|
111
|
+
|
112
|
+
@property
|
113
|
+
@pulumi.getter
|
114
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
115
|
+
return pulumi.get(self, "description")
|
116
|
+
|
117
|
+
@description.setter
|
118
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
119
|
+
pulumi.set(self, "description", value)
|
120
|
+
|
121
|
+
|
122
|
+
if not MYPY:
|
123
|
+
class RepositoryGroupRepositoryArgsDict(TypedDict):
|
124
|
+
branch_pattern: pulumi.Input[str]
|
125
|
+
"""
|
126
|
+
Required. The Git branch pattern used for indexing in RE2 syntax.
|
127
|
+
See https://github.com/google/re2/wiki/syntax for syntax.
|
128
|
+
|
129
|
+
- - -
|
130
|
+
"""
|
131
|
+
resource: pulumi.Input[str]
|
132
|
+
"""
|
133
|
+
Required. The DeveloperConnect repository full resource name, relative resource name
|
134
|
+
or resource URL to be indexed.
|
135
|
+
"""
|
136
|
+
elif False:
|
137
|
+
RepositoryGroupRepositoryArgsDict: TypeAlias = Mapping[str, Any]
|
138
|
+
|
139
|
+
@pulumi.input_type
|
140
|
+
class RepositoryGroupRepositoryArgs:
|
141
|
+
def __init__(__self__, *,
|
142
|
+
branch_pattern: pulumi.Input[str],
|
143
|
+
resource: pulumi.Input[str]):
|
144
|
+
"""
|
145
|
+
:param pulumi.Input[str] branch_pattern: Required. The Git branch pattern used for indexing in RE2 syntax.
|
146
|
+
See https://github.com/google/re2/wiki/syntax for syntax.
|
147
|
+
|
148
|
+
- - -
|
149
|
+
:param pulumi.Input[str] resource: Required. The DeveloperConnect repository full resource name, relative resource name
|
150
|
+
or resource URL to be indexed.
|
151
|
+
"""
|
152
|
+
pulumi.set(__self__, "branch_pattern", branch_pattern)
|
153
|
+
pulumi.set(__self__, "resource", resource)
|
154
|
+
|
155
|
+
@property
|
156
|
+
@pulumi.getter(name="branchPattern")
|
157
|
+
def branch_pattern(self) -> pulumi.Input[str]:
|
158
|
+
"""
|
159
|
+
Required. The Git branch pattern used for indexing in RE2 syntax.
|
160
|
+
See https://github.com/google/re2/wiki/syntax for syntax.
|
161
|
+
|
162
|
+
- - -
|
163
|
+
"""
|
164
|
+
return pulumi.get(self, "branch_pattern")
|
165
|
+
|
166
|
+
@branch_pattern.setter
|
167
|
+
def branch_pattern(self, value: pulumi.Input[str]):
|
168
|
+
pulumi.set(self, "branch_pattern", value)
|
169
|
+
|
170
|
+
@property
|
171
|
+
@pulumi.getter
|
172
|
+
def resource(self) -> pulumi.Input[str]:
|
173
|
+
"""
|
174
|
+
Required. The DeveloperConnect repository full resource name, relative resource name
|
175
|
+
or resource URL to be indexed.
|
176
|
+
"""
|
177
|
+
return pulumi.get(self, "resource")
|
178
|
+
|
179
|
+
@resource.setter
|
180
|
+
def resource(self, value: pulumi.Input[str]):
|
181
|
+
pulumi.set(self, "resource", value)
|
182
|
+
|
183
|
+
|