pulumi-gcp 8.39.0a1752907636__py3-none-any.whl → 8.39.0a1753206228__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 (36) hide show
  1. pulumi_gcp/__init__.py +16 -0
  2. pulumi_gcp/apigee/_inputs.py +62 -0
  3. pulumi_gcp/apigee/instance.py +63 -0
  4. pulumi_gcp/apigee/outputs.py +37 -0
  5. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  6. pulumi_gcp/backupdisasterrecovery/service_config.py +297 -0
  7. pulumi_gcp/bigqueryanalyticshub/__init__.py +1 -0
  8. pulumi_gcp/bigqueryanalyticshub/_inputs.py +355 -0
  9. pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +1082 -0
  10. pulumi_gcp/bigqueryanalyticshub/listing.py +116 -0
  11. pulumi_gcp/bigqueryanalyticshub/outputs.py +287 -0
  12. pulumi_gcp/compute/__init__.py +1 -0
  13. pulumi_gcp/compute/_inputs.py +699 -19
  14. pulumi_gcp/compute/firewall.py +54 -0
  15. pulumi_gcp/compute/future_reservation.py +124 -0
  16. pulumi_gcp/compute/get_network_attachment.py +288 -0
  17. pulumi_gcp/compute/get_region_disk.py +23 -1
  18. pulumi_gcp/compute/get_reservation.py +45 -1
  19. pulumi_gcp/compute/interconnect.py +108 -0
  20. pulumi_gcp/compute/outputs.py +734 -15
  21. pulumi_gcp/compute/region_disk.py +115 -0
  22. pulumi_gcp/compute/reservation.py +449 -0
  23. pulumi_gcp/firebase/hosting_site.py +50 -2
  24. pulumi_gcp/firestore/__init__.py +1 -0
  25. pulumi_gcp/firestore/database.py +117 -1
  26. pulumi_gcp/firestore/get_document.py +234 -0
  27. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +12 -0
  28. pulumi_gcp/networksecurity/backend_authentication_config.py +12 -0
  29. pulumi_gcp/pulumi-plugin.json +1 -1
  30. pulumi_gcp/storage/bucket_object.py +47 -0
  31. pulumi_gcp/storage/get_bucket_object.py +12 -1
  32. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  33. {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/METADATA +1 -1
  34. {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/RECORD +36 -32
  35. {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/WHEEL +0 -0
  36. {pulumi_gcp-8.39.0a1752907636.dist-info → pulumi_gcp-8.39.0a1753206228.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py CHANGED
@@ -1204,6 +1204,14 @@ _utilities.register(
1204
1204
  "gcp:backupdisasterrecovery/managementServer:ManagementServer": "ManagementServer"
1205
1205
  }
1206
1206
  },
1207
+ {
1208
+ "pkg": "gcp",
1209
+ "mod": "backupdisasterrecovery/serviceConfig",
1210
+ "fqn": "pulumi_gcp.backupdisasterrecovery",
1211
+ "classes": {
1212
+ "gcp:backupdisasterrecovery/serviceConfig:ServiceConfig": "ServiceConfig"
1213
+ }
1214
+ },
1207
1215
  {
1208
1216
  "pkg": "gcp",
1209
1217
  "mod": "beyondcorp/appConnection",
@@ -1556,6 +1564,14 @@ _utilities.register(
1556
1564
  "gcp:bigqueryanalyticshub/dataExchangeIamPolicy:DataExchangeIamPolicy": "DataExchangeIamPolicy"
1557
1565
  }
1558
1566
  },
1567
+ {
1568
+ "pkg": "gcp",
1569
+ "mod": "bigqueryanalyticshub/dataExchangeSubscription",
1570
+ "fqn": "pulumi_gcp.bigqueryanalyticshub",
1571
+ "classes": {
1572
+ "gcp:bigqueryanalyticshub/dataExchangeSubscription:DataExchangeSubscription": "DataExchangeSubscription"
1573
+ }
1574
+ },
1559
1575
  {
1560
1576
  "pkg": "gcp",
1561
1577
  "mod": "bigqueryanalyticshub/listing",
@@ -50,6 +50,8 @@ __all__ = [
50
50
  'EnvironmentPropertiesArgsDict',
51
51
  'EnvironmentPropertiesPropertyArgs',
52
52
  'EnvironmentPropertiesPropertyArgsDict',
53
+ 'InstanceAccessLoggingConfigArgs',
54
+ 'InstanceAccessLoggingConfigArgsDict',
53
55
  'KeystoresAliasesKeyCertFileCertsInfoArgs',
54
56
  'KeystoresAliasesKeyCertFileCertsInfoArgsDict',
55
57
  'KeystoresAliasesKeyCertFileCertsInfoCertInfoArgs',
@@ -999,6 +1001,66 @@ class EnvironmentPropertiesPropertyArgs:
999
1001
  pulumi.set(self, "value", value)
1000
1002
 
1001
1003
 
1004
+ if not MYPY:
1005
+ class InstanceAccessLoggingConfigArgsDict(TypedDict):
1006
+ enabled: pulumi.Input[builtins.bool]
1007
+ """
1008
+ Boolean flag that specifies whether the customer access log feature is enabled.
1009
+ """
1010
+ filter: NotRequired[pulumi.Input[builtins.str]]
1011
+ """
1012
+ Ship the access log entries that match the statusCode defined in the filter.
1013
+ The statusCode is the only expected/supported filter field. (Ex: statusCode)
1014
+ The filter will parse it to the Common Expression Language semantics for expression
1015
+ evaluation to build the filter condition. (Ex: "filter": statusCode >= 200 && statusCode < 300 )
1016
+ """
1017
+ elif False:
1018
+ InstanceAccessLoggingConfigArgsDict: TypeAlias = Mapping[str, Any]
1019
+
1020
+ @pulumi.input_type
1021
+ class InstanceAccessLoggingConfigArgs:
1022
+ def __init__(__self__, *,
1023
+ enabled: pulumi.Input[builtins.bool],
1024
+ filter: Optional[pulumi.Input[builtins.str]] = None):
1025
+ """
1026
+ :param pulumi.Input[builtins.bool] enabled: Boolean flag that specifies whether the customer access log feature is enabled.
1027
+ :param pulumi.Input[builtins.str] filter: Ship the access log entries that match the statusCode defined in the filter.
1028
+ The statusCode is the only expected/supported filter field. (Ex: statusCode)
1029
+ The filter will parse it to the Common Expression Language semantics for expression
1030
+ evaluation to build the filter condition. (Ex: "filter": statusCode >= 200 && statusCode < 300 )
1031
+ """
1032
+ pulumi.set(__self__, "enabled", enabled)
1033
+ if filter is not None:
1034
+ pulumi.set(__self__, "filter", filter)
1035
+
1036
+ @property
1037
+ @pulumi.getter
1038
+ def enabled(self) -> pulumi.Input[builtins.bool]:
1039
+ """
1040
+ Boolean flag that specifies whether the customer access log feature is enabled.
1041
+ """
1042
+ return pulumi.get(self, "enabled")
1043
+
1044
+ @enabled.setter
1045
+ def enabled(self, value: pulumi.Input[builtins.bool]):
1046
+ pulumi.set(self, "enabled", value)
1047
+
1048
+ @property
1049
+ @pulumi.getter
1050
+ def filter(self) -> Optional[pulumi.Input[builtins.str]]:
1051
+ """
1052
+ Ship the access log entries that match the statusCode defined in the filter.
1053
+ The statusCode is the only expected/supported filter field. (Ex: statusCode)
1054
+ The filter will parse it to the Common Expression Language semantics for expression
1055
+ evaluation to build the filter condition. (Ex: "filter": statusCode >= 200 && statusCode < 300 )
1056
+ """
1057
+ return pulumi.get(self, "filter")
1058
+
1059
+ @filter.setter
1060
+ def filter(self, value: Optional[pulumi.Input[builtins.str]]):
1061
+ pulumi.set(self, "filter", value)
1062
+
1063
+
1002
1064
  if not MYPY:
1003
1065
  class KeystoresAliasesKeyCertFileCertsInfoArgsDict(TypedDict):
1004
1066
  cert_infos: NotRequired[pulumi.Input[Sequence[pulumi.Input['KeystoresAliasesKeyCertFileCertsInfoCertInfoArgsDict']]]]
@@ -14,6 +14,8 @@ if sys.version_info >= (3, 11):
14
14
  else:
15
15
  from typing_extensions import NotRequired, TypedDict, TypeAlias
16
16
  from .. import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
17
19
 
18
20
  __all__ = ['InstanceArgs', 'Instance']
19
21
 
@@ -22,6 +24,7 @@ class InstanceArgs:
22
24
  def __init__(__self__, *,
23
25
  location: pulumi.Input[builtins.str],
24
26
  org_id: pulumi.Input[builtins.str],
27
+ access_logging_config: Optional[pulumi.Input['InstanceAccessLoggingConfigArgs']] = None,
25
28
  consumer_accept_lists: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
26
29
  description: Optional[pulumi.Input[builtins.str]] = None,
27
30
  disk_encryption_key_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -34,6 +37,9 @@ class InstanceArgs:
34
37
  :param pulumi.Input[builtins.str] location: Required. Compute Engine location where the instance resides.
35
38
  :param pulumi.Input[builtins.str] org_id: The Apigee Organization associated with the Apigee instance,
36
39
  in the format `organizations/{{org_name}}`.
40
+ :param pulumi.Input['InstanceAccessLoggingConfigArgs'] access_logging_config: Access logging configuration enables the access logging feature at the instance.
41
+ Apigee customers can enable access logging to ship the access logs to their own project's cloud logging.
42
+ Structure is documented below.
37
43
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] consumer_accept_lists: Optional. Customer accept list represents the list of projects (id/number) on customer
38
44
  side that can privately connect to the service attachment. It is an optional field
39
45
  which the customers can provide during the instance creation. By default, the customer
@@ -55,6 +61,8 @@ class InstanceArgs:
55
61
  """
56
62
  pulumi.set(__self__, "location", location)
57
63
  pulumi.set(__self__, "org_id", org_id)
64
+ if access_logging_config is not None:
65
+ pulumi.set(__self__, "access_logging_config", access_logging_config)
58
66
  if consumer_accept_lists is not None:
59
67
  pulumi.set(__self__, "consumer_accept_lists", consumer_accept_lists)
60
68
  if description is not None:
@@ -95,6 +103,20 @@ class InstanceArgs:
95
103
  def org_id(self, value: pulumi.Input[builtins.str]):
96
104
  pulumi.set(self, "org_id", value)
97
105
 
106
+ @property
107
+ @pulumi.getter(name="accessLoggingConfig")
108
+ def access_logging_config(self) -> Optional[pulumi.Input['InstanceAccessLoggingConfigArgs']]:
109
+ """
110
+ Access logging configuration enables the access logging feature at the instance.
111
+ Apigee customers can enable access logging to ship the access logs to their own project's cloud logging.
112
+ Structure is documented below.
113
+ """
114
+ return pulumi.get(self, "access_logging_config")
115
+
116
+ @access_logging_config.setter
117
+ def access_logging_config(self, value: Optional[pulumi.Input['InstanceAccessLoggingConfigArgs']]):
118
+ pulumi.set(self, "access_logging_config", value)
119
+
98
120
  @property
99
121
  @pulumi.getter(name="consumerAcceptLists")
100
122
  def consumer_accept_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -194,6 +216,7 @@ class InstanceArgs:
194
216
  @pulumi.input_type
195
217
  class _InstanceState:
196
218
  def __init__(__self__, *,
219
+ access_logging_config: Optional[pulumi.Input['InstanceAccessLoggingConfigArgs']] = None,
197
220
  consumer_accept_lists: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
198
221
  description: Optional[pulumi.Input[builtins.str]] = None,
199
222
  disk_encryption_key_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -208,6 +231,9 @@ class _InstanceState:
208
231
  service_attachment: Optional[pulumi.Input[builtins.str]] = None):
209
232
  """
210
233
  Input properties used for looking up and filtering Instance resources.
234
+ :param pulumi.Input['InstanceAccessLoggingConfigArgs'] access_logging_config: Access logging configuration enables the access logging feature at the instance.
235
+ Apigee customers can enable access logging to ship the access logs to their own project's cloud logging.
236
+ Structure is documented below.
211
237
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] consumer_accept_lists: Optional. Customer accept list represents the list of projects (id/number) on customer
212
238
  side that can privately connect to the service attachment. It is an optional field
213
239
  which the customers can provide during the instance creation. By default, the customer
@@ -235,6 +261,8 @@ class _InstanceState:
235
261
  the format: projects/*/regions/*/serviceAttachments/* Apigee customers can privately
236
262
  forward traffic to this service attachment using the PSC endpoints.
237
263
  """
264
+ if access_logging_config is not None:
265
+ pulumi.set(__self__, "access_logging_config", access_logging_config)
238
266
  if consumer_accept_lists is not None:
239
267
  pulumi.set(__self__, "consumer_accept_lists", consumer_accept_lists)
240
268
  if description is not None:
@@ -260,6 +288,20 @@ class _InstanceState:
260
288
  if service_attachment is not None:
261
289
  pulumi.set(__self__, "service_attachment", service_attachment)
262
290
 
291
+ @property
292
+ @pulumi.getter(name="accessLoggingConfig")
293
+ def access_logging_config(self) -> Optional[pulumi.Input['InstanceAccessLoggingConfigArgs']]:
294
+ """
295
+ Access logging configuration enables the access logging feature at the instance.
296
+ Apigee customers can enable access logging to ship the access logs to their own project's cloud logging.
297
+ Structure is documented below.
298
+ """
299
+ return pulumi.get(self, "access_logging_config")
300
+
301
+ @access_logging_config.setter
302
+ def access_logging_config(self, value: Optional[pulumi.Input['InstanceAccessLoggingConfigArgs']]):
303
+ pulumi.set(self, "access_logging_config", value)
304
+
263
305
  @property
264
306
  @pulumi.getter(name="consumerAcceptLists")
265
307
  def consumer_accept_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
@@ -425,6 +467,7 @@ class Instance(pulumi.CustomResource):
425
467
  def __init__(__self__,
426
468
  resource_name: str,
427
469
  opts: Optional[pulumi.ResourceOptions] = None,
470
+ access_logging_config: Optional[pulumi.Input[Union['InstanceAccessLoggingConfigArgs', 'InstanceAccessLoggingConfigArgsDict']]] = None,
428
471
  consumer_accept_lists: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
429
472
  description: Optional[pulumi.Input[builtins.str]] = None,
430
473
  disk_encryption_key_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -603,6 +646,9 @@ class Instance(pulumi.CustomResource):
603
646
 
604
647
  :param str resource_name: The name of the resource.
605
648
  :param pulumi.ResourceOptions opts: Options for the resource.
649
+ :param pulumi.Input[Union['InstanceAccessLoggingConfigArgs', 'InstanceAccessLoggingConfigArgsDict']] access_logging_config: Access logging configuration enables the access logging feature at the instance.
650
+ Apigee customers can enable access logging to ship the access logs to their own project's cloud logging.
651
+ Structure is documented below.
606
652
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] consumer_accept_lists: Optional. Customer accept list represents the list of projects (id/number) on customer
607
653
  side that can privately connect to the service attachment. It is an optional field
608
654
  which the customers can provide during the instance creation. By default, the customer
@@ -812,6 +858,7 @@ class Instance(pulumi.CustomResource):
812
858
  def _internal_init(__self__,
813
859
  resource_name: str,
814
860
  opts: Optional[pulumi.ResourceOptions] = None,
861
+ access_logging_config: Optional[pulumi.Input[Union['InstanceAccessLoggingConfigArgs', 'InstanceAccessLoggingConfigArgsDict']]] = None,
815
862
  consumer_accept_lists: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
816
863
  description: Optional[pulumi.Input[builtins.str]] = None,
817
864
  disk_encryption_key_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -830,6 +877,7 @@ class Instance(pulumi.CustomResource):
830
877
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
831
878
  __props__ = InstanceArgs.__new__(InstanceArgs)
832
879
 
880
+ __props__.__dict__["access_logging_config"] = access_logging_config
833
881
  __props__.__dict__["consumer_accept_lists"] = consumer_accept_lists
834
882
  __props__.__dict__["description"] = description
835
883
  __props__.__dict__["disk_encryption_key_name"] = disk_encryption_key_name
@@ -856,6 +904,7 @@ class Instance(pulumi.CustomResource):
856
904
  def get(resource_name: str,
857
905
  id: pulumi.Input[str],
858
906
  opts: Optional[pulumi.ResourceOptions] = None,
907
+ access_logging_config: Optional[pulumi.Input[Union['InstanceAccessLoggingConfigArgs', 'InstanceAccessLoggingConfigArgsDict']]] = None,
859
908
  consumer_accept_lists: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
860
909
  description: Optional[pulumi.Input[builtins.str]] = None,
861
910
  disk_encryption_key_name: Optional[pulumi.Input[builtins.str]] = None,
@@ -875,6 +924,9 @@ class Instance(pulumi.CustomResource):
875
924
  :param str resource_name: The unique name of the resulting resource.
876
925
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
877
926
  :param pulumi.ResourceOptions opts: Options for the resource.
927
+ :param pulumi.Input[Union['InstanceAccessLoggingConfigArgs', 'InstanceAccessLoggingConfigArgsDict']] access_logging_config: Access logging configuration enables the access logging feature at the instance.
928
+ Apigee customers can enable access logging to ship the access logs to their own project's cloud logging.
929
+ Structure is documented below.
878
930
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] consumer_accept_lists: Optional. Customer accept list represents the list of projects (id/number) on customer
879
931
  side that can privately connect to the service attachment. It is an optional field
880
932
  which the customers can provide during the instance creation. By default, the customer
@@ -906,6 +958,7 @@ class Instance(pulumi.CustomResource):
906
958
 
907
959
  __props__ = _InstanceState.__new__(_InstanceState)
908
960
 
961
+ __props__.__dict__["access_logging_config"] = access_logging_config
909
962
  __props__.__dict__["consumer_accept_lists"] = consumer_accept_lists
910
963
  __props__.__dict__["description"] = description
911
964
  __props__.__dict__["disk_encryption_key_name"] = disk_encryption_key_name
@@ -920,6 +973,16 @@ class Instance(pulumi.CustomResource):
920
973
  __props__.__dict__["service_attachment"] = service_attachment
921
974
  return Instance(resource_name, opts=opts, __props__=__props__)
922
975
 
976
+ @property
977
+ @pulumi.getter(name="accessLoggingConfig")
978
+ def access_logging_config(self) -> pulumi.Output[Optional['outputs.InstanceAccessLoggingConfig']]:
979
+ """
980
+ Access logging configuration enables the access logging feature at the instance.
981
+ Apigee customers can enable access logging to ship the access logs to their own project's cloud logging.
982
+ Structure is documented below.
983
+ """
984
+ return pulumi.get(self, "access_logging_config")
985
+
923
986
  @property
924
987
  @pulumi.getter(name="consumerAcceptLists")
925
988
  def consumer_accept_lists(self) -> pulumi.Output[Sequence[builtins.str]]:
@@ -34,6 +34,7 @@ __all__ = [
34
34
  'EnvironmentNodeConfig',
35
35
  'EnvironmentProperties',
36
36
  'EnvironmentPropertiesProperty',
37
+ 'InstanceAccessLoggingConfig',
37
38
  'KeystoresAliasesKeyCertFileCertsInfo',
38
39
  'KeystoresAliasesKeyCertFileCertsInfoCertInfo',
39
40
  'KeystoresAliasesPkcs12CertsInfo',
@@ -752,6 +753,42 @@ class EnvironmentPropertiesProperty(dict):
752
753
  return pulumi.get(self, "value")
753
754
 
754
755
 
756
+ @pulumi.output_type
757
+ class InstanceAccessLoggingConfig(dict):
758
+ def __init__(__self__, *,
759
+ enabled: builtins.bool,
760
+ filter: Optional[builtins.str] = None):
761
+ """
762
+ :param builtins.bool enabled: Boolean flag that specifies whether the customer access log feature is enabled.
763
+ :param builtins.str filter: Ship the access log entries that match the statusCode defined in the filter.
764
+ The statusCode is the only expected/supported filter field. (Ex: statusCode)
765
+ The filter will parse it to the Common Expression Language semantics for expression
766
+ evaluation to build the filter condition. (Ex: "filter": statusCode >= 200 && statusCode < 300 )
767
+ """
768
+ pulumi.set(__self__, "enabled", enabled)
769
+ if filter is not None:
770
+ pulumi.set(__self__, "filter", filter)
771
+
772
+ @property
773
+ @pulumi.getter
774
+ def enabled(self) -> builtins.bool:
775
+ """
776
+ Boolean flag that specifies whether the customer access log feature is enabled.
777
+ """
778
+ return pulumi.get(self, "enabled")
779
+
780
+ @property
781
+ @pulumi.getter
782
+ def filter(self) -> Optional[builtins.str]:
783
+ """
784
+ Ship the access log entries that match the statusCode defined in the filter.
785
+ The statusCode is the only expected/supported filter field. (Ex: statusCode)
786
+ The filter will parse it to the Common Expression Language semantics for expression
787
+ evaluation to build the filter condition. (Ex: "filter": statusCode >= 200 && statusCode < 300 )
788
+ """
789
+ return pulumi.get(self, "filter")
790
+
791
+
755
792
  @pulumi.output_type
756
793
  class KeystoresAliasesKeyCertFileCertsInfo(dict):
757
794
  @staticmethod
@@ -16,5 +16,6 @@ from .get_backup_vault import *
16
16
  from .get_data_source import *
17
17
  from .get_management_server import *
18
18
  from .management_server import *
19
+ from .service_config import *
19
20
  from ._inputs import *
20
21
  from . import outputs
@@ -0,0 +1,297 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from .. import _utilities
17
+
18
+ __all__ = ['ServiceConfigArgs', 'ServiceConfig']
19
+
20
+ @pulumi.input_type
21
+ class ServiceConfigArgs:
22
+ def __init__(__self__, *,
23
+ location: pulumi.Input[builtins.str],
24
+ resource_type: pulumi.Input[builtins.str],
25
+ project: Optional[pulumi.Input[builtins.str]] = None):
26
+ """
27
+ The set of arguments for constructing a ServiceConfig resource.
28
+ :param pulumi.Input[builtins.str] location: The location in which the Service config is to be initialized.
29
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the default service config will be applied.
30
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
31
+ If it is not provided, the provider project is used.
32
+ """
33
+ pulumi.set(__self__, "location", location)
34
+ pulumi.set(__self__, "resource_type", resource_type)
35
+ if project is not None:
36
+ pulumi.set(__self__, "project", project)
37
+
38
+ @property
39
+ @pulumi.getter
40
+ def location(self) -> pulumi.Input[builtins.str]:
41
+ """
42
+ The location in which the Service config is to be initialized.
43
+ """
44
+ return pulumi.get(self, "location")
45
+
46
+ @location.setter
47
+ def location(self, value: pulumi.Input[builtins.str]):
48
+ pulumi.set(self, "location", value)
49
+
50
+ @property
51
+ @pulumi.getter(name="resourceType")
52
+ def resource_type(self) -> pulumi.Input[builtins.str]:
53
+ """
54
+ The resource type to which the default service config will be applied.
55
+ """
56
+ return pulumi.get(self, "resource_type")
57
+
58
+ @resource_type.setter
59
+ def resource_type(self, value: pulumi.Input[builtins.str]):
60
+ pulumi.set(self, "resource_type", value)
61
+
62
+ @property
63
+ @pulumi.getter
64
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
65
+ """
66
+ The ID of the project in which the resource belongs.
67
+ If it is not provided, the provider project is used.
68
+ """
69
+ return pulumi.get(self, "project")
70
+
71
+ @project.setter
72
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
73
+ pulumi.set(self, "project", value)
74
+
75
+
76
+ @pulumi.input_type
77
+ class _ServiceConfigState:
78
+ def __init__(__self__, *,
79
+ location: Optional[pulumi.Input[builtins.str]] = None,
80
+ project: Optional[pulumi.Input[builtins.str]] = None,
81
+ resource_type: Optional[pulumi.Input[builtins.str]] = None):
82
+ """
83
+ Input properties used for looking up and filtering ServiceConfig resources.
84
+ :param pulumi.Input[builtins.str] location: The location in which the Service config is to be initialized.
85
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
86
+ If it is not provided, the provider project is used.
87
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the default service config will be applied.
88
+ """
89
+ if location is not None:
90
+ pulumi.set(__self__, "location", location)
91
+ if project is not None:
92
+ pulumi.set(__self__, "project", project)
93
+ if resource_type is not None:
94
+ pulumi.set(__self__, "resource_type", resource_type)
95
+
96
+ @property
97
+ @pulumi.getter
98
+ def location(self) -> Optional[pulumi.Input[builtins.str]]:
99
+ """
100
+ The location in which the Service config is to be initialized.
101
+ """
102
+ return pulumi.get(self, "location")
103
+
104
+ @location.setter
105
+ def location(self, value: Optional[pulumi.Input[builtins.str]]):
106
+ pulumi.set(self, "location", value)
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def project(self) -> Optional[pulumi.Input[builtins.str]]:
111
+ """
112
+ The ID of the project in which the resource belongs.
113
+ If it is not provided, the provider project is used.
114
+ """
115
+ return pulumi.get(self, "project")
116
+
117
+ @project.setter
118
+ def project(self, value: Optional[pulumi.Input[builtins.str]]):
119
+ pulumi.set(self, "project", value)
120
+
121
+ @property
122
+ @pulumi.getter(name="resourceType")
123
+ def resource_type(self) -> Optional[pulumi.Input[builtins.str]]:
124
+ """
125
+ The resource type to which the default service config will be applied.
126
+ """
127
+ return pulumi.get(self, "resource_type")
128
+
129
+ @resource_type.setter
130
+ def resource_type(self, value: Optional[pulumi.Input[builtins.str]]):
131
+ pulumi.set(self, "resource_type", value)
132
+
133
+
134
+ @pulumi.type_token("gcp:backupdisasterrecovery/serviceConfig:ServiceConfig")
135
+ class ServiceConfig(pulumi.CustomResource):
136
+ @overload
137
+ def __init__(__self__,
138
+ resource_name: str,
139
+ opts: Optional[pulumi.ResourceOptions] = None,
140
+ location: Optional[pulumi.Input[builtins.str]] = None,
141
+ project: Optional[pulumi.Input[builtins.str]] = None,
142
+ resource_type: Optional[pulumi.Input[builtins.str]] = None,
143
+ __props__=None):
144
+ """
145
+ Initializes a Project-level default Backupdr config. It creates default Backupvault and default Backup Plan in same project for customers to protect instances.
146
+
147
+ To get more information about ServiceConfig, see:
148
+
149
+ * [API documentation](https://cloud.google.com/backup-disaster-recovery/docs/reference/rest/v1/projects.locations.serviceConfig)
150
+
151
+ ## Example Usage
152
+
153
+ ### Backup Dr Service Config
154
+
155
+ ```python
156
+ import pulumi
157
+ import pulumi_gcp as gcp
158
+
159
+ bpa1 = gcp.backupdisasterrecovery.ServiceConfig("bpa1",
160
+ location="us-central1",
161
+ resource_type="compute.googleapis.com/Instance")
162
+ ```
163
+
164
+ ## Import
165
+
166
+ This resource does not support import.
167
+
168
+ :param str resource_name: The name of the resource.
169
+ :param pulumi.ResourceOptions opts: Options for the resource.
170
+ :param pulumi.Input[builtins.str] location: The location in which the Service config is to be initialized.
171
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
172
+ If it is not provided, the provider project is used.
173
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the default service config will be applied.
174
+ """
175
+ ...
176
+ @overload
177
+ def __init__(__self__,
178
+ resource_name: str,
179
+ args: ServiceConfigArgs,
180
+ opts: Optional[pulumi.ResourceOptions] = None):
181
+ """
182
+ Initializes a Project-level default Backupdr config. It creates default Backupvault and default Backup Plan in same project for customers to protect instances.
183
+
184
+ To get more information about ServiceConfig, see:
185
+
186
+ * [API documentation](https://cloud.google.com/backup-disaster-recovery/docs/reference/rest/v1/projects.locations.serviceConfig)
187
+
188
+ ## Example Usage
189
+
190
+ ### Backup Dr Service Config
191
+
192
+ ```python
193
+ import pulumi
194
+ import pulumi_gcp as gcp
195
+
196
+ bpa1 = gcp.backupdisasterrecovery.ServiceConfig("bpa1",
197
+ location="us-central1",
198
+ resource_type="compute.googleapis.com/Instance")
199
+ ```
200
+
201
+ ## Import
202
+
203
+ This resource does not support import.
204
+
205
+ :param str resource_name: The name of the resource.
206
+ :param ServiceConfigArgs args: The arguments to use to populate this resource's properties.
207
+ :param pulumi.ResourceOptions opts: Options for the resource.
208
+ """
209
+ ...
210
+ def __init__(__self__, resource_name: str, *args, **kwargs):
211
+ resource_args, opts = _utilities.get_resource_args_opts(ServiceConfigArgs, pulumi.ResourceOptions, *args, **kwargs)
212
+ if resource_args is not None:
213
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
214
+ else:
215
+ __self__._internal_init(resource_name, *args, **kwargs)
216
+
217
+ def _internal_init(__self__,
218
+ resource_name: str,
219
+ opts: Optional[pulumi.ResourceOptions] = None,
220
+ location: Optional[pulumi.Input[builtins.str]] = None,
221
+ project: Optional[pulumi.Input[builtins.str]] = None,
222
+ resource_type: Optional[pulumi.Input[builtins.str]] = None,
223
+ __props__=None):
224
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
225
+ if not isinstance(opts, pulumi.ResourceOptions):
226
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
227
+ if opts.id is None:
228
+ if __props__ is not None:
229
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
230
+ __props__ = ServiceConfigArgs.__new__(ServiceConfigArgs)
231
+
232
+ if location is None and not opts.urn:
233
+ raise TypeError("Missing required property 'location'")
234
+ __props__.__dict__["location"] = location
235
+ __props__.__dict__["project"] = project
236
+ if resource_type is None and not opts.urn:
237
+ raise TypeError("Missing required property 'resource_type'")
238
+ __props__.__dict__["resource_type"] = resource_type
239
+ super(ServiceConfig, __self__).__init__(
240
+ 'gcp:backupdisasterrecovery/serviceConfig:ServiceConfig',
241
+ resource_name,
242
+ __props__,
243
+ opts)
244
+
245
+ @staticmethod
246
+ def get(resource_name: str,
247
+ id: pulumi.Input[str],
248
+ opts: Optional[pulumi.ResourceOptions] = None,
249
+ location: Optional[pulumi.Input[builtins.str]] = None,
250
+ project: Optional[pulumi.Input[builtins.str]] = None,
251
+ resource_type: Optional[pulumi.Input[builtins.str]] = None) -> 'ServiceConfig':
252
+ """
253
+ Get an existing ServiceConfig resource's state with the given name, id, and optional extra
254
+ properties used to qualify the lookup.
255
+
256
+ :param str resource_name: The unique name of the resulting resource.
257
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
258
+ :param pulumi.ResourceOptions opts: Options for the resource.
259
+ :param pulumi.Input[builtins.str] location: The location in which the Service config is to be initialized.
260
+ :param pulumi.Input[builtins.str] project: The ID of the project in which the resource belongs.
261
+ If it is not provided, the provider project is used.
262
+ :param pulumi.Input[builtins.str] resource_type: The resource type to which the default service config will be applied.
263
+ """
264
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
265
+
266
+ __props__ = _ServiceConfigState.__new__(_ServiceConfigState)
267
+
268
+ __props__.__dict__["location"] = location
269
+ __props__.__dict__["project"] = project
270
+ __props__.__dict__["resource_type"] = resource_type
271
+ return ServiceConfig(resource_name, opts=opts, __props__=__props__)
272
+
273
+ @property
274
+ @pulumi.getter
275
+ def location(self) -> pulumi.Output[builtins.str]:
276
+ """
277
+ The location in which the Service config is to be initialized.
278
+ """
279
+ return pulumi.get(self, "location")
280
+
281
+ @property
282
+ @pulumi.getter
283
+ def project(self) -> pulumi.Output[builtins.str]:
284
+ """
285
+ The ID of the project in which the resource belongs.
286
+ If it is not provided, the provider project is used.
287
+ """
288
+ return pulumi.get(self, "project")
289
+
290
+ @property
291
+ @pulumi.getter(name="resourceType")
292
+ def resource_type(self) -> pulumi.Output[builtins.str]:
293
+ """
294
+ The resource type to which the default service config will be applied.
295
+ """
296
+ return pulumi.get(self, "resource_type")
297
+
@@ -10,6 +10,7 @@ from .data_exchange import *
10
10
  from .data_exchange_iam_binding import *
11
11
  from .data_exchange_iam_member import *
12
12
  from .data_exchange_iam_policy import *
13
+ from .data_exchange_subscription import *
13
14
  from .get_data_exchange_iam_policy import *
14
15
  from .get_listing_iam_policy import *
15
16
  from .listing import *