pulumi-gcp 7.12.0a1709365001__py3-none-any.whl → 7.13.0a1709814369__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (73) hide show
  1. pulumi_gcp/__init__.py +72 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +2 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +4 -4
  4. pulumi_gcp/appengine/service_network_settings.py +2 -2
  5. pulumi_gcp/appengine/standard_app_version.py +4 -4
  6. pulumi_gcp/bigquery/_inputs.py +88 -0
  7. pulumi_gcp/bigquery/dataset_iam_binding.py +35 -28
  8. pulumi_gcp/bigquery/dataset_iam_member.py +35 -28
  9. pulumi_gcp/bigquery/dataset_iam_policy.py +35 -28
  10. pulumi_gcp/bigquery/outputs.py +91 -0
  11. pulumi_gcp/bigquery/routine.py +118 -12
  12. pulumi_gcp/certificatemanager/dns_authorization.py +63 -14
  13. pulumi_gcp/clouddeploy/__init__.py +4 -0
  14. pulumi_gcp/clouddeploy/_inputs.py +80 -0
  15. pulumi_gcp/clouddeploy/automation.py +16 -0
  16. pulumi_gcp/clouddeploy/get_target_iam_policy.py +162 -0
  17. pulumi_gcp/clouddeploy/outputs.py +56 -0
  18. pulumi_gcp/clouddeploy/target_iam_binding.py +324 -0
  19. pulumi_gcp/clouddeploy/target_iam_member.py +324 -0
  20. pulumi_gcp/clouddeploy/target_iam_policy.py +253 -0
  21. pulumi_gcp/cloudfunctionsv2/function.py +0 -2
  22. pulumi_gcp/cloudrunv2/_inputs.py +4 -2
  23. pulumi_gcp/cloudrunv2/outputs.py +8 -4
  24. pulumi_gcp/composer/_inputs.py +18 -2
  25. pulumi_gcp/composer/outputs.py +29 -4
  26. pulumi_gcp/compute/__init__.py +1 -0
  27. pulumi_gcp/compute/get_forwarding_rules.py +142 -0
  28. pulumi_gcp/compute/instance_group_membership.py +4 -4
  29. pulumi_gcp/compute/outputs.py +816 -0
  30. pulumi_gcp/compute/region_network_endpoint.py +2 -2
  31. pulumi_gcp/compute/region_target_https_proxy.py +162 -37
  32. pulumi_gcp/compute/router_nat.py +8 -8
  33. pulumi_gcp/container/_inputs.py +80 -0
  34. pulumi_gcp/container/cluster.py +20 -16
  35. pulumi_gcp/container/outputs.py +115 -1
  36. pulumi_gcp/firebase/__init__.py +4 -0
  37. pulumi_gcp/firebase/app_check_app_attest_config.py +461 -0
  38. pulumi_gcp/firebase/app_check_play_integrity_config.py +465 -0
  39. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +474 -0
  40. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +511 -0
  41. pulumi_gcp/gkehub/scope.py +85 -0
  42. pulumi_gcp/integrationconnectors/connection.py +4 -4
  43. pulumi_gcp/looker/_inputs.py +42 -0
  44. pulumi_gcp/looker/instance.py +90 -0
  45. pulumi_gcp/looker/outputs.py +34 -0
  46. pulumi_gcp/migrationcenter/__init__.py +3 -0
  47. pulumi_gcp/migrationcenter/_inputs.py +500 -0
  48. pulumi_gcp/migrationcenter/outputs.py +562 -0
  49. pulumi_gcp/migrationcenter/preference_set.py +687 -0
  50. pulumi_gcp/monitoring/custom_service.py +4 -2
  51. pulumi_gcp/monitoring/generic_service.py +4 -2
  52. pulumi_gcp/monitoring/get_app_engine_service.py +2 -2
  53. pulumi_gcp/netapp/__init__.py +1 -0
  54. pulumi_gcp/netapp/_inputs.py +275 -0
  55. pulumi_gcp/netapp/outputs.py +290 -0
  56. pulumi_gcp/netapp/volume.py +140 -2
  57. pulumi_gcp/netapp/volume_replication.py +1292 -0
  58. pulumi_gcp/notebooks/instance.py +1 -1
  59. pulumi_gcp/securityposture/_inputs.py +22 -19
  60. pulumi_gcp/securityposture/outputs.py +18 -15
  61. pulumi_gcp/securityposture/posture.py +28 -48
  62. pulumi_gcp/spanner/_inputs.py +20 -0
  63. pulumi_gcp/spanner/database_iam_binding.py +134 -0
  64. pulumi_gcp/spanner/database_iam_member.py +134 -0
  65. pulumi_gcp/spanner/database_iam_policy.py +114 -0
  66. pulumi_gcp/spanner/outputs.py +20 -0
  67. pulumi_gcp/workbench/_inputs.py +157 -2
  68. pulumi_gcp/workbench/instance.py +52 -0
  69. pulumi_gcp/workbench/outputs.py +154 -2
  70. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/METADATA +1 -1
  71. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/RECORD +73 -60
  72. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/WHEEL +0 -0
  73. {pulumi_gcp-7.12.0a1709365001.dist-info → pulumi_gcp-7.13.0a1709814369.dist-info}/top_level.txt +0 -0
