pulumi-gcp 8.1.0a1726293903__py3-none-any.whl → 8.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. pulumi_gcp/__init__.py +62 -0
  2. pulumi_gcp/alloydb/_inputs.py +94 -0
  3. pulumi_gcp/alloydb/cluster.py +94 -1
  4. pulumi_gcp/alloydb/outputs.py +79 -0
  5. pulumi_gcp/assuredworkloads/workload.py +135 -16
  6. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  7. pulumi_gcp/backupdisasterrecovery/backup_vault.py +1203 -0
  8. pulumi_gcp/bigquery/__init__.py +1 -0
  9. pulumi_gcp/bigquery/_inputs.py +33 -0
  10. pulumi_gcp/bigquery/data_transfer_config.py +134 -6
  11. pulumi_gcp/bigquery/get_tables.py +143 -0
  12. pulumi_gcp/bigquery/outputs.py +66 -0
  13. pulumi_gcp/bigqueryanalyticshub/_inputs.py +169 -7
  14. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +96 -3
  15. pulumi_gcp/bigqueryanalyticshub/listing.py +114 -0
  16. pulumi_gcp/bigqueryanalyticshub/outputs.py +138 -5
  17. pulumi_gcp/bigtable/_inputs.py +21 -1
  18. pulumi_gcp/bigtable/outputs.py +13 -1
  19. pulumi_gcp/bigtable/table.py +34 -0
  20. pulumi_gcp/certificateauthority/authority.py +14 -7
  21. pulumi_gcp/certificatemanager/__init__.py +1 -0
  22. pulumi_gcp/certificatemanager/certificate.py +28 -0
  23. pulumi_gcp/certificatemanager/get_certificates.py +150 -0
  24. pulumi_gcp/certificatemanager/outputs.py +322 -0
  25. pulumi_gcp/cloudbuild/_inputs.py +6 -6
  26. pulumi_gcp/cloudbuild/outputs.py +4 -4
  27. pulumi_gcp/cloudrun/_inputs.py +6 -12
  28. pulumi_gcp/cloudrun/outputs.py +8 -16
  29. pulumi_gcp/cloudrunv2/_inputs.py +72 -15
  30. pulumi_gcp/cloudrunv2/outputs.py +82 -16
  31. pulumi_gcp/cloudrunv2/service.py +50 -4
  32. pulumi_gcp/cloudtasks/_inputs.py +630 -0
  33. pulumi_gcp/cloudtasks/outputs.py +479 -0
  34. pulumi_gcp/cloudtasks/queue.py +238 -0
  35. pulumi_gcp/compute/__init__.py +1 -0
  36. pulumi_gcp/compute/_inputs.py +2300 -257
  37. pulumi_gcp/compute/get_instance.py +4 -1
  38. pulumi_gcp/compute/health_check.py +114 -0
  39. pulumi_gcp/compute/instance.py +86 -4
  40. pulumi_gcp/compute/instance_template.py +66 -0
  41. pulumi_gcp/compute/interconnect.py +28 -21
  42. pulumi_gcp/compute/network_firewall_policy_with_rules.py +826 -0
  43. pulumi_gcp/compute/node_template.py +93 -0
  44. pulumi_gcp/compute/outputs.py +1491 -6
  45. pulumi_gcp/compute/region_target_http_proxy.py +159 -0
  46. pulumi_gcp/compute/region_target_https_proxy.py +175 -0
  47. pulumi_gcp/compute/service_attachment.py +75 -0
  48. pulumi_gcp/compute/target_http_proxy.py +49 -28
  49. pulumi_gcp/compute/target_https_proxy.py +77 -28
  50. pulumi_gcp/config/__init__.pyi +4 -0
  51. pulumi_gcp/config/vars.py +8 -0
  52. pulumi_gcp/container/_inputs.py +236 -3
  53. pulumi_gcp/container/attached_cluster.py +61 -8
  54. pulumi_gcp/container/outputs.py +276 -2
  55. pulumi_gcp/databasemigrationservice/_inputs.py +176 -148
  56. pulumi_gcp/databasemigrationservice/connection_profile.py +206 -0
  57. pulumi_gcp/databasemigrationservice/outputs.py +109 -87
  58. pulumi_gcp/dataloss/_inputs.py +353 -1
  59. pulumi_gcp/dataloss/outputs.py +274 -3
  60. pulumi_gcp/dataproc/_inputs.py +27 -27
  61. pulumi_gcp/dataproc/metastore_federation.py +8 -8
  62. pulumi_gcp/dataproc/metastore_service.py +2 -0
  63. pulumi_gcp/dataproc/outputs.py +18 -18
  64. pulumi_gcp/datastream/_inputs.py +69 -1
  65. pulumi_gcp/datastream/outputs.py +44 -2
  66. pulumi_gcp/datastream/stream.py +201 -7
  67. pulumi_gcp/developerconnect/__init__.py +11 -0
  68. pulumi_gcp/developerconnect/_inputs.py +301 -0
  69. pulumi_gcp/developerconnect/connection.py +1034 -0
  70. pulumi_gcp/developerconnect/git_repository_link.py +873 -0
  71. pulumi_gcp/developerconnect/outputs.py +247 -0
  72. pulumi_gcp/discoveryengine/_inputs.py +188 -0
  73. pulumi_gcp/discoveryengine/data_store.py +14 -14
  74. pulumi_gcp/discoveryengine/outputs.py +153 -1
  75. pulumi_gcp/firebase/database_instance.py +7 -7
  76. pulumi_gcp/gkehub/_inputs.py +25 -1
  77. pulumi_gcp/gkehub/feature_membership.py +12 -6
  78. pulumi_gcp/gkehub/outputs.py +17 -1
  79. pulumi_gcp/gkeonprem/_inputs.py +3 -3
  80. pulumi_gcp/gkeonprem/outputs.py +2 -2
  81. pulumi_gcp/iam/_inputs.py +196 -0
  82. pulumi_gcp/iam/get_workload_identity_pool_provider.py +13 -3
  83. pulumi_gcp/iam/outputs.py +295 -0
  84. pulumi_gcp/iam/workload_identity_pool_provider.py +164 -3
  85. pulumi_gcp/kms/__init__.py +2 -0
  86. pulumi_gcp/kms/autokey_config.py +10 -2
  87. pulumi_gcp/kms/get_crypto_key_latest_version.py +222 -0
  88. pulumi_gcp/kms/get_crypto_key_versions.py +175 -0
  89. pulumi_gcp/kms/outputs.py +164 -0
  90. pulumi_gcp/memorystore/__init__.py +10 -0
  91. pulumi_gcp/memorystore/_inputs.py +731 -0
  92. pulumi_gcp/memorystore/instance.py +1663 -0
  93. pulumi_gcp/memorystore/outputs.py +598 -0
  94. pulumi_gcp/netapp/active_directory.py +6 -6
  95. pulumi_gcp/netapp/backup.py +6 -6
  96. pulumi_gcp/netapp/backup_policy.py +6 -6
  97. pulumi_gcp/netapp/backup_vault.py +6 -6
  98. pulumi_gcp/netapp/storage_pool.py +4 -4
  99. pulumi_gcp/netapp/volume.py +108 -0
  100. pulumi_gcp/networkconnectivity/_inputs.py +21 -1
  101. pulumi_gcp/networkconnectivity/outputs.py +15 -1
  102. pulumi_gcp/networkconnectivity/spoke.py +8 -0
  103. pulumi_gcp/networksecurity/client_tls_policy.py +24 -22
  104. pulumi_gcp/networksecurity/server_tls_policy.py +20 -32
  105. pulumi_gcp/organizations/folder.py +52 -33
  106. pulumi_gcp/organizations/get_project.py +13 -3
  107. pulumi_gcp/organizations/project.py +88 -3
  108. pulumi_gcp/parallelstore/instance.py +121 -121
  109. pulumi_gcp/projects/iam_member_remove.py +26 -0
  110. pulumi_gcp/projects/usage_export_bucket.py +38 -0
  111. pulumi_gcp/provider.py +40 -0
  112. pulumi_gcp/pubsub/_inputs.py +40 -0
  113. pulumi_gcp/pubsub/outputs.py +51 -1
  114. pulumi_gcp/pubsub/subscription.py +6 -0
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/_inputs.py +419 -0
  117. pulumi_gcp/redis/cluster.py +123 -0
  118. pulumi_gcp/redis/outputs.py +315 -0
  119. pulumi_gcp/securitycenter/__init__.py +2 -0
  120. pulumi_gcp/securitycenter/v2_folder_scc_big_query_export.py +857 -0
  121. pulumi_gcp/securitycenter/v2_organization_scc_big_query_exports.py +4 -4
  122. pulumi_gcp/securitycenter/v2_project_mute_config.py +2 -2
  123. pulumi_gcp/securitycenter/v2_project_scc_big_query_export.py +796 -0
  124. pulumi_gcp/vpcaccess/connector.py +21 -28
  125. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/METADATA +1 -1
  126. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/RECORD +128 -111
  127. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/WHEEL +1 -1
  128. {pulumi_gcp-8.1.0a1726293903.dist-info → pulumi_gcp-8.2.0.dist-info}/top_level.txt +0 -0
