pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.17.0a1738349438__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 (83) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/alloydb/cluster.py +75 -7
  3. pulumi_gcp/apigee/_inputs.py +91 -0
  4. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  5. pulumi_gcp/apigee/environment.py +54 -0
  6. pulumi_gcp/apigee/outputs.py +54 -0
  7. pulumi_gcp/apihub/__init__.py +10 -0
  8. pulumi_gcp/apihub/_inputs.py +154 -0
  9. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  10. pulumi_gcp/apihub/outputs.py +124 -0
  11. pulumi_gcp/chronicle/__init__.py +1 -0
  12. pulumi_gcp/chronicle/_inputs.py +124 -0
  13. pulumi_gcp/chronicle/outputs.py +112 -0
  14. pulumi_gcp/chronicle/retrohunt.py +645 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  18. pulumi_gcp/cloudrunv2/service.py +159 -0
  19. pulumi_gcp/colab/__init__.py +5 -0
  20. pulumi_gcp/colab/_inputs.py +131 -0
  21. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  22. pulumi_gcp/colab/outputs.py +92 -0
  23. pulumi_gcp/colab/runtime.py +696 -0
  24. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  25. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  26. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  27. pulumi_gcp/compute/__init__.py +4 -0
  28. pulumi_gcp/compute/_inputs.py +526 -0
  29. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  30. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  31. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  32. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  33. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  34. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  35. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  36. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  37. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  38. pulumi_gcp/compute/outputs.py +352 -0
  39. pulumi_gcp/compute/project_metadata_item.py +12 -0
  40. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  42. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  43. pulumi_gcp/compute/router_peer.py +115 -3
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/filestore/get_instance.py +12 -1
  47. pulumi_gcp/filestore/instance.py +75 -0
  48. pulumi_gcp/gemini/code_repository_index.py +29 -33
  49. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  50. pulumi_gcp/gemini/repository_group.py +76 -26
  51. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  52. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  53. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/get_key_handles.py +172 -0
  56. pulumi_gcp/kms/outputs.py +45 -0
  57. pulumi_gcp/networksecurity/_inputs.py +72 -0
  58. pulumi_gcp/networksecurity/outputs.py +76 -0
  59. pulumi_gcp/networksecurity/security_profile.py +233 -7
  60. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  61. pulumi_gcp/organizations/__init__.py +1 -0
  62. pulumi_gcp/organizations/get_s.py +128 -0
  63. pulumi_gcp/organizations/outputs.py +63 -0
  64. pulumi_gcp/parametermanager/__init__.py +3 -0
  65. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  66. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  67. pulumi_gcp/parametermanager/outputs.py +210 -0
  68. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  69. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/_inputs.py +213 -1
  72. pulumi_gcp/pubsub/outputs.py +278 -2
  73. pulumi_gcp/pubsub/topic.py +42 -0
  74. pulumi_gcp/pulumi-plugin.json +1 -1
  75. pulumi_gcp/redis/__init__.py +1 -0
  76. pulumi_gcp/redis/_inputs.py +342 -6
  77. pulumi_gcp/redis/cluster.py +223 -102
  78. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  79. pulumi_gcp/redis/outputs.py +268 -4
  80. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/RECORD +83 -63
  82. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/top_level.txt +0 -0
@@ -320,6 +320,135 @@ class RepositoryGroupIamBinding(pulumi.CustomResource):
320
320
  role: Optional[pulumi.Input[str]] = None,
321
321
  __props__=None):