@@ -18,6 +18,7 @@ class ScopeArgs:
18
18
  def __init__(__self__, *,
19
19
  scope_id: pulumi.Input[str],
20
20
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
21
+ namespace_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
21
22
  project: Optional[pulumi.Input[str]] = None):
22
23
  """
23
24
  The set of arguments for constructing a Scope resource.
@@ -29,12 +30,19 @@ class ScopeArgs:
29
30
 
30
31
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
31
32
  Please refer to the field `effective_labels` for all of the labels present on the resource.
33
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] namespace_labels: Scope-level cluster namespace labels. For the member clusters bound
34
+ to the Scope, these labels are applied to each namespace under the
35
+ Scope. Scope-level labels take precedence over Namespace-level
36
+ labels (`namespace_labels` in the Fleet Namespace resource) if they
37
+ share a key. Keys and values must be Kubernetes-conformant.
32
38
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
33
39
  If it is not provided, the provider project is used.
34
40
  """
35
41
  pulumi.set(__self__, "scope_id", scope_id)
36
42
  if labels is not None:
37
43
  pulumi.set(__self__, "labels", labels)
44
+ if namespace_labels is not None:
45
+ pulumi.set(__self__, "namespace_labels", namespace_labels)
38
46
  if project is not None:
39
47
  pulumi.set(__self__, "project", project)
40
48
 
@@ -68,6 +76,22 @@ class ScopeArgs:
68
76
  def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
69
77
  pulumi.set(self, "labels", value)
70
78
 
79
+ @property
80
+ @pulumi.getter(name="namespaceLabels")
81
+ def namespace_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
82
+ """
83
+ Scope-level cluster namespace labels. For the member clusters bound
84
+ to the Scope, these labels are applied to each namespace under the
85
+ Scope. Scope-level labels take precedence over Namespace-level
86
+ labels (`namespace_labels` in the Fleet Namespace resource) if they
87
+ share a key. Keys and values must be Kubernetes-conformant.
88
+ """
89
+ return pulumi.get(self, "namespace_labels")
90
+
91
+ @namespace_labels.setter
92
+ def namespace_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
93
+ pulumi.set(self, "namespace_labels", value)
94
+
71
95
  @property
72
96
  @pulumi.getter
73
97
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -90,6 +114,7 @@ class _ScopeState:
90
114
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
91
115
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
92
116
  name: Optional[pulumi.Input[str]] = None,
117
+ namespace_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
93
118
  project: Optional[pulumi.Input[str]] = None,
94
119
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
95
120
  scope_id: Optional[pulumi.Input[str]] = None,
@@ -106,6 +131,11 @@ class _ScopeState:
106
131
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
107
132
  Please refer to the field `effective_labels` for all of the labels present on the resource.
108
133
  :param pulumi.Input[str] name: The unique identifier of the scope
134
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] namespace_labels: Scope-level cluster namespace labels. For the member clusters bound
135
+ to the Scope, these labels are applied to each namespace under the
136
+ Scope. Scope-level labels take precedence over Namespace-level
137
+ labels (`namespace_labels` in the Fleet Namespace resource) if they
138
+ share a key. Keys and values must be Kubernetes-conformant.
109
139
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
110
140
  If it is not provided, the provider project is used.
111
141
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -129,6 +159,8 @@ class _ScopeState:
129
159
  pulumi.set(__self__, "labels", labels)
130
160
  if name is not None:
131
161
  pulumi.set(__self__, "name", name)
162
+ if namespace_labels is not None:
163
+ pulumi.set(__self__, "namespace_labels", namespace_labels)
132
164
  if project is not None:
133
165
  pulumi.set(__self__, "project", project)
134
166
  if pulumi_labels is not None:
@@ -205,6 +237,22 @@ class _ScopeState:
205
237
  def name(self, value: Optional[pulumi.Input[str]]):
206
238
  pulumi.set(self, "name", value)