@@ -47,7 +47,9 @@ class StreamArgs:
47
47
  :param pulumi.Input[bool] create_without_validation: Create the stream without validating it.
48
48
  :param pulumi.Input[str] customer_managed_encryption_key: A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be
49
49
  encrypted using an internal Stream-specific encryption key provisioned through KMS.
50
- :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.
50
+ :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, 'NOT_STARTED' to create the stream without
51
+ starting and 'PAUSED' to pause the stream from a 'RUNNING' state. Possible values: NOT_STARTED, RUNNING, PAUSED.
52
+ Default: NOT_STARTED
51
53
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please
52
54
  refer to the field 'effective_labels' for all of the labels present on the resource.
53
55
  """
@@ -186,7 +188,9 @@ class StreamArgs:
186
188
  @pulumi.getter(name="desiredState")
187
189
  def desired_state(self) -> Optional[pulumi.Input[str]]:
188
190
  """
189
- Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.
191
+ Desired state of the Stream. Set this field to 'RUNNING' to start the stream, 'NOT_STARTED' to create the stream without
192
+ starting and 'PAUSED' to pause the stream from a 'RUNNING' state. Possible values: NOT_STARTED, RUNNING, PAUSED.
193
+ Default: NOT_STARTED
190
194
  """
191
195
  return pulumi.get(self, "desired_state")
192
196
 
@@ -243,7 +247,9 @@ class _StreamState:
243
247
  :param pulumi.Input[bool] create_without_validation: Create the stream without validating it.
244
248
  :param pulumi.Input[str] customer_managed_encryption_key: A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be
245
249
  encrypted using an internal Stream-specific encryption key provisioned through KMS.
246
- :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.
250
+ :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, 'NOT_STARTED' to create the stream without
251
+ starting and 'PAUSED' to pause the stream from a 'RUNNING' state. Possible values: NOT_STARTED, RUNNING, PAUSED.
252
+ Default: NOT_STARTED
247
253
  :param pulumi.Input['StreamDestinationConfigArgs'] destination_config: Destination connection profile configuration.
248
254
  Structure is documented below.
249
255
  :param pulumi.Input[str] display_name: Display name.
@@ -345,7 +351,9 @@ class _StreamState:
345
351
  @pulumi.getter(name="desiredState")
346
352
  def desired_state(self) -> Optional[pulumi.Input[str]]:
347
353
  """