322
322
  """
323
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
324
+
325
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
326
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
327
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
328
+
329
+ A data source can be used to retrieve policy data in advent you do not need creation
330
+
331
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
332
+
333
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
334
+
335
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
336
+
337
+ ## gemini.RepositoryGroupIamPolicy
338
+
339
+ ```python
340
+ import pulumi
341
+ import pulumi_gcp as gcp
342
+
343
+ admin = gcp.organizations.get_iam_policy(bindings=[{
344
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
345
+ "members": ["user:jane@example.com"],
346
+ }])
347
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
348
+ project=example["project"],
349
+ location=example["location"],
350
+ code_repository_index=example["codeRepositoryIndex"],
351
+ repository_group_id=example["repositoryGroupId"],
352
+ policy_data=admin.policy_data)
353
+ ```
354
+
355
+ ## gemini.RepositoryGroupIamBinding
356
+
357
+ ```python
358
+ import pulumi
359
+ import pulumi_gcp as gcp
360
+
361
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
362
+ project=example["project"],
363
+ location=example["location"],
364
+ code_repository_index=example["codeRepositoryIndex"],
365
+ repository_group_id=example["repositoryGroupId"],
366
+ role="roles/cloudaicompanion.repositoryGroupsUser",
367
+ members=["user:jane@example.com"])
368
+ ```
369
+
370
+ ## gemini.RepositoryGroupIamMember
371
+
372
+ ```python
373
+ import pulumi
374
+ import pulumi_gcp as gcp
375
+
376
+ member = gcp.gemini.RepositoryGroupIamMember("member",
377
+ project=example["project"],
378
+ location=example["location"],
379
+ code_repository_index=example["codeRepositoryIndex"],
380
+ repository_group_id=example["repositoryGroupId"],
381
+ role="roles/cloudaicompanion.repositoryGroupsUser",
382
+ member="user:jane@example.com")
383
+ ```
384
+
385
+ ## This resource supports User Project Overrides.
386
+
387
+ -
388
+
389
+ # IAM policy for Gemini for Google Cloud RepositoryGroup
390
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
391
+
392
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
393
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
394
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
395
+
396
+ A data source can be used to retrieve policy data in advent you do not need creation
397
+
398
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
399
+
400
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
401
+
402
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
403
+
404
+ ## gemini.RepositoryGroupIamPolicy
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumi_gcp as gcp
409
+
410
+ admin = gcp.organizations.get_iam_policy(bindings=[{
411
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
412
+ "members": ["user:jane@example.com"],
413
+ }])
414
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
415
+ project=example["project"],
416
+ location=example["location"],
417
+ code_repository_index=example["codeRepositoryIndex"],
418
+ repository_group_id=example["repositoryGroupId"],
419
+ policy_data=admin.policy_data)
420
+ ```
421
+
422
+ ## gemini.RepositoryGroupIamBinding
423
+
424
+ ```python
425
+ import pulumi
426
+ import pulumi_gcp as gcp
427
+
428
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
429
+ project=example["project"],
430
+ location=example["location"],
431
+ code_repository_index=example["codeRepositoryIndex"],
432
+ repository_group_id=example["repositoryGroupId"],
433
+ role="roles/cloudaicompanion.repositoryGroupsUser",
434
+ members=["user:jane@example.com"])
435
+ ```
436
+
437
+ ## gemini.RepositoryGroupIamMember
438
+
439
+ ```python
440
+ import pulumi
441
+ import pulumi_gcp as gcp
442
+
443
+ member = gcp.gemini.RepositoryGroupIamMember("member",
444
+ project=example["project"],
445
+ location=example["location"],
446
+ code_repository_index=example["codeRepositoryIndex"],
447
+ repository_group_id=example["repositoryGroupId"],
448
+ role="roles/cloudaicompanion.repositoryGroupsUser",
449
+ member="user:jane@example.com")
450
+ ```
451
+
323
452
  ## Import
324
453
 
325
454
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -387,6 +516,135 @@ class RepositoryGroupIamBinding(pulumi.CustomResource):
387
516
  args: RepositoryGroupIamBindingArgs,
388
517
  opts: Optional[pulumi.ResourceOptions] = None):
389
518
  """