207
239
 
240
+ @property
241
+ @pulumi.getter(name="namespaceLabels")
242
+ def namespace_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
243
+ """
244
+ Scope-level cluster namespace labels. For the member clusters bound
245
+ to the Scope, these labels are applied to each namespace under the
246
+ Scope. Scope-level labels take precedence over Namespace-level
247
+ labels (`namespace_labels` in the Fleet Namespace resource) if they
248
+ share a key. Keys and values must be Kubernetes-conformant.
249
+ """
250
+ return pulumi.get(self, "namespace_labels")
251
+
252
+ @namespace_labels.setter
253
+ def namespace_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
254
+ pulumi.set(self, "namespace_labels", value)
255
+
208
256
  @property
209
257
  @pulumi.getter
210
258
  def project(self) -> Optional[pulumi.Input[str]]:
@@ -290,6 +338,7 @@ class Scope(pulumi.CustomResource):
290
338
  resource_name: str,
291
339
  opts: Optional[pulumi.ResourceOptions] = None,
292
340
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
341
+ namespace_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
293
342
  project: Optional[pulumi.Input[str]] = None,
294
343
  scope_id: Optional[pulumi.Input[str]] = None,
295
344
  __props__=None):
@@ -311,6 +360,11 @@ class Scope(pulumi.CustomResource):
311
360
 