348
- Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.
354
+ Desired state of the Stream. Set this field to 'RUNNING' to start the stream, 'NOT_STARTED' to create the stream without
355
+ starting and 'PAUSED' to pause the stream from a 'RUNNING' state. Possible values: NOT_STARTED, RUNNING, PAUSED.
356
+ Default: NOT_STARTED
349
357
  """
350
358
  return pulumi.get(self, "desired_state")
351
359
 
@@ -924,6 +932,96 @@ class Stream(pulumi.CustomResource):
924
932
  }],
925
933
  }],
926
934
  },
935
+ "transaction_logs": {},
936
+ },
937
+ },
938
+ destination_config={
939
+ "destination_connection_profile": destination.id,
940
+ "bigquery_destination_config": {
941
+ "data_freshness": "900s",
942
+ "source_hierarchy_datasets": {
943
+ "dataset_template": {
944
+ "location": "us-central1",
945
+ },
946
+ },
947
+ },
948
+ },
949
+ backfill_none={})
950
+ ```
951
+ ### Datastream Stream Sql Server Change Tables
952
+
953
+ ```python
954
+ import pulumi
955
+ import pulumi_gcp as gcp
956
+
957
+ instance = gcp.sql.DatabaseInstance("instance",
958
+ name="sql-server",
959
+ database_version="SQLSERVER_2019_STANDARD",
960
+ region="us-central1",
961
+ root_password="root-password",
962
+ deletion_protection=True,
963
+ settings={
964
+ "tier": "db-custom-2-4096",
965
+ "ip_configuration": {
966
+ "authorized_networks": [
967
+ {
968
+ "value": "34.71.242.81",
969
+ },
970
+ {
971
+ "value": "34.72.28.29",
972
+ },
973
+ {
974
+ "value": "34.67.6.157",
975
+ },
976
+ {
977
+ "value": "34.67.234.134",
978
+ },
979
+ {
980
+ "value": "34.72.239.218",
981
+ },
982
+ ],
983
+ },
984
+ })
985
+ user = gcp.sql.User("user",
986
+ name="user",
987
+ instance=instance.name,
988
+ password="password")
989
+ db = gcp.sql.Database("db",
990
+ name="db",
991
+ instance=instance.name,
992
+ opts = pulumi.ResourceOptions(depends_on=[user]))
993
+ source = gcp.datastream.ConnectionProfile("source",
994
+ display_name="SQL Server Source",
995
+ location="us-central1",
996
+ connection_profile_id="source-profile",
997
+ sql_server_profile={
998
+ "hostname": instance.public_ip_address,
999
+ "port": 1433,
1000
+ "username": user.name,
1001
+ "password": user.password,
1002
+ "database": db.name,
1003
+ })
1004
+ destination = gcp.datastream.ConnectionProfile("destination",
1005
+ display_name="BigQuery Destination",
1006
+ location="us-central1",
1007
+ connection_profile_id="destination-profile",
1008
+ bigquery_profile={})
1009
+ default = gcp.datastream.Stream("default",
1010
+ display_name="SQL Server to BigQuery",
1011
+ location="us-central1",
1012
+ stream_id="stream",
1013
+ source_config={
1014
+ "source_connection_profile": source.id,
1015
+ "sql_server_source_config": {
1016
+ "include_objects": {
1017
+ "schemas": [{
1018
+ "schema": "schema",
1019
+ "tables": [{
1020
+ "table": "table",
1021
+ }],
1022
+ }],
1023
+ },
1024
+ "change_tables": {},
927
1025
  },
928
1026
  },
929
1027
  destination_config={
@@ -1234,7 +1332,9 @@ class Stream(pulumi.CustomResource):
1234
1332
  :param pulumi.Input[bool] create_without_validation: Create the stream without validating it.
1235
1333
  :param pulumi.Input[str] customer_managed_encryption_key: A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be
1236
1334
  encrypted using an internal Stream-specific encryption key provisioned through KMS.
1237
- :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.
1335
+ :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, 'NOT_STARTED' to create the stream without
1336
+ starting and 'PAUSED' to pause the stream from a 'RUNNING' state. Possible values: NOT_STARTED, RUNNING, PAUSED.
1337
+ Default: NOT_STARTED
1238
1338
  :param pulumi.Input[Union['StreamDestinationConfigArgs', 'StreamDestinationConfigArgsDict']] destination_config: Destination connection profile configuration.
1239
1339
  Structure is documented below.
1240
1340
  :param pulumi.Input[str] display_name: Display name.
@@ -1670,6 +1770,96 @@ class Stream(pulumi.CustomResource):
1670
1770
  }],
1671
1771
  }],
1672
1772
  },
1773
+ "transaction_logs": {},
1774
+ },
1775
+ },
1776
+ destination_config={
1777
+ "destination_connection_profile": destination.id,
1778
+ "bigquery_destination_config": {
1779
+ "data_freshness": "900s",
1780
+ "source_hierarchy_datasets": {
1781
+ "dataset_template": {
1782
+ "location": "us-central1",
1783
+ },
1784
+ },
1785
+ },
1786
+ },
1787
+ backfill_none={})
1788
+ ```
1789
+ ### Datastream Stream Sql Server Change Tables
1790
+
1791
+ ```python
1792
+ import pulumi
1793
+ import pulumi_gcp as gcp
1794
+
1795
+ instance = gcp.sql.DatabaseInstance("instance",
1796
+ name="sql-server",
1797
+ database_version="SQLSERVER_2019_STANDARD",
1798
+ region="us-central1",
1799
+ root_password="root-password",
1800
+ deletion_protection=True,
1801
+ settings={
1802
+ "tier": "db-custom-2-4096",
1803
+ "ip_configuration": {
1804
+ "authorized_networks": [
1805
+ {
1806
+ "value": "34.71.242.81",
1807
+ },
1808
+ {
1809
+ "value": "34.72.28.29",
1810
+ },
1811
+ {
1812
+ "value": "34.67.6.157",
1813
+ },
1814
+ {
1815
+ "value": "34.67.234.134",
1816
+ },
1817
+ {
1818
+ "value": "34.72.239.218",
1819
+ },
1820
+ ],
1821
+ },
1822
+ })
1823
+ user = gcp.sql.User("user",
1824
+ name="user",
1825
+ instance=instance.name,
1826
+ password="password")
1827
+ db = gcp.sql.Database("db",
1828
+ name="db",
1829
+ instance=instance.name,
1830
+ opts = pulumi.ResourceOptions(depends_on=[user]))
1831
+ source = gcp.datastream.ConnectionProfile("source",
1832
+ display_name="SQL Server Source",
1833
+ location="us-central1",
1834
+ connection_profile_id="source-profile",
1835
+ sql_server_profile={
1836
+ "hostname": instance.public_ip_address,
1837
+ "port": 1433,
1838
+ "username": user.name,
1839
+ "password": user.password,
1840
+ "database": db.name,
1841
+ })
1842
+ destination = gcp.datastream.ConnectionProfile("destination",
1843
+ display_name="BigQuery Destination",
1844
+ location="us-central1",
1845
+ connection_profile_id="destination-profile",
1846
+ bigquery_profile={})
1847
+ default = gcp.datastream.Stream("default",
1848
+ display_name="SQL Server to BigQuery",
1849
+ location="us-central1",
1850
+ stream_id="stream",
1851
+ source_config={
1852
+ "source_connection_profile": source.id,
1853
+ "sql_server_source_config": {
1854
+ "include_objects": {
1855
+ "schemas": [{
1856
+ "schema": "schema",
1857
+ "tables": [{
1858
+ "table": "table",
1859
+ }],
1860
+ }],
1861
+ },
1862
+ "change_tables": {},
1673
1863
  },
1674
1864
  },
1675
1865
  destination_config={
@@ -2075,7 +2265,9 @@ class Stream(pulumi.CustomResource):
2075
2265
  :param pulumi.Input[bool] create_without_validation: Create the stream without validating it.
2076
2266
  :param pulumi.Input[str] customer_managed_encryption_key: A reference to a KMS encryption key. If provided, it will be used to encrypt the data. If left blank, data will be
2077
2267
  encrypted using an internal Stream-specific encryption key provisioned through KMS.
2078
- :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.
2268
+ :param pulumi.Input[str] desired_state: Desired state of the Stream. Set this field to 'RUNNING' to start the stream, 'NOT_STARTED' to create the stream without
2269
+ starting and 'PAUSED' to pause the stream from a 'RUNNING' state. Possible values: NOT_STARTED, RUNNING, PAUSED.
2270
+ Default: NOT_STARTED
2079
2271
  :param pulumi.Input[Union['StreamDestinationConfigArgs', 'StreamDestinationConfigArgsDict']] destination_config: Destination connection profile configuration.
2080
2272
  Structure is documented below.
2081
2273
  :param pulumi.Input[str] display_name: Display name.
@@ -2150,7 +2342,9 @@ class Stream(pulumi.CustomResource):
2150
2342
  @pulumi.getter(name="desiredState")
2151
2343
  def desired_state(self) -> pulumi.Output[Optional[str]]:
2152
2344
  """