519
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
520
+
521
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
522
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
523
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
524
+
525
+ A data source can be used to retrieve policy data in advent you do not need creation
526
+
527
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
528
+
529
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
530
+
531
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
532
+
533
+ ## gemini.RepositoryGroupIamPolicy
534
+
535
+ ```python
536
+ import pulumi
537
+ import pulumi_gcp as gcp
538
+
539
+ admin = gcp.organizations.get_iam_policy(bindings=[{
540
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
541
+ "members": ["user:jane@example.com"],
542
+ }])
543
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
544
+ project=example["project"],
545
+ location=example["location"],
546
+ code_repository_index=example["codeRepositoryIndex"],
547
+ repository_group_id=example["repositoryGroupId"],
548
+ policy_data=admin.policy_data)
549
+ ```
550
+
551
+ ## gemini.RepositoryGroupIamBinding
552
+
553
+ ```python
554
+ import pulumi
555
+ import pulumi_gcp as gcp
556
+
557
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
558
+ project=example["project"],
559
+ location=example["location"],
560
+ code_repository_index=example["codeRepositoryIndex"],
561
+ repository_group_id=example["repositoryGroupId"],
562
+ role="roles/cloudaicompanion.repositoryGroupsUser",
563
+ members=["user:jane@example.com"])
564
+ ```
565
+
566
+ ## gemini.RepositoryGroupIamMember
567
+
568
+ ```python
569
+ import pulumi
570
+ import pulumi_gcp as gcp
571
+
572
+ member = gcp.gemini.RepositoryGroupIamMember("member",
573
+ project=example["project"],
574
+ location=example["location"],
575
+ code_repository_index=example["codeRepositoryIndex"],
576
+ repository_group_id=example["repositoryGroupId"],
577
+ role="roles/cloudaicompanion.repositoryGroupsUser",
578
+ member="user:jane@example.com")
579
+ ```
580
+
581
+ ## This resource supports User Project Overrides.
582
+
583
+ -
584
+
585
+ # IAM policy for Gemini for Google Cloud RepositoryGroup
586
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
587
+
588
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
589
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
590
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
591
+
592
+ A data source can be used to retrieve policy data in advent you do not need creation
593
+
594
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
595
+
596
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
597
+
598
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
599
+
600
+ ## gemini.RepositoryGroupIamPolicy
601
+
602
+ ```python
603
+ import pulumi
604
+ import pulumi_gcp as gcp
605
+
606
+ admin = gcp.organizations.get_iam_policy(bindings=[{
607
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
608
+ "members": ["user:jane@example.com"],
609
+ }])
610
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
611
+ project=example["project"],
612
+ location=example["location"],
613
+ code_repository_index=example["codeRepositoryIndex"],
614
+ repository_group_id=example["repositoryGroupId"],
615
+ policy_data=admin.policy_data)
616
+ ```
617
+
618
+ ## gemini.RepositoryGroupIamBinding
619
+
620
+ ```python
621
+ import pulumi
622
+ import pulumi_gcp as gcp
623
+
624
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
625
+ project=example["project"],
626
+ location=example["location"],
627
+ code_repository_index=example["codeRepositoryIndex"],
628
+ repository_group_id=example["repositoryGroupId"],
629
+ role="roles/cloudaicompanion.repositoryGroupsUser",
630
+ members=["user:jane@example.com"])
631
+ ```
632
+
633
+ ## gemini.RepositoryGroupIamMember
634
+
635
+ ```python
636
+ import pulumi
637
+ import pulumi_gcp as gcp
638
+
639
+ member = gcp.gemini.RepositoryGroupIamMember("member",
640
+ project=example["project"],
641
+ location=example["location"],
642
+ code_repository_index=example["codeRepositoryIndex"],
643
+ repository_group_id=example["repositoryGroupId"],
644
+ role="roles/cloudaicompanion.repositoryGroupsUser",
645
+ member="user:jane@example.com")
646
+ ```
647
+
390
648
  ## Import
391
649
 
392
650
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -320,6 +320,135 @@ class RepositoryGroupIamMember(pulumi.CustomResource):
320
320
  role: Optional[pulumi.Input[str]] = None,
321
321
  __props__=None):