312
361
  scope = gcp.gkehub.Scope("scope",
313
362
  scope_id="my-scope",
363
+ namespace_labels={
364
+ "keyb": "valueb",
365
+ "keya": "valuea",
366
+ "keyc": "valuec",
367
+ },
314
368
  labels={
315
369
  "keyb": "valueb",
316
370
  "keya": "valuea",
@@ -348,6 +402,11 @@ class Scope(pulumi.CustomResource):
348
402
 
349
403
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
350
404
  Please refer to the field `effective_labels` for all of the labels present on the resource.
405
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] namespace_labels: Scope-level cluster namespace labels. For the member clusters bound
406
+ to the Scope, these labels are applied to each namespace under the
407
+ Scope. Scope-level labels take precedence over Namespace-level
408
+ labels (`namespace_labels` in the Fleet Namespace resource) if they
409
+ share a key. Keys and values must be Kubernetes-conformant.
351
410
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
352
411
  If it is not provided, the provider project is used.
353
412
  :param pulumi.Input[str] scope_id: The client-provided identifier of the scope.
@@ -379,6 +438,11 @@ class Scope(pulumi.CustomResource):
379
438
 
380
439
  scope = gcp.gkehub.Scope("scope",
381
440
  scope_id="my-scope",
441
+ namespace_labels={
442
+ "keyb": "valueb",
443
+ "keya": "valuea",
444
+ "keyc": "valuec",
445
+ },
382
446
  labels={
383
447
  "keyb": "valueb",
384
448
  "keya": "valuea",
@@ -426,6 +490,7 @@ class Scope(pulumi.CustomResource):
426
490
  resource_name: str,
427
491
  opts: Optional[pulumi.ResourceOptions] = None,
428
492
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
493
+ namespace_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
429
494
  project: Optional[pulumi.Input[str]] = None,
430
495
  scope_id: Optional[pulumi.Input[str]] = None,
431
496
  __props__=None):
@@ -438,6 +503,7 @@ class Scope(pulumi.CustomResource):
438
503
  __props__ = ScopeArgs.__new__(ScopeArgs)
439
504
 
440
505
  __props__.__dict__["labels"] = labels
506
+ __props__.__dict__["namespace_labels"] = namespace_labels
441
507
  __props__.__dict__["project"] = project
442
508
  if scope_id is None and not opts.urn:
443
509
  raise TypeError("Missing required property 'scope_id'")
@@ -467,6 +533,7 @@ class Scope(pulumi.CustomResource):
467
533
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
468
534
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
469
535
  name: Optional[pulumi.Input[str]] = None,
536
+ namespace_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
470
537
  project: Optional[pulumi.Input[str]] = None,
471
538
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
472
539
  scope_id: Optional[pulumi.Input[str]] = None,
@@ -488,6 +555,11 @@ class Scope(pulumi.CustomResource):
488
555
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
489
556
  Please refer to the field `effective_labels` for all of the labels present on the resource.
490
557
  :param pulumi.Input[str] name: The unique identifier of the scope
558
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] namespace_labels: Scope-level cluster namespace labels. For the member clusters bound
559
+ to the Scope, these labels are applied to each namespace under the
560
+ Scope. Scope-level labels take precedence over Namespace-level
561
+ labels (`namespace_labels` in the Fleet Namespace resource) if they
562
+ share a key. Keys and values must be Kubernetes-conformant.
491
563
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
492
564
  If it is not provided, the provider project is used.
493
565
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
@@ -510,6 +582,7 @@ class Scope(pulumi.CustomResource):
510
582
  __props__.__dict__["effective_labels"] = effective_labels
511
583
  __props__.__dict__["labels"] = labels
512
584
  __props__.__dict__["name"] = name
585
+ __props__.__dict__["namespace_labels"] = namespace_labels
513
586
  __props__.__dict__["project"] = project
514
587
  __props__.__dict__["pulumi_labels"] = pulumi_labels
515
588
  __props__.__dict__["scope_id"] = scope_id
@@ -561,6 +634,18 @@ class Scope(pulumi.CustomResource):
561
634
  """
562
635
  return pulumi.get(self, "name")
563
636
 
637
+ @property
638
+ @pulumi.getter(name="namespaceLabels")
639
+ def namespace_labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
640
+ """
641
+ Scope-level cluster namespace labels. For the member clusters bound
642
+ to the Scope, these labels are applied to each namespace under the
643
+ Scope. Scope-level labels take precedence over Namespace-level
644
+ labels (`namespace_labels` in the Fleet Namespace resource) if they
645
+ share a key. Keys and values must be Kubernetes-conformant.
646
+ """
647
+ return pulumi.get(self, "namespace_labels")
648
+
564
649
  @property
565
650
  @pulumi.getter
566
651
  def project(self) -> pulumi.Output[str]:
@@ -362,7 +362,7 @@ class _ConnectionState:
362
362
  Structure is documented below.
363
363
  :param pulumi.Input[str] connection_revision: Connection revision. This field is only updated when the connection is created or updated by User.
364
364
  :param pulumi.Input[str] connector_version: connectorVersion of the Connector.
365
- :param pulumi.Input[Sequence[pulumi.Input['ConnectionConnectorVersionInfraConfigArgs']]] connector_version_infra_configs: This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version.
365
+ :param pulumi.Input[Sequence[pulumi.Input['ConnectionConnectorVersionInfraConfigArgs']]] connector_version_infra_configs: This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version.
366
366
  Structure is documented below.
367
367
  :param pulumi.Input[str] connector_version_launch_stage: Flag to mark the version indicating the launch stage.
368
368
  :param pulumi.Input[str] create_time: Time the Namespace was created in UTC.
@@ -518,7 +518,7 @@ class _ConnectionState:
518
518
  @pulumi.getter(name="connectorVersionInfraConfigs")
519
519
  def connector_version_infra_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ConnectionConnectorVersionInfraConfigArgs']]]]:
520
520
  """
521
- This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version.
521
+ This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version.
522
522
  Structure is documented below.
523
523
  """
524
524
  return pulumi.get(self, "connector_version_infra_configs")
@@ -1596,7 +1596,7 @@ class Connection(pulumi.CustomResource):
1596
1596
  Structure is documented below.
1597
1597
  :param pulumi.Input[str] connection_revision: Connection revision. This field is only updated when the connection is created or updated by User.
1598
1598
  :param pulumi.Input[str] connector_version: connectorVersion of the Connector.
1599
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConnectionConnectorVersionInfraConfigArgs']]]] connector_version_infra_configs: This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version.
1599
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ConnectionConnectorVersionInfraConfigArgs']]]] connector_version_infra_configs: This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version.
1600
1600
  Structure is documented below.
1601
1601
  :param pulumi.Input[str] connector_version_launch_stage: Flag to mark the version indicating the launch stage.
1602
1602
  :param pulumi.Input[str] create_time: Time the Namespace was created in UTC.
@@ -1713,7 +1713,7 @@ class Connection(pulumi.CustomResource):
1713
1713
  @pulumi.getter(name="connectorVersionInfraConfigs")
1714
1714
  def connector_version_infra_configs(self) -> pulumi.Output[Sequence['outputs.ConnectionConnectorVersionInfraConfig']]:
1715
1715
  """
1716
- This cofiguration provides infra configs like rate limit threshold which need to be configurable for every connector version.
1716
+ This configuration provides infra configs like rate limit threshold which need to be configurable for every connector version.
1717
1717
  Structure is documented below.
1718
1718
  """
1719
1719
  return pulumi.get(self, "connector_version_infra_configs")
@@ -11,6 +11,7 @@ from .. import _utilities
11
11
 
12
12
  __all__ = [
13
13
  'InstanceAdminSettingsArgs',
14
+ 'InstanceCustomDomainArgs',
14
15
  'InstanceDenyMaintenancePeriodArgs',
15
16
  'InstanceDenyMaintenancePeriodEndDateArgs',
16
17
  'InstanceDenyMaintenancePeriodStartDateArgs',
@@ -39,6 +40,47 @@ class InstanceAdminSettingsArgs:
39
40
  pulumi.set(self, "allowed_email_domains", value)
40
41
 
41
42
 
43
+ @pulumi.input_type
44
+ class InstanceCustomDomainArgs:
45
+ def __init__(__self__, *,
46
+ domain: Optional[pulumi.Input[str]] = None,
47
+ state: Optional[pulumi.Input[str]] = None):
48
+ """
49
+ :param pulumi.Input[str] domain: Domain name
50
+ :param pulumi.Input[str] state: (Output)
51
+ Status of the custom domain.
52
+ """
53
+ if domain is not None:
54
+ pulumi.set(__self__, "domain", domain)
55
+ if state is not None:
56
+ pulumi.set(__self__, "state", state)
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def domain(self) -> Optional[pulumi.Input[str]]:
61
+ """
62
+ Domain name
63
+ """
64
+ return pulumi.get(self, "domain")
65
+
66
+ @domain.setter
67
+ def domain(self, value: Optional[pulumi.Input[str]]):
68
+ pulumi.set(self, "domain", value)
69
+
70
+ @property
71
+ @pulumi.getter
72
+ def state(self) -> Optional[pulumi.Input[str]]:
73
+ """
74
+ (Output)
75
+ Status of the custom domain.
76
+ """
77
+ return pulumi.get(self, "state")
78
+
79
+ @state.setter
80
+ def state(self, value: Optional[pulumi.Input[str]]):
81
+ pulumi.set(self, "state", value)
82
+
83
+
42
84
  @pulumi.input_type
43
85
  class InstanceDenyMaintenancePeriodArgs:
44
86
  def __init__(__self__, *,
@@ -18,6 +18,7 @@ class InstanceArgs:
18
18
  def __init__(__self__, *,
19
19
  admin_settings: Optional[pulumi.Input['InstanceAdminSettingsArgs']] = None,
20
20
  consumer_network: Optional[pulumi.Input[str]] = None,
21
+ custom_domain: Optional[pulumi.Input['InstanceCustomDomainArgs']] = None,
21
22
  deny_maintenance_period: Optional[pulumi.Input['InstanceDenyMaintenancePeriodArgs']] = None,
22
23
  encryption_config: Optional[pulumi.Input['InstanceEncryptionConfigArgs']] = None,
23
24
  maintenance_window: Optional[pulumi.Input['InstanceMaintenanceWindowArgs']] = None,
@@ -37,6 +38,8 @@ class InstanceArgs:
37
38
  :param pulumi.Input[str] consumer_network: Network name in the consumer project in the format of: projects/{project}/global/networks/{network}
38
39
  Note that the consumer network may be in a different GCP project than the consumer
39
40
  project that is hosting the Looker Instance.
41
+ :param pulumi.Input['InstanceCustomDomainArgs'] custom_domain: Custom domain settings for a Looker instance.
42
+ Structure is documented below.
40
43
  :param pulumi.Input['InstanceDenyMaintenancePeriodArgs'] deny_maintenance_period: Maintenance denial period for this instance.
41
44
  You must allow at least 14 days of maintenance availability
42
45
  between any two deny maintenance periods.
@@ -82,6 +85,8 @@ class InstanceArgs:
82
85
  pulumi.set(__self__, "admin_settings", admin_settings)
83
86
  if consumer_network is not None:
84
87
  pulumi.set(__self__, "consumer_network", consumer_network)
88
+ if custom_domain is not None:
89
+ pulumi.set(__self__, "custom_domain", custom_domain)
85
90
  if deny_maintenance_period is not None:
86
91
  pulumi.set(__self__, "deny_maintenance_period", deny_maintenance_period)
87
92
  if encryption_config is not None:
@@ -134,6 +139,19 @@ class InstanceArgs:
134
139
  def consumer_network(self, value: Optional[pulumi.Input[str]]):
135
140
  pulumi.set(self, "consumer_network", value)
136
141
 
142
+ @property
143
+ @pulumi.getter(name="customDomain")
144
+ def custom_domain(self) -> Optional[pulumi.Input['InstanceCustomDomainArgs']]:
145
+ """
146
+ Custom domain settings for a Looker instance.
147
+ Structure is documented below.
148
+ """
149
+ return pulumi.get(self, "custom_domain")
150
+
151
+ @custom_domain.setter
152
+ def custom_domain(self, value: Optional[pulumi.Input['InstanceCustomDomainArgs']]):
153
+ pulumi.set(self, "custom_domain", value)
154
+
137
155
  @property
138
156
  @pulumi.getter(name="denyMaintenancePeriod")
139
157
  def deny_maintenance_period(self) -> Optional[pulumi.Input['InstanceDenyMaintenancePeriodArgs']]:
@@ -313,6 +331,7 @@ class _InstanceState:
313
331
  admin_settings: Optional[pulumi.Input['InstanceAdminSettingsArgs']] = None,
314
332
  consumer_network: Optional[pulumi.Input[str]] = None,
315
333
  create_time: Optional[pulumi.Input[str]] = None,
334
+ custom_domain: Optional[pulumi.Input['InstanceCustomDomainArgs']] = None,
316
335
  deny_maintenance_period: Optional[pulumi.Input['InstanceDenyMaintenancePeriodArgs']] = None,
317
336
  egress_public_ip: Optional[pulumi.Input[str]] = None,
318
337
  encryption_config: Optional[pulumi.Input['InstanceEncryptionConfigArgs']] = None,
@@ -340,6 +359,8 @@ class _InstanceState:
340
359
  project that is hosting the Looker Instance.
341
360
  :param pulumi.Input[str] create_time: The time the instance was created in RFC3339 UTC "Zulu" format,
342
361
  accurate to nanoseconds.
362
+ :param pulumi.Input['InstanceCustomDomainArgs'] custom_domain: Custom domain settings for a Looker instance.
363
+ Structure is documented below.
343
364
  :param pulumi.Input['InstanceDenyMaintenancePeriodArgs'] deny_maintenance_period: Maintenance denial period for this instance.
344
365
  You must allow at least 14 days of maintenance availability
345
366
  between any two deny maintenance periods.
@@ -394,6 +415,8 @@ class _InstanceState:
394
415
  pulumi.set(__self__, "consumer_network", consumer_network)
395
416
  if create_time is not None:
396
417
  pulumi.set(__self__, "create_time", create_time)
418
+ if custom_domain is not None:
419
+ pulumi.set(__self__, "custom_domain", custom_domain)
397
420
  if deny_maintenance_period is not None:
398
421
  pulumi.set(__self__, "deny_maintenance_period", deny_maintenance_period)
399
422
  if egress_public_ip is not None:
@@ -471,6 +494,19 @@ class _InstanceState:
471
494
  def create_time(self, value: Optional[pulumi.Input[str]]):
472
495
  pulumi.set(self, "create_time", value)
473
496
 
497
+ @property
498
+ @pulumi.getter(name="customDomain")
499
+ def custom_domain(self) -> Optional[pulumi.Input['InstanceCustomDomainArgs']]:
500
+ """
501
+ Custom domain settings for a Looker instance.
502
+ Structure is documented below.
503
+ """
504
+ return pulumi.get(self, "custom_domain")
505
+
506
+ @custom_domain.setter
507
+ def custom_domain(self, value: Optional[pulumi.Input['InstanceCustomDomainArgs']]):
508
+ pulumi.set(self, "custom_domain", value)
509
+
474
510
  @property
475
511
  @pulumi.getter(name="denyMaintenancePeriod")
476
512
  def deny_maintenance_period(self) -> Optional[pulumi.Input['InstanceDenyMaintenancePeriodArgs']]:
@@ -724,6 +760,7 @@ class Instance(pulumi.CustomResource):
724
760
  opts: Optional[pulumi.ResourceOptions] = None,
725
761
  admin_settings: Optional[pulumi.Input[pulumi.InputType['InstanceAdminSettingsArgs']]] = None,
726
762
  consumer_network: Optional[pulumi.Input[str]] = None,
763
+ custom_domain: Optional[pulumi.Input[pulumi.InputType['InstanceCustomDomainArgs']]] = None,
727
764
  deny_maintenance_period: Optional[pulumi.Input[pulumi.InputType['InstanceDenyMaintenancePeriodArgs']]] = None,
728
765
  encryption_config: Optional[pulumi.Input[pulumi.InputType['InstanceEncryptionConfigArgs']]] = None,
729
766
  maintenance_window: Optional[pulumi.Input[pulumi.InputType['InstanceMaintenanceWindowArgs']]] = None,
@@ -882,6 +919,24 @@ class Instance(pulumi.CustomResource):
882
919
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
883
920
  member=f"serviceAccount:service-{project.number}@gcp-sa-looker.iam.gserviceaccount.com")
884
921
  ```
922
+ ### Looker Instance Custom Domain
923
+
924
+ ```python
925
+ import pulumi
926
+ import pulumi_gcp as gcp
927
+
928
+ looker_instance = gcp.looker.Instance("looker-instance",
929
+ name="my-instance",
930
+ platform_edition="LOOKER_CORE_STANDARD",
931
+ region="us-central1",
932
+ oauth_config=gcp.looker.InstanceOauthConfigArgs(
933
+ client_id="my-client-id",
934
+ client_secret="my-client-secret",
935
+ ),
936
+ custom_domain=gcp.looker.InstanceCustomDomainArgs(
937
+ domain="my-custom-domain.com",
938
+ ))
939
+ ```
885
940
 
886
941
  ## Import
887
942
 
@@ -920,6 +975,8 @@ class Instance(pulumi.CustomResource):
920
975
  :param pulumi.Input[str] consumer_network: Network name in the consumer project in the format of: projects/{project}/global/networks/{network}
921
976
  Note that the consumer network may be in a different GCP project than the consumer
922
977
  project that is hosting the Looker Instance.
978
+ :param pulumi.Input[pulumi.InputType['InstanceCustomDomainArgs']] custom_domain: Custom domain settings for a Looker instance.
979
+ Structure is documented below.
923
980
  :param pulumi.Input[pulumi.InputType['InstanceDenyMaintenancePeriodArgs']] deny_maintenance_period: Maintenance denial period for this instance.
924
981
  You must allow at least 14 days of maintenance availability
925
982
  between any two deny maintenance periods.
@@ -1112,6 +1169,24 @@ class Instance(pulumi.CustomResource):
1112
1169
  role="roles/cloudkms.cryptoKeyEncrypterDecrypter",
1113
1170
  member=f"serviceAccount:service-{project.number}@gcp-sa-looker.iam.gserviceaccount.com")
1114
1171
  ```
1172
+ ### Looker Instance Custom Domain
1173
+
1174
+ ```python
1175
+ import pulumi
1176
+ import pulumi_gcp as gcp
1177
+
1178
+ looker_instance = gcp.looker.Instance("looker-instance",
1179
+ name="my-instance",
1180
+ platform_edition="LOOKER_CORE_STANDARD",
1181
+ region="us-central1",
1182
+ oauth_config=gcp.looker.InstanceOauthConfigArgs(
1183
+ client_id="my-client-id",
1184
+ client_secret="my-client-secret",
1185
+ ),
1186
+ custom_domain=gcp.looker.InstanceCustomDomainArgs(
1187
+ domain="my-custom-domain.com",
1188
+ ))
1189
+ ```
1115
1190
 
1116
1191
  ## Import
1117
1192
 
@@ -1160,6 +1235,7 @@ class Instance(pulumi.CustomResource):
1160
1235
  opts: Optional[pulumi.ResourceOptions] = None,
1161
1236
  admin_settings: Optional[pulumi.Input[pulumi.InputType['InstanceAdminSettingsArgs']]] = None,
1162
1237
  consumer_network: Optional[pulumi.Input[str]] = None,
1238
+ custom_domain: Optional[pulumi.Input[pulumi.InputType['InstanceCustomDomainArgs']]] = None,
1163
1239
  deny_maintenance_period: Optional[pulumi.Input[pulumi.InputType['InstanceDenyMaintenancePeriodArgs']]] = None,
1164
1240
  encryption_config: Optional[pulumi.Input[pulumi.InputType['InstanceEncryptionConfigArgs']]] = None,
1165
1241
  maintenance_window: Optional[pulumi.Input[pulumi.InputType['InstanceMaintenanceWindowArgs']]] = None,
@@ -1183,6 +1259,7 @@ class Instance(pulumi.CustomResource):
1183
1259
 
1184
1260
  __props__.__dict__["admin_settings"] = admin_settings
1185
1261
  __props__.__dict__["consumer_network"] = consumer_network
1262
+ __props__.__dict__["custom_domain"] = custom_domain
1186
1263
  __props__.__dict__["deny_maintenance_period"] = deny_maintenance_period
1187
1264
  __props__.__dict__["encryption_config"] = encryption_config
1188
1265
  __props__.__dict__["maintenance_window"] = maintenance_window
@@ -1215,6 +1292,7 @@ class Instance(pulumi.CustomResource):
1215
1292
  admin_settings: Optional[pulumi.Input[pulumi.InputType['InstanceAdminSettingsArgs']]] = None,
1216
1293
  consumer_network: Optional[pulumi.Input[str]] = None,
1217
1294
  create_time: Optional[pulumi.Input[str]] = None,
1295
+ custom_domain: Optional[pulumi.Input[pulumi.InputType['InstanceCustomDomainArgs']]] = None,
1218
1296
  deny_maintenance_period: Optional[pulumi.Input[pulumi.InputType['InstanceDenyMaintenancePeriodArgs']]] = None,
1219
1297
  egress_public_ip: Optional[pulumi.Input[str]] = None,
1220
1298
  encryption_config: Optional[pulumi.Input[pulumi.InputType['InstanceEncryptionConfigArgs']]] = None,
@@ -1247,6 +1325,8 @@ class Instance(pulumi.CustomResource):
1247
1325
  project that is hosting the Looker Instance.
1248
1326
  :param pulumi.Input[str] create_time: The time the instance was created in RFC3339 UTC "Zulu" format,
1249
1327
  accurate to nanoseconds.
1328
+ :param pulumi.Input[pulumi.InputType['InstanceCustomDomainArgs']] custom_domain: Custom domain settings for a Looker instance.
1329
+ Structure is documented below.
1250
1330
  :param pulumi.Input[pulumi.InputType['InstanceDenyMaintenancePeriodArgs']] deny_maintenance_period: Maintenance denial period for this instance.
1251
1331
  You must allow at least 14 days of maintenance availability
1252
1332
  between any two deny maintenance periods.
@@ -1302,6 +1382,7 @@ class Instance(pulumi.CustomResource):
1302
1382
  __props__.__dict__["admin_settings"] = admin_settings
1303
1383
  __props__.__dict__["consumer_network"] = consumer_network
1304
1384
  __props__.__dict__["create_time"] = create_time
1385
+ __props__.__dict__["custom_domain"] = custom_domain
1305
1386
  __props__.__dict__["deny_maintenance_period"] = deny_maintenance_period
1306
1387
  __props__.__dict__["egress_public_ip"] = egress_public_ip
1307
1388
  __props__.__dict__["encryption_config"] = encryption_config
@@ -1350,6 +1431,15 @@ class Instance(pulumi.CustomResource):
1350
1431
  """
1351
1432
  return pulumi.get(self, "create_time")
1352
1433
 
1434
+ @property
1435
+ @pulumi.getter(name="customDomain")
1436
+ def custom_domain(self) -> pulumi.Output[Optional['outputs.InstanceCustomDomain']]:
1437
+ """
1438
+ Custom domain settings for a Looker instance.
1439
+ Structure is documented below.
1440
+ """
1441
+ return pulumi.get(self, "custom_domain")
1442
+
1353
1443
  @property
1354
1444
  @pulumi.getter(name="denyMaintenancePeriod")
1355
1445
  def deny_maintenance_period(self) -> pulumi.Output[Optional['outputs.InstanceDenyMaintenancePeriod']]:
@@ -12,6 +12,7 @@ from . import outputs
12
12
 
13
13
  __all__ = [
14
14
  'InstanceAdminSettings',
15
+ 'InstanceCustomDomain',
15
16
  'InstanceDenyMaintenancePeriod',
16
17
  'InstanceDenyMaintenancePeriodEndDate',
17
18
  'InstanceDenyMaintenancePeriodStartDate',
@@ -53,6 +54,39 @@ class InstanceAdminSettings(dict):
53
54
  return pulumi.get(self, "allowed_email_domains")
54
55
 
55
56
 
57
+ @pulumi.output_type
58
+ class InstanceCustomDomain(dict):
59
+ def __init__(__self__, *,
60
+ domain: Optional[str] = None,
61
+ state: Optional[str] = None):
62
+ """
63
+ :param str domain: Domain name
64
+ :param str state: (Output)
65
+ Status of the custom domain.
66
+ """
67
+ if domain is not None:
68
+ pulumi.set(__self__, "domain", domain)
69
+ if state is not None:
70
+ pulumi.set(__self__, "state", state)
71
+
72
+ @property
73
+ @pulumi.getter
74
+ def domain(self) -> Optional[str]:
75
+ """
76
+ Domain name
77
+ """
78
+ return pulumi.get(self, "domain")
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def state(self) -> Optional[str]:
83
+ """
84
+ (Output)
85
+ Status of the custom domain.
86
+ """
87
+ return pulumi.get(self, "state")
88
+
89
+
56
90
  @pulumi.output_type
57
91
  class InstanceDenyMaintenancePeriod(dict):
58
92
  @staticmethod
@@ -6,3 +6,6 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .group import *
9
+ from .preference_set import *
10
+ from ._inputs import *
11
+ from . import outputs