2153
- Desired state of the Stream. Set this field to 'RUNNING' to start the stream, and 'PAUSED' to pause the stream.
2345
+ Desired state of the Stream. Set this field to 'RUNNING' to start the stream, 'NOT_STARTED' to create the stream without
2346
+ starting and 'PAUSED' to pause the stream from a 'RUNNING' state. Possible values: NOT_STARTED, RUNNING, PAUSED.
2347
+ Default: NOT_STARTED
2154
2348
  """
2155
2349
  return pulumi.get(self, "desired_state")
2156
2350
 
@@ -0,0 +1,11 @@
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 .connection import *
9
+ from .git_repository_link import *
10
+ from ._inputs import *
11
+ from . import outputs
@@ -0,0 +1,301 @@
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
+ 'ConnectionGithubConfigArgs',
19
+ 'ConnectionGithubConfigArgsDict',
20
+ 'ConnectionGithubConfigAuthorizerCredentialArgs',
21
+ 'ConnectionGithubConfigAuthorizerCredentialArgsDict',
22
+ 'ConnectionInstallationStateArgs',
23
+ 'ConnectionInstallationStateArgsDict',
24
+ ]
25
+
26
+ MYPY = False
27
+
28
+ if not MYPY:
29
+ class ConnectionGithubConfigArgsDict(TypedDict):
30
+ github_app: pulumi.Input[str]
31
+ """
32
+ Required. Immutable. The GitHub Application that was installed to the GitHub user or
33
+ organization.
34
+ Possible values:
35
+ GIT_HUB_APP_UNSPECIFIED
36
+ DEVELOPER_CONNECT
37
+ FIREBASE
38
+ """
39
+ app_installation_id: NotRequired[pulumi.Input[str]]
40
+ """
41
+ Optional. GitHub App installation id.
42
+ """
43
+ authorizer_credential: NotRequired[pulumi.Input['ConnectionGithubConfigAuthorizerCredentialArgsDict']]
44
+ """
45
+ Represents an OAuth token of the account that authorized the Connection,
46
+ and associated metadata.
47
+ Structure is documented below.
48
+ """
49
+ installation_uri: NotRequired[pulumi.Input[str]]
50
+ """
51
+ (Output)
52
+ Output only. The URI to navigate to in order to manage the installation associated
53
+ with this GitHubConfig.
54
+ """
55
+ elif False:
56
+ ConnectionGithubConfigArgsDict: TypeAlias = Mapping[str, Any]
57
+
58
+ @pulumi.input_type
59
+ class ConnectionGithubConfigArgs:
60
+ def __init__(__self__, *,
61
+ github_app: pulumi.Input[str],
62
+ app_installation_id: Optional[pulumi.Input[str]] = None,
63
+ authorizer_credential: Optional[pulumi.Input['ConnectionGithubConfigAuthorizerCredentialArgs']] = None,
64
+ installation_uri: Optional[pulumi.Input[str]] = None):
65
+ """
66
+ :param pulumi.Input[str] github_app: Required. Immutable. The GitHub Application that was installed to the GitHub user or
67
+ organization.
68
+ Possible values:
69
+ GIT_HUB_APP_UNSPECIFIED
70
+ DEVELOPER_CONNECT
71
+ FIREBASE
72
+ :param pulumi.Input[str] app_installation_id: Optional. GitHub App installation id.
73
+ :param pulumi.Input['ConnectionGithubConfigAuthorizerCredentialArgs'] authorizer_credential: Represents an OAuth token of the account that authorized the Connection,
74
+ and associated metadata.
75
+ Structure is documented below.
76
+ :param pulumi.Input[str] installation_uri: (Output)
77
+ Output only. The URI to navigate to in order to manage the installation associated
78
+ with this GitHubConfig.
79
+ """
80
+ pulumi.set(__self__, "github_app", github_app)
81
+ if app_installation_id is not None:
82
+ pulumi.set(__self__, "app_installation_id", app_installation_id)
83
+ if authorizer_credential is not None:
84
+ pulumi.set(__self__, "authorizer_credential", authorizer_credential)
85
+ if installation_uri is not None:
86
+ pulumi.set(__self__, "installation_uri", installation_uri)
87
+
88
+ @property
89
+ @pulumi.getter(name="githubApp")
90
+ def github_app(self) -> pulumi.Input[str]:
91
+ """
92
+ Required. Immutable. The GitHub Application that was installed to the GitHub user or
93
+ organization.
94
+ Possible values:
95
+ GIT_HUB_APP_UNSPECIFIED
96
+ DEVELOPER_CONNECT
97
+ FIREBASE
98
+ """
99
+ return pulumi.get(self, "github_app")
100
+
101
+ @github_app.setter
102
+ def github_app(self, value: pulumi.Input[str]):
103
+ pulumi.set(self, "github_app", value)
104
+
105
+ @property
106
+ @pulumi.getter(name="appInstallationId")
107
+ def app_installation_id(self) -> Optional[pulumi.Input[str]]:
108
+ """
109
+ Optional. GitHub App installation id.
110
+ """
111
+ return pulumi.get(self, "app_installation_id")
112
+
113
+ @app_installation_id.setter
114
+ def app_installation_id(self, value: Optional[pulumi.Input[str]]):
115
+ pulumi.set(self, "app_installation_id", value)
116
+
117
+ @property
118
+ @pulumi.getter(name="authorizerCredential")
119
+ def authorizer_credential(self) -> Optional[pulumi.Input['ConnectionGithubConfigAuthorizerCredentialArgs']]:
120
+ """
121
+ Represents an OAuth token of the account that authorized the Connection,
122
+ and associated metadata.
123
+ Structure is documented below.
124
+ """
125
+ return pulumi.get(self, "authorizer_credential")
126
+
127
+ @authorizer_credential.setter
128
+ def authorizer_credential(self, value: Optional[pulumi.Input['ConnectionGithubConfigAuthorizerCredentialArgs']]):
129
+ pulumi.set(self, "authorizer_credential", value)
130
+
131
+ @property
132
+ @pulumi.getter(name="installationUri")
133
+ def installation_uri(self) -> Optional[pulumi.Input[str]]:
134
+ """
135
+ (Output)
136
+ Output only. The URI to navigate to in order to manage the installation associated
137
+ with this GitHubConfig.
138
+ """
139
+ return pulumi.get(self, "installation_uri")
140
+
141
+ @installation_uri.setter
142
+ def installation_uri(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "installation_uri", value)
144
+
145
+
146
+ if not MYPY:
147
+ class ConnectionGithubConfigAuthorizerCredentialArgsDict(TypedDict):
148
+ oauth_token_secret_version: pulumi.Input[str]
149
+ """
150
+ Required. A SecretManager resource containing the OAuth token that authorizes
151
+ the connection. Format: `projects/*/secrets/*/versions/*`.
152
+ """
153
+ username: NotRequired[pulumi.Input[str]]
154
+ """
155
+ (Output)
156
+ Output only. The username associated with this token.
157
+ """
158
+ elif False:
159
+ ConnectionGithubConfigAuthorizerCredentialArgsDict: TypeAlias = Mapping[str, Any]
160
+
161
+ @pulumi.input_type
162
+ class ConnectionGithubConfigAuthorizerCredentialArgs:
163
+ def __init__(__self__, *,
164
+ oauth_token_secret_version: pulumi.Input[str],
165
+ username: Optional[pulumi.Input[str]] = None):
166
+ """
167
+ :param pulumi.Input[str] oauth_token_secret_version: Required. A SecretManager resource containing the OAuth token that authorizes
168
+ the connection. Format: `projects/*/secrets/*/versions/*`.
169
+ :param pulumi.Input[str] username: (Output)
170
+ Output only. The username associated with this token.
171
+ """
172
+ pulumi.set(__self__, "oauth_token_secret_version", oauth_token_secret_version)
173
+ if username is not None:
174
+ pulumi.set(__self__, "username", username)
175
+
176
+ @property
177
+ @pulumi.getter(name="oauthTokenSecretVersion")
178
+ def oauth_token_secret_version(self) -> pulumi.Input[str]:
179
+ """
180
+ Required. A SecretManager resource containing the OAuth token that authorizes
181
+ the connection. Format: `projects/*/secrets/*/versions/*`.
182
+ """
183
+ return pulumi.get(self, "oauth_token_secret_version")
184
+
185
+ @oauth_token_secret_version.setter
186
+ def oauth_token_secret_version(self, value: pulumi.Input[str]):
187
+ pulumi.set(self, "oauth_token_secret_version", value)
188
+
189
+ @property
190
+ @pulumi.getter
191
+ def username(self) -> Optional[pulumi.Input[str]]:
192
+ """
193
+ (Output)
194
+ Output only. The username associated with this token.
195
+ """
196
+ return pulumi.get(self, "username")
197
+
198
+ @username.setter
199
+ def username(self, value: Optional[pulumi.Input[str]]):
200
+ pulumi.set(self, "username", value)
201
+
202
+
203
+ if not MYPY:
204
+ class ConnectionInstallationStateArgsDict(TypedDict):
205
+ action_uri: NotRequired[pulumi.Input[str]]
206
+ """
207
+ Output only. Link to follow for next action. Empty string if the installation is already
208
+ complete.
209
+ """
210
+ message: NotRequired[pulumi.Input[str]]
211
+ """
212
+ Output only. Message of what the user should do next to continue the installation.
213
+ Empty string if the installation is already complete.
214
+ """
215
+ stage: NotRequired[pulumi.Input[str]]
216
+ """
217
+ (Output)
218
+ Output only. Current step of the installation process.
219
+ Possible values:
220
+ STAGE_UNSPECIFIED
221
+ PENDING_CREATE_APP
222
+ PENDING_USER_OAUTH
223
+ PENDING_INSTALL_APP
224
+ COMPLETE
225
+ """
226
+ elif False:
227
+ ConnectionInstallationStateArgsDict: TypeAlias = Mapping[str, Any]
228
+
229
+ @pulumi.input_type
230
+ class ConnectionInstallationStateArgs:
231
+ def __init__(__self__, *,
232
+ action_uri: Optional[pulumi.Input[str]] = None,
233
+ message: Optional[pulumi.Input[str]] = None,
234
+ stage: Optional[pulumi.Input[str]] = None):
235
+ """
236
+ :param pulumi.Input[str] action_uri: Output only. Link to follow for next action. Empty string if the installation is already
237
+ complete.
238
+ :param pulumi.Input[str] message: Output only. Message of what the user should do next to continue the installation.
239
+ Empty string if the installation is already complete.
240
+ :param pulumi.Input[str] stage: (Output)
241
+ Output only. Current step of the installation process.
242
+ Possible values:
243
+ STAGE_UNSPECIFIED
244
+ PENDING_CREATE_APP
245
+ PENDING_USER_OAUTH
246
+ PENDING_INSTALL_APP
247
+ COMPLETE
248
+ """
249
+ if action_uri is not None:
250
+ pulumi.set(__self__, "action_uri", action_uri)
251
+ if message is not None:
252
+ pulumi.set(__self__, "message", message)
253
+ if stage is not None:
254
+ pulumi.set(__self__, "stage", stage)
255
+
256
+ @property
257
+ @pulumi.getter(name="actionUri")
258
+ def action_uri(self) -> Optional[pulumi.Input[str]]:
259
+ """
260
+ Output only. Link to follow for next action. Empty string if the installation is already
261
+ complete.
262
+ """
263
+ return pulumi.get(self, "action_uri")
264
+
265
+ @action_uri.setter
266
+ def action_uri(self, value: Optional[pulumi.Input[str]]):
267
+ pulumi.set(self, "action_uri", value)
268
+
269
+ @property
270
+ @pulumi.getter
271
+ def message(self) -> Optional[pulumi.Input[str]]:
272
+ """
273
+ Output only. Message of what the user should do next to continue the installation.
274
+ Empty string if the installation is already complete.
275
+ """
276
+ return pulumi.get(self, "message")
277
+
278
+ @message.setter
279
+ def message(self, value: Optional[pulumi.Input[str]]):
280
+ pulumi.set(self, "message", value)
281
+
282
+ @property
283
+ @pulumi.getter
284
+ def stage(self) -> Optional[pulumi.Input[str]]:
285
+ """
286
+ (Output)
287
+ Output only. Current step of the installation process.
288
+ Possible values:
289
+ STAGE_UNSPECIFIED
290
+ PENDING_CREATE_APP
291
+ PENDING_USER_OAUTH
292
+ PENDING_INSTALL_APP
293
+ COMPLETE
294
+ """
295
+ return pulumi.get(self, "stage")
296
+
297
+ @stage.setter
298
+ def stage(self, value: Optional[pulumi.Input[str]]):
299
+ pulumi.set(self, "stage", value)
300
+
301
+