322
322
  """
323
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
324
+
325
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
326
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
327
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
328
+
329
+ A data source can be used to retrieve policy data in advent you do not need creation
330
+
331
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
332
+
333
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
334
+
335
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
336
+
337
+ ## gemini.RepositoryGroupIamPolicy
338
+
339
+ ```python
340
+ import pulumi
341
+ import pulumi_gcp as gcp
342
+
343
+ admin = gcp.organizations.get_iam_policy(bindings=[{
344
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
345
+ "members": ["user:jane@example.com"],
346
+ }])
347
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
348
+ project=example["project"],
349
+ location=example["location"],
350
+ code_repository_index=example["codeRepositoryIndex"],
351
+ repository_group_id=example["repositoryGroupId"],
352
+ policy_data=admin.policy_data)
353
+ ```
354
+
355
+ ## gemini.RepositoryGroupIamBinding
356
+
357
+ ```python
358
+ import pulumi
359
+ import pulumi_gcp as gcp
360
+
361
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
362
+ project=example["project"],
363
+ location=example["location"],
364
+ code_repository_index=example["codeRepositoryIndex"],
365
+ repository_group_id=example["repositoryGroupId"],
366
+ role="roles/cloudaicompanion.repositoryGroupsUser",
367
+ members=["user:jane@example.com"])
368
+ ```
369
+
370
+ ## gemini.RepositoryGroupIamMember
371
+
372
+ ```python
373
+ import pulumi
374
+ import pulumi_gcp as gcp
375
+
376
+ member = gcp.gemini.RepositoryGroupIamMember("member",
377
+ project=example["project"],
378
+ location=example["location"],
379
+ code_repository_index=example["codeRepositoryIndex"],
380
+ repository_group_id=example["repositoryGroupId"],
381
+ role="roles/cloudaicompanion.repositoryGroupsUser",
382
+ member="user:jane@example.com")
383
+ ```
384
+
385
+ ## This resource supports User Project Overrides.
386
+
387
+ -
388
+
389
+ # IAM policy for Gemini for Google Cloud RepositoryGroup
390
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
391
+
392
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
393
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
394
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
395
+
396
+ A data source can be used to retrieve policy data in advent you do not need creation
397
+
398
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
399
+
400
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
401
+
402
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
403
+
404
+ ## gemini.RepositoryGroupIamPolicy
405
+
406
+ ```python
407
+ import pulumi
408
+ import pulumi_gcp as gcp
409
+
410
+ admin = gcp.organizations.get_iam_policy(bindings=[{
411
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
412
+ "members": ["user:jane@example.com"],
413
+ }])
414
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
415
+ project=example["project"],
416
+ location=example["location"],
417
+ code_repository_index=example["codeRepositoryIndex"],
418
+ repository_group_id=example["repositoryGroupId"],
419
+ policy_data=admin.policy_data)
420
+ ```
421
+
422
+ ## gemini.RepositoryGroupIamBinding
423
+
424
+ ```python
425
+ import pulumi
426
+ import pulumi_gcp as gcp
427
+
428
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
429
+ project=example["project"],
430
+ location=example["location"],
431
+ code_repository_index=example["codeRepositoryIndex"],
432
+ repository_group_id=example["repositoryGroupId"],
433
+ role="roles/cloudaicompanion.repositoryGroupsUser",
434
+ members=["user:jane@example.com"])
435
+ ```
436
+
437
+ ## gemini.RepositoryGroupIamMember
438
+
439
+ ```python
440
+ import pulumi
441
+ import pulumi_gcp as gcp
442
+
443
+ member = gcp.gemini.RepositoryGroupIamMember("member",
444
+ project=example["project"],
445
+ location=example["location"],
446
+ code_repository_index=example["codeRepositoryIndex"],
447
+ repository_group_id=example["repositoryGroupId"],
448
+ role="roles/cloudaicompanion.repositoryGroupsUser",
449
+ member="user:jane@example.com")
450
+ ```
451
+
323
452
  ## Import
324
453
 
325
454
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -387,6 +516,135 @@ class RepositoryGroupIamMember(pulumi.CustomResource):
387
516
  args: RepositoryGroupIamMemberArgs,
388
517
  opts: Optional[pulumi.ResourceOptions] = None):
389
518
  """
519
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
520
+
521
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
522
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
523
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
524
+
525
+ A data source can be used to retrieve policy data in advent you do not need creation
526
+
527
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
528
+
529
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
530
+
531
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
532
+
533
+ ## gemini.RepositoryGroupIamPolicy
534
+
535
+ ```python
536
+ import pulumi
537
+ import pulumi_gcp as gcp
538
+
539
+ admin = gcp.organizations.get_iam_policy(bindings=[{
540
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
541
+ "members": ["user:jane@example.com"],
542
+ }])
543
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
544
+ project=example["project"],
545
+ location=example["location"],
546
+ code_repository_index=example["codeRepositoryIndex"],
547
+ repository_group_id=example["repositoryGroupId"],
548
+ policy_data=admin.policy_data)
549
+ ```
550
+
551
+ ## gemini.RepositoryGroupIamBinding
552
+
553
+ ```python
554
+ import pulumi
555
+ import pulumi_gcp as gcp
556
+
557
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
558
+ project=example["project"],
559
+ location=example["location"],
560
+ code_repository_index=example["codeRepositoryIndex"],
561
+ repository_group_id=example["repositoryGroupId"],
562
+ role="roles/cloudaicompanion.repositoryGroupsUser",
563
+ members=["user:jane@example.com"])
564
+ ```
565
+
566
+ ## gemini.RepositoryGroupIamMember
567
+
568
+ ```python
569
+ import pulumi
570
+ import pulumi_gcp as gcp
571
+
572
+ member = gcp.gemini.RepositoryGroupIamMember("member",
573
+ project=example["project"],
574
+ location=example["location"],
575
+ code_repository_index=example["codeRepositoryIndex"],
576
+ repository_group_id=example["repositoryGroupId"],
577
+ role="roles/cloudaicompanion.repositoryGroupsUser",
578
+ member="user:jane@example.com")
579
+ ```
580
+
581
+ ## This resource supports User Project Overrides.
582
+
583
+ -
584
+
585
+ # IAM policy for Gemini for Google Cloud RepositoryGroup
586
+ Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
587
+
588
+ * `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
589
+ * `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
590
+ * `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
591
+
592
+ A data source can be used to retrieve policy data in advent you do not need creation
593
+
594
+ * `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
595
+
596
+ > **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
597
+
598
+ > **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
599
+
600
+ ## gemini.RepositoryGroupIamPolicy
601
+
602
+ ```python
603
+ import pulumi
604
+ import pulumi_gcp as gcp
605
+
606
+ admin = gcp.organizations.get_iam_policy(bindings=[{
607
+ "role": "roles/cloudaicompanion.repositoryGroupsUser",
608
+ "members": ["user:jane@example.com"],
609
+ }])
610
+ policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
611
+ project=example["project"],
612
+ location=example["location"],
613
+ code_repository_index=example["codeRepositoryIndex"],
614
+ repository_group_id=example["repositoryGroupId"],
615
+ policy_data=admin.policy_data)
616
+ ```
617
+
618
+ ## gemini.RepositoryGroupIamBinding
619
+
620
+ ```python
621
+ import pulumi
622
+ import pulumi_gcp as gcp
623
+
624
+ binding = gcp.gemini.RepositoryGroupIamBinding("binding",
625
+ project=example["project"],
626
+ location=example["location"],
627
+ code_repository_index=example["codeRepositoryIndex"],
628
+ repository_group_id=example["repositoryGroupId"],
629
+ role="roles/cloudaicompanion.repositoryGroupsUser",
630
+ members=["user:jane@example.com"])
631
+ ```
632
+
633
+ ## gemini.RepositoryGroupIamMember
634
+
635
+ ```python
636
+ import pulumi
637
+ import pulumi_gcp as gcp
638
+
639
+ member = gcp.gemini.RepositoryGroupIamMember("member",
640
+ project=example["project"],
641
+ location=example["location"],
642
+ code_repository_index=example["codeRepositoryIndex"],
643
+ repository_group_id=example["repositoryGroupId"],
644
+ role="roles/cloudaicompanion.repositoryGroupsUser",
645
+ member="user:jane@example.com")
646
+ ```
647
+
390
648
  ## Import
391
649
 
392
650
  For all import syntaxes, the "resource in question" can take any of the following forms: