pulumi-gcp 8.29.0a1746115375__py3-none-any.whl → 8.30.0a1746254470__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +24 -0
- pulumi_gcp/alloydb/instance.py +1 -1
- pulumi_gcp/apigee/organization.py +26 -0
- pulumi_gcp/beyondcorp/_inputs.py +129 -0
- pulumi_gcp/beyondcorp/application.py +106 -3
- pulumi_gcp/beyondcorp/outputs.py +93 -0
- pulumi_gcp/bigtable/__init__.py +2 -0
- pulumi_gcp/bigtable/logical_view.py +473 -0
- pulumi_gcp/bigtable/materialized_view.py +524 -0
- pulumi_gcp/certificateauthority/ca_pool.py +12 -0
- pulumi_gcp/certificatemanager/get_certificates.py +29 -0
- pulumi_gcp/clouddeploy/automation.py +66 -10
- pulumi_gcp/compute/_inputs.py +366 -55
- pulumi_gcp/compute/backend_service.py +6 -2
- pulumi_gcp/compute/get_region_disk.py +12 -1
- pulumi_gcp/compute/interconnect.py +25 -24
- pulumi_gcp/compute/outputs.py +380 -48
- pulumi_gcp/compute/region_disk.py +28 -0
- pulumi_gcp/compute/region_resize_request.py +2 -2
- pulumi_gcp/compute/region_security_policy.py +16 -0
- pulumi_gcp/compute/region_security_policy_rule.py +16 -0
- pulumi_gcp/compute/resize_request.py +2 -2
- pulumi_gcp/compute/resource_policy.py +0 -2
- pulumi_gcp/container/_inputs.py +69 -9
- pulumi_gcp/container/outputs.py +71 -7
- pulumi_gcp/dataplex/_inputs.py +219 -1
- pulumi_gcp/dataplex/datascan.py +20 -0
- pulumi_gcp/dataplex/outputs.py +168 -1
- pulumi_gcp/developerconnect/_inputs.py +6 -0
- pulumi_gcp/developerconnect/account_connector.py +56 -0
- pulumi_gcp/developerconnect/outputs.py +4 -0
- pulumi_gcp/dns/_inputs.py +34 -13
- pulumi_gcp/dns/outputs.py +25 -10
- pulumi_gcp/gkehub/_inputs.py +3 -3
- pulumi_gcp/gkehub/feature_membership.py +92 -0
- pulumi_gcp/gkehub/outputs.py +2 -2
- pulumi_gcp/identityplatform/_inputs.py +54 -0
- pulumi_gcp/identityplatform/oauth_idp_config.py +83 -5
- pulumi_gcp/identityplatform/outputs.py +49 -0
- pulumi_gcp/memcache/__init__.py +1 -0
- pulumi_gcp/memcache/get_instance.py +338 -0
- pulumi_gcp/memcache/outputs.py +363 -0
- pulumi_gcp/netapp/storage_pool.py +141 -0
- pulumi_gcp/networkservices/_inputs.py +35 -6
- pulumi_gcp/networkservices/lb_traffic_extension.py +7 -0
- pulumi_gcp/networkservices/outputs.py +22 -4
- pulumi_gcp/osconfig/__init__.py +1 -0
- pulumi_gcp/osconfig/_inputs.py +5400 -0
- pulumi_gcp/osconfig/outputs.py +3952 -0
- pulumi_gcp/osconfig/v2_policy_orchestrator_for_folder.py +1098 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/spanner/instance_config.py +14 -14
- pulumi_gcp/sql/_inputs.py +83 -0
- pulumi_gcp/sql/database_instance.py +28 -0
- pulumi_gcp/sql/get_database_instance.py +12 -1
- pulumi_gcp/sql/outputs.py +146 -6
- pulumi_gcp/storage/_inputs.py +20 -0
- pulumi_gcp/storage/bucket.py +56 -0
- pulumi_gcp/storage/get_bucket.py +23 -1
- pulumi_gcp/storage/outputs.py +14 -0
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +2 -14
- {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/RECORD +65 -61
- {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.29.0a1746115375.dist-info → pulumi_gcp-8.30.0a1746254470.dist-info}/top_level.txt +0 -0
pulumi_gcp/__init__.py
CHANGED
@@ -1590,6 +1590,22 @@ _utilities.register(
|
|
1590
1590
|
"gcp:bigtable/instanceIamPolicy:InstanceIamPolicy": "InstanceIamPolicy"
|
1591
1591
|
}
|
1592
1592
|
},
|
1593
|
+
{
|
1594
|
+
"pkg": "gcp",
|
1595
|
+
"mod": "bigtable/logicalView",
|
1596
|
+
"fqn": "pulumi_gcp.bigtable",
|
1597
|
+
"classes": {
|
1598
|
+
"gcp:bigtable/logicalView:LogicalView": "LogicalView"
|
1599
|
+
}
|
1600
|
+
},
|
1601
|
+
{
|
1602
|
+
"pkg": "gcp",
|
1603
|
+
"mod": "bigtable/materializedView",
|
1604
|
+
"fqn": "pulumi_gcp.bigtable",
|
1605
|
+
"classes": {
|
1606
|
+
"gcp:bigtable/materializedView:MaterializedView": "MaterializedView"
|
1607
|
+
}
|
1608
|
+
},
|
1593
1609
|
{
|
1594
1610
|
"pkg": "gcp",
|
1595
1611
|
"mod": "bigtable/table",
|
@@ -7662,6 +7678,14 @@ _utilities.register(
|
|
7662
7678
|
"gcp:osconfig/v2PolicyOrchestrator:V2PolicyOrchestrator": "V2PolicyOrchestrator"
|
7663
7679
|
}
|
7664
7680
|
},
|
7681
|
+
{
|
7682
|
+
"pkg": "gcp",
|
7683
|
+
"mod": "osconfig/v2PolicyOrchestratorForFolder",
|
7684
|
+
"fqn": "pulumi_gcp.osconfig",
|
7685
|
+
"classes": {
|
7686
|
+
"gcp:osconfig/v2PolicyOrchestratorForFolder:V2PolicyOrchestratorForFolder": "V2PolicyOrchestratorForFolder"
|
7687
|
+
}
|
7688
|
+
},
|
7665
7689
|
{
|
7666
7690
|
"pkg": "gcp",
|
7667
7691
|
"mod": "osconfig/v2PolicyOrchestratorForOrganization",
|
pulumi_gcp/alloydb/instance.py
CHANGED
@@ -1476,7 +1476,7 @@ class Instance(pulumi.CustomResource):
|
|
1476
1476
|
|
1477
1477
|
@property
|
1478
1478
|
@pulumi.getter(name="networkConfig")
|
1479
|
-
def network_config(self) -> pulumi.Output[
|
1479
|
+
def network_config(self) -> pulumi.Output['outputs.InstanceNetworkConfig']:
|
1480
1480
|
"""
|
1481
1481
|
Instance level network configuration.
|
1482
1482
|
Structure is documented below.
|
@@ -673,6 +673,7 @@ class Organization(pulumi.CustomResource):
|
|
673
673
|
* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations)
|
674
674
|
* How-to Guides
|
675
675
|
* [Creating an API organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org)
|
676
|
+
* Setting a custom endpoint (required for data residency)
|
676
677
|
|
677
678
|
## Example Usage
|
678
679
|
|
@@ -713,6 +714,18 @@ class Organization(pulumi.CustomResource):
|
|
713
714
|
project_id=current.project,
|
714
715
|
disable_vpc_peering=True)
|
715
716
|
```
|
717
|
+
### Apigee Organization Cloud Basic Data Residency
|
718
|
+
|
719
|
+
```python
|
720
|
+
import pulumi
|
721
|
+
import pulumi_gcp as gcp
|
722
|
+
|
723
|
+
current = gcp.organizations.get_client_config()
|
724
|
+
org = gcp.apigee.Organization("org",
|
725
|
+
description="Terraform-provisioned basic Apigee Org under European Union hosting jurisdiction.",
|
726
|
+
project_id=current.project,
|
727
|
+
disable_vpc_peering=True)
|
728
|
+
```
|
716
729
|
### Apigee Organization Cloud Full
|
717
730
|
|
718
731
|
```python
|
@@ -858,6 +871,7 @@ class Organization(pulumi.CustomResource):
|
|
858
871
|
* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations)
|
859
872
|
* How-to Guides
|
860
873
|
* [Creating an API organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org)
|
874
|
+
* Setting a custom endpoint (required for data residency)
|
861
875
|
|
862
876
|
## Example Usage
|
863
877
|
|
@@ -898,6 +912,18 @@ class Organization(pulumi.CustomResource):
|
|
898
912
|
project_id=current.project,
|
899
913
|
disable_vpc_peering=True)
|
900
914
|
```
|
915
|
+
### Apigee Organization Cloud Basic Data Residency
|
916
|
+
|
917
|
+
```python
|
918
|
+
import pulumi
|
919
|
+
import pulumi_gcp as gcp
|
920
|
+
|
921
|
+
current = gcp.organizations.get_client_config()
|
922
|
+
org = gcp.apigee.Organization("org",
|
923
|
+
description="Terraform-provisioned basic Apigee Org under European Union hosting jurisdiction.",
|
924
|
+
project_id=current.project,
|
925
|
+
disable_vpc_peering=True)
|
926
|
+
```
|
901
927
|
### Apigee Organization Cloud Full
|
902
928
|
|
903
929
|
```python
|
pulumi_gcp/beyondcorp/_inputs.py
CHANGED
@@ -32,6 +32,12 @@ __all__ = [
|
|
32
32
|
'ApplicationIamBindingConditionArgsDict',
|
33
33
|
'ApplicationIamMemberConditionArgs',
|
34
34
|
'ApplicationIamMemberConditionArgsDict',
|
35
|
+
'ApplicationUpstreamArgs',
|
36
|
+
'ApplicationUpstreamArgsDict',
|
37
|
+
'ApplicationUpstreamEgressPolicyArgs',
|
38
|
+
'ApplicationUpstreamEgressPolicyArgsDict',
|
39
|
+
'ApplicationUpstreamNetworkArgs',
|
40
|
+
'ApplicationUpstreamNetworkArgsDict',
|
35
41
|
'SecurityGatewayHubArgs',
|
36
42
|
'SecurityGatewayHubArgsDict',
|
37
43
|
'SecurityGatewayHubInternetGatewayArgs',
|
@@ -509,6 +515,129 @@ class ApplicationIamMemberConditionArgs:
|
|
509
515
|
pulumi.set(self, "description", value)
|
510
516
|
|
511
517
|
|
518
|
+
if not MYPY:
|
519
|
+
class ApplicationUpstreamArgsDict(TypedDict):
|
520
|
+
egress_policy: NotRequired[pulumi.Input['ApplicationUpstreamEgressPolicyArgsDict']]
|
521
|
+
"""
|
522
|
+
Optional. Routing policy information.
|
523
|
+
Structure is documented below.
|
524
|
+
"""
|
525
|
+
network: NotRequired[pulumi.Input['ApplicationUpstreamNetworkArgsDict']]
|
526
|
+
"""
|
527
|
+
Network to forward traffic to.
|
528
|
+
Structure is documented below.
|
529
|
+
"""
|
530
|
+
elif False:
|
531
|
+
ApplicationUpstreamArgsDict: TypeAlias = Mapping[str, Any]
|
532
|
+
|
533
|
+
@pulumi.input_type
|
534
|
+
class ApplicationUpstreamArgs:
|
535
|
+
def __init__(__self__, *,
|
536
|
+
egress_policy: Optional[pulumi.Input['ApplicationUpstreamEgressPolicyArgs']] = None,
|
537
|
+
network: Optional[pulumi.Input['ApplicationUpstreamNetworkArgs']] = None):
|
538
|
+
"""
|
539
|
+
:param pulumi.Input['ApplicationUpstreamEgressPolicyArgs'] egress_policy: Optional. Routing policy information.
|
540
|
+
Structure is documented below.
|
541
|
+
:param pulumi.Input['ApplicationUpstreamNetworkArgs'] network: Network to forward traffic to.
|
542
|
+
Structure is documented below.
|
543
|
+
"""
|
544
|
+
if egress_policy is not None:
|
545
|
+
pulumi.set(__self__, "egress_policy", egress_policy)
|
546
|
+
if network is not None:
|
547
|
+
pulumi.set(__self__, "network", network)
|
548
|
+
|
549
|
+
@property
|
550
|
+
@pulumi.getter(name="egressPolicy")
|
551
|
+
def egress_policy(self) -> Optional[pulumi.Input['ApplicationUpstreamEgressPolicyArgs']]:
|
552
|
+
"""
|
553
|
+
Optional. Routing policy information.
|
554
|
+
Structure is documented below.
|
555
|
+
"""
|
556
|
+
return pulumi.get(self, "egress_policy")
|
557
|
+
|
558
|
+
@egress_policy.setter
|
559
|
+
def egress_policy(self, value: Optional[pulumi.Input['ApplicationUpstreamEgressPolicyArgs']]):
|
560
|
+
pulumi.set(self, "egress_policy", value)
|
561
|
+
|
562
|
+
@property
|
563
|
+
@pulumi.getter
|
564
|
+
def network(self) -> Optional[pulumi.Input['ApplicationUpstreamNetworkArgs']]:
|
565
|
+
"""
|
566
|
+
Network to forward traffic to.
|
567
|
+
Structure is documented below.
|
568
|
+
"""
|
569
|
+
return pulumi.get(self, "network")
|
570
|
+
|
571
|
+
@network.setter
|
572
|
+
def network(self, value: Optional[pulumi.Input['ApplicationUpstreamNetworkArgs']]):
|
573
|
+
pulumi.set(self, "network", value)
|
574
|
+
|
575
|
+
|
576
|
+
if not MYPY:
|
577
|
+
class ApplicationUpstreamEgressPolicyArgsDict(TypedDict):
|
578
|
+
regions: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]
|
579
|
+
"""
|
580
|
+
Required. List of regions where the application sends traffic to.
|
581
|
+
"""
|
582
|
+
elif False:
|
583
|
+
ApplicationUpstreamEgressPolicyArgsDict: TypeAlias = Mapping[str, Any]
|
584
|
+
|
585
|
+
@pulumi.input_type
|
586
|
+
class ApplicationUpstreamEgressPolicyArgs:
|
587
|
+
def __init__(__self__, *,
|
588
|
+
regions: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
|
589
|
+
"""
|
590
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] regions: Required. List of regions where the application sends traffic to.
|
591
|
+
"""
|
592
|
+
pulumi.set(__self__, "regions", regions)
|
593
|
+
|
594
|
+
@property
|
595
|
+
@pulumi.getter
|
596
|
+
def regions(self) -> pulumi.Input[Sequence[pulumi.Input[builtins.str]]]:
|
597
|
+
"""
|
598
|
+
Required. List of regions where the application sends traffic to.
|
599
|
+
"""
|
600
|
+
return pulumi.get(self, "regions")
|
601
|
+
|
602
|
+
@regions.setter
|
603
|
+
def regions(self, value: pulumi.Input[Sequence[pulumi.Input[builtins.str]]]):
|
604
|
+
pulumi.set(self, "regions", value)
|
605
|
+
|
606
|
+
|
607
|
+
if not MYPY:
|
608
|
+
class ApplicationUpstreamNetworkArgsDict(TypedDict):
|
609
|
+
name: pulumi.Input[builtins.str]
|
610
|
+
"""
|
611
|
+
Required. Network name is of the format:
|
612
|
+
`projects/{project}/global/networks/{network}`
|
613
|
+
"""
|
614
|
+
elif False:
|
615
|
+
ApplicationUpstreamNetworkArgsDict: TypeAlias = Mapping[str, Any]
|
616
|
+
|
617
|
+
@pulumi.input_type
|
618
|
+
class ApplicationUpstreamNetworkArgs:
|
619
|
+
def __init__(__self__, *,
|
620
|
+
name: pulumi.Input[builtins.str]):
|
621
|
+
"""
|
622
|
+
:param pulumi.Input[builtins.str] name: Required. Network name is of the format:
|
623
|
+
`projects/{project}/global/networks/{network}`
|
624
|
+
"""
|
625
|
+
pulumi.set(__self__, "name", name)
|
626
|
+
|
627
|
+
@property
|
628
|
+
@pulumi.getter
|
629
|
+
def name(self) -> pulumi.Input[builtins.str]:
|
630
|
+
"""
|
631
|
+
Required. Network name is of the format:
|
632
|
+
`projects/{project}/global/networks/{network}`
|
633
|
+
"""
|
634
|
+
return pulumi.get(self, "name")
|
635
|
+
|
636
|
+
@name.setter
|
637
|
+
def name(self, value: pulumi.Input[builtins.str]):
|
638
|
+
pulumi.set(self, "name", value)
|
639
|
+
|
640
|
+
|
512
641
|
if not MYPY:
|
513
642
|
class SecurityGatewayHubArgsDict(TypedDict):
|
514
643
|
region: pulumi.Input[builtins.str]
|
@@ -26,7 +26,8 @@ class ApplicationArgs:
|
|
26
26
|
endpoint_matchers: pulumi.Input[Sequence[pulumi.Input['ApplicationEndpointMatcherArgs']]],
|
27
27
|
security_gateways_id: pulumi.Input[builtins.str],
|
28
28
|
display_name: Optional[pulumi.Input[builtins.str]] = None,
|
29
|
-
project: Optional[pulumi.Input[builtins.str]] = None
|
29
|
+
project: Optional[pulumi.Input[builtins.str]] = None,
|
30
|
+
upstreams: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]]] = None):
|
30
31
|
"""
|
31
32
|
The set of arguments for constructing a Application resource.
|
32
33
|
:param pulumi.Input[builtins.str] application_id: Optional. User-settable Application resource ID.
|
@@ -47,6 +48,7 @@ class ApplicationArgs:
|
|
47
48
|
Structure is documented below.
|
48
49
|
:param pulumi.Input[builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
|
49
50
|
:param pulumi.Input[builtins.str] display_name: Optional. An arbitrary user-provided name for the Application resource. Cannot exceed 64 characters.
|
51
|
+
:param pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]] upstreams: Optional. List of which upstream resource(s) to forward traffic to.
|
50
52
|
"""
|
51
53
|
pulumi.set(__self__, "application_id", application_id)
|
52
54
|
pulumi.set(__self__, "endpoint_matchers", endpoint_matchers)
|
@@ -55,6 +57,8 @@ class ApplicationArgs:
|
|
55
57
|
pulumi.set(__self__, "display_name", display_name)
|
56
58
|
if project is not None:
|
57
59
|
pulumi.set(__self__, "project", project)
|
60
|
+
if upstreams is not None:
|
61
|
+
pulumi.set(__self__, "upstreams", upstreams)
|
58
62
|
|
59
63
|
@property
|
60
64
|
@pulumi.getter(name="applicationId")
|
@@ -127,6 +131,18 @@ class ApplicationArgs:
|
|
127
131
|
def project(self, value: Optional[pulumi.Input[builtins.str]]):
|
128
132
|
pulumi.set(self, "project", value)
|
129
133
|
|
134
|
+
@property
|
135
|
+
@pulumi.getter
|
136
|
+
def upstreams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]]]:
|
137
|
+
"""
|
138
|
+
Optional. List of which upstream resource(s) to forward traffic to.
|
139
|
+
"""
|
140
|
+
return pulumi.get(self, "upstreams")
|
141
|
+
|
142
|
+
@upstreams.setter
|
143
|
+
def upstreams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]]]):
|
144
|
+
pulumi.set(self, "upstreams", value)
|
145
|
+
|
130
146
|
|
131
147
|
@pulumi.input_type
|
132
148
|
class _ApplicationState:
|
@@ -138,7 +154,8 @@ class _ApplicationState:
|
|
138
154
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
139
155
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
140
156
|
security_gateways_id: Optional[pulumi.Input[builtins.str]] = None,
|
141
|
-
update_time: Optional[pulumi.Input[builtins.str]] = None
|
157
|
+
update_time: Optional[pulumi.Input[builtins.str]] = None,
|
158
|
+
upstreams: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]]] = None):
|
142
159
|
"""
|
143
160
|
Input properties used for looking up and filtering Application resources.
|
144
161
|
:param pulumi.Input[builtins.str] application_id: Optional. User-settable Application resource ID.
|
@@ -162,6 +179,7 @@ class _ApplicationState:
|
|
162
179
|
:param pulumi.Input[builtins.str] name: Identifier. Name of the resource.
|
163
180
|
:param pulumi.Input[builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
|
164
181
|
:param pulumi.Input[builtins.str] update_time: Output only. Timestamp when the resource was last modified.
|
182
|
+
:param pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]] upstreams: Optional. List of which upstream resource(s) to forward traffic to.
|
165
183
|
"""
|
166
184
|
if application_id is not None:
|
167
185
|
pulumi.set(__self__, "application_id", application_id)
|
@@ -179,6 +197,8 @@ class _ApplicationState:
|
|
179
197
|
pulumi.set(__self__, "security_gateways_id", security_gateways_id)
|
180
198
|
if update_time is not None:
|
181
199
|
pulumi.set(__self__, "update_time", update_time)
|
200
|
+
if upstreams is not None:
|
201
|
+
pulumi.set(__self__, "upstreams", upstreams)
|
182
202
|
|
183
203
|
@property
|
184
204
|
@pulumi.getter(name="applicationId")
|
@@ -287,6 +307,18 @@ class _ApplicationState:
|
|
287
307
|
def update_time(self, value: Optional[pulumi.Input[builtins.str]]):
|
288
308
|
pulumi.set(self, "update_time", value)
|
289
309
|
|
310
|
+
@property
|
311
|
+
@pulumi.getter
|
312
|
+
def upstreams(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]]]:
|
313
|
+
"""
|
314
|
+
Optional. List of which upstream resource(s) to forward traffic to.
|
315
|
+
"""
|
316
|
+
return pulumi.get(self, "upstreams")
|
317
|
+
|
318
|
+
@upstreams.setter
|
319
|
+
def upstreams(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['ApplicationUpstreamArgs']]]]):
|
320
|
+
pulumi.set(self, "upstreams", value)
|
321
|
+
|
290
322
|
|
291
323
|
class Application(pulumi.CustomResource):
|
292
324
|
|
@@ -301,6 +333,7 @@ class Application(pulumi.CustomResource):
|
|
301
333
|
endpoint_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationEndpointMatcherArgs', 'ApplicationEndpointMatcherArgsDict']]]]] = None,
|
302
334
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
303
335
|
security_gateways_id: Optional[pulumi.Input[builtins.str]] = None,
|
336
|
+
upstreams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationUpstreamArgs', 'ApplicationUpstreamArgsDict']]]]] = None,
|
304
337
|
__props__=None):
|
305
338
|
"""
|
306
339
|
Specifies application endpoint(s) to protect behind a Security Gateway.
|
@@ -326,6 +359,34 @@ class Application(pulumi.CustomResource):
|
|
326
359
|
"hostname": "google.com",
|
327
360
|
}])
|
328
361
|
```
|
362
|
+
### Beyondcorp Security Gateway Application Vpc
|
363
|
+
|
364
|
+
```python
|
365
|
+
import pulumi
|
366
|
+
import pulumi_gcp as gcp
|
367
|
+
|
368
|
+
project = gcp.organizations.get_project()
|
369
|
+
default = gcp.beyondcorp.SecurityGateway("default",
|
370
|
+
security_gateway_id="default",
|
371
|
+
display_name="My Security Gateway resource",
|
372
|
+
hubs=[{
|
373
|
+
"region": "us-central1",
|
374
|
+
}])
|
375
|
+
example = gcp.beyondcorp.Application("example",
|
376
|
+
security_gateways_id=default.security_gateway_id,
|
377
|
+
application_id="my-vm-service",
|
378
|
+
endpoint_matchers=[{
|
379
|
+
"hostname": "my-vm-service.com",
|
380
|
+
}],
|
381
|
+
upstreams=[{
|
382
|
+
"egress_policy": {
|
383
|
+
"regions": ["us-central1"],
|
384
|
+
},
|
385
|
+
"network": {
|
386
|
+
"name": f"projects/{project.project_id}/global/networks/default",
|
387
|
+
},
|
388
|
+
}])
|
389
|
+
```
|
329
390
|
|
330
391
|
## Import
|
331
392
|
|
@@ -371,6 +432,7 @@ class Application(pulumi.CustomResource):
|
|
371
432
|
Hostname and Ports - ("abc.com" and "22"), ("abc.com" and "22,33") etc
|
372
433
|
Structure is documented below.
|
373
434
|
:param pulumi.Input[builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
|
435
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ApplicationUpstreamArgs', 'ApplicationUpstreamArgsDict']]]] upstreams: Optional. List of which upstream resource(s) to forward traffic to.
|
374
436
|
"""
|
375
437
|
...
|
376
438
|
@overload
|
@@ -402,6 +464,34 @@ class Application(pulumi.CustomResource):
|
|
402
464
|
"hostname": "google.com",
|
403
465
|
}])
|
404
466
|
```
|
467
|
+
### Beyondcorp Security Gateway Application Vpc
|
468
|
+
|
469
|
+
```python
|
470
|
+
import pulumi
|
471
|
+
import pulumi_gcp as gcp
|
472
|
+
|
473
|
+
project = gcp.organizations.get_project()
|
474
|
+
default = gcp.beyondcorp.SecurityGateway("default",
|
475
|
+
security_gateway_id="default",
|
476
|
+
display_name="My Security Gateway resource",
|
477
|
+
hubs=[{
|
478
|
+
"region": "us-central1",
|
479
|
+
}])
|
480
|
+
example = gcp.beyondcorp.Application("example",
|
481
|
+
security_gateways_id=default.security_gateway_id,
|
482
|
+
application_id="my-vm-service",
|
483
|
+
endpoint_matchers=[{
|
484
|
+
"hostname": "my-vm-service.com",
|
485
|
+
}],
|
486
|
+
upstreams=[{
|
487
|
+
"egress_policy": {
|
488
|
+
"regions": ["us-central1"],
|
489
|
+
},
|
490
|
+
"network": {
|
491
|
+
"name": f"projects/{project.project_id}/global/networks/default",
|
492
|
+
},
|
493
|
+
}])
|
494
|
+
```
|
405
495
|
|
406
496
|
## Import
|
407
497
|
|
@@ -447,6 +537,7 @@ class Application(pulumi.CustomResource):
|
|
447
537
|
endpoint_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationEndpointMatcherArgs', 'ApplicationEndpointMatcherArgsDict']]]]] = None,
|
448
538
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
449
539
|
security_gateways_id: Optional[pulumi.Input[builtins.str]] = None,
|
540
|
+
upstreams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationUpstreamArgs', 'ApplicationUpstreamArgsDict']]]]] = None,
|
450
541
|
__props__=None):
|
451
542
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
452
543
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -467,6 +558,7 @@ class Application(pulumi.CustomResource):
|
|
467
558
|
if security_gateways_id is None and not opts.urn:
|
468
559
|
raise TypeError("Missing required property 'security_gateways_id'")
|
469
560
|
__props__.__dict__["security_gateways_id"] = security_gateways_id
|
561
|
+
__props__.__dict__["upstreams"] = upstreams
|
470
562
|
__props__.__dict__["create_time"] = None
|
471
563
|
__props__.__dict__["name"] = None
|
472
564
|
__props__.__dict__["update_time"] = None
|
@@ -487,7 +579,8 @@ class Application(pulumi.CustomResource):
|
|
487
579
|
name: Optional[pulumi.Input[builtins.str]] = None,
|
488
580
|
project: Optional[pulumi.Input[builtins.str]] = None,
|
489
581
|
security_gateways_id: Optional[pulumi.Input[builtins.str]] = None,
|
490
|
-
update_time: Optional[pulumi.Input[builtins.str]] = None
|
582
|
+
update_time: Optional[pulumi.Input[builtins.str]] = None,
|
583
|
+
upstreams: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ApplicationUpstreamArgs', 'ApplicationUpstreamArgsDict']]]]] = None) -> 'Application':
|
491
584
|
"""
|
492
585
|
Get an existing Application resource's state with the given name, id, and optional extra
|
493
586
|
properties used to qualify the lookup.
|
@@ -516,6 +609,7 @@ class Application(pulumi.CustomResource):
|
|
516
609
|
:param pulumi.Input[builtins.str] name: Identifier. Name of the resource.
|
517
610
|
:param pulumi.Input[builtins.str] security_gateways_id: Part of `parent`. See documentation of `projectsId`.
|
518
611
|
:param pulumi.Input[builtins.str] update_time: Output only. Timestamp when the resource was last modified.
|
612
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['ApplicationUpstreamArgs', 'ApplicationUpstreamArgsDict']]]] upstreams: Optional. List of which upstream resource(s) to forward traffic to.
|
519
613
|
"""
|
520
614
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
521
615
|
|
@@ -529,6 +623,7 @@ class Application(pulumi.CustomResource):
|
|
529
623
|
__props__.__dict__["project"] = project
|
530
624
|
__props__.__dict__["security_gateways_id"] = security_gateways_id
|
531
625
|
__props__.__dict__["update_time"] = update_time
|
626
|
+
__props__.__dict__["upstreams"] = upstreams
|
532
627
|
return Application(resource_name, opts=opts, __props__=__props__)
|
533
628
|
|
534
629
|
@property
|
@@ -606,3 +701,11 @@ class Application(pulumi.CustomResource):
|
|
606
701
|
"""
|
607
702
|
return pulumi.get(self, "update_time")
|
608
703
|
|
704
|
+
@property
|
705
|
+
@pulumi.getter
|
706
|
+
def upstreams(self) -> pulumi.Output[Optional[Sequence['outputs.ApplicationUpstream']]]:
|
707
|
+
"""
|
708
|
+
Optional. List of which upstream resource(s) to forward traffic to.
|
709
|
+
"""
|
710
|
+
return pulumi.get(self, "upstreams")
|
711
|
+
|
pulumi_gcp/beyondcorp/outputs.py
CHANGED
@@ -25,6 +25,9 @@ __all__ = [
|
|
25
25
|
'ApplicationEndpointMatcher',
|
26
26
|
'ApplicationIamBindingCondition',
|
27
27
|
'ApplicationIamMemberCondition',
|
28
|
+
'ApplicationUpstream',
|
29
|
+
'ApplicationUpstreamEgressPolicy',
|
30
|
+
'ApplicationUpstreamNetwork',
|
28
31
|
'SecurityGatewayHub',
|
29
32
|
'SecurityGatewayHubInternetGateway',
|
30
33
|
'SecurityGatewayIamBindingCondition',
|
@@ -367,6 +370,96 @@ class ApplicationIamMemberCondition(dict):
|
|
367
370
|
return pulumi.get(self, "description")
|
368
371
|
|
369
372
|
|
373
|
+
@pulumi.output_type
|
374
|
+
class ApplicationUpstream(dict):
|
375
|
+
@staticmethod
|
376
|
+
def __key_warning(key: str):
|
377
|
+
suggest = None
|
378
|
+
if key == "egressPolicy":
|
379
|
+
suggest = "egress_policy"
|
380
|
+
|
381
|
+
if suggest:
|
382
|
+
pulumi.log.warn(f"Key '{key}' not found in ApplicationUpstream. Access the value via the '{suggest}' property getter instead.")
|
383
|
+
|
384
|
+
def __getitem__(self, key: str) -> Any:
|
385
|
+
ApplicationUpstream.__key_warning(key)
|
386
|
+
return super().__getitem__(key)
|
387
|
+
|
388
|
+
def get(self, key: str, default = None) -> Any:
|
389
|
+
ApplicationUpstream.__key_warning(key)
|
390
|
+
return super().get(key, default)
|
391
|
+
|
392
|
+
def __init__(__self__, *,
|
393
|
+
egress_policy: Optional['outputs.ApplicationUpstreamEgressPolicy'] = None,
|
394
|
+
network: Optional['outputs.ApplicationUpstreamNetwork'] = None):
|
395
|
+
"""
|
396
|
+
:param 'ApplicationUpstreamEgressPolicyArgs' egress_policy: Optional. Routing policy information.
|
397
|
+
Structure is documented below.
|
398
|
+
:param 'ApplicationUpstreamNetworkArgs' network: Network to forward traffic to.
|
399
|
+
Structure is documented below.
|
400
|
+
"""
|
401
|
+
if egress_policy is not None:
|
402
|
+
pulumi.set(__self__, "egress_policy", egress_policy)
|
403
|
+
if network is not None:
|
404
|
+
pulumi.set(__self__, "network", network)
|
405
|
+
|
406
|
+
@property
|
407
|
+
@pulumi.getter(name="egressPolicy")
|
408
|
+
def egress_policy(self) -> Optional['outputs.ApplicationUpstreamEgressPolicy']:
|
409
|
+
"""
|
410
|
+
Optional. Routing policy information.
|
411
|
+
Structure is documented below.
|
412
|
+
"""
|
413
|
+
return pulumi.get(self, "egress_policy")
|
414
|
+
|
415
|
+
@property
|
416
|
+
@pulumi.getter
|
417
|
+
def network(self) -> Optional['outputs.ApplicationUpstreamNetwork']:
|
418
|
+
"""
|
419
|
+
Network to forward traffic to.
|
420
|
+
Structure is documented below.
|
421
|
+
"""
|
422
|
+
return pulumi.get(self, "network")
|
423
|
+
|
424
|
+
|
425
|
+
@pulumi.output_type
|
426
|
+
class ApplicationUpstreamEgressPolicy(dict):
|
427
|
+
def __init__(__self__, *,
|
428
|
+
regions: Sequence[builtins.str]):
|
429
|
+
"""
|
430
|
+
:param Sequence[builtins.str] regions: Required. List of regions where the application sends traffic to.
|
431
|
+
"""
|
432
|
+
pulumi.set(__self__, "regions", regions)
|
433
|
+
|
434
|
+
@property
|
435
|
+
@pulumi.getter
|
436
|
+
def regions(self) -> Sequence[builtins.str]:
|
437
|
+
"""
|
438
|
+
Required. List of regions where the application sends traffic to.
|
439
|
+
"""
|
440
|
+
return pulumi.get(self, "regions")
|
441
|
+
|
442
|
+
|
443
|
+
@pulumi.output_type
|
444
|
+
class ApplicationUpstreamNetwork(dict):
|
445
|
+
def __init__(__self__, *,
|
446
|
+
name: builtins.str):
|
447
|
+
"""
|
448
|
+
:param builtins.str name: Required. Network name is of the format:
|
449
|
+
`projects/{project}/global/networks/{network}`
|
450
|
+
"""
|
451
|
+
pulumi.set(__self__, "name", name)
|
452
|
+
|
453
|
+
@property
|
454
|
+
@pulumi.getter
|
455
|
+
def name(self) -> builtins.str:
|
456
|
+
"""
|
457
|
+
Required. Network name is of the format:
|
458
|
+
`projects/{project}/global/networks/{network}`
|
459
|
+
"""
|
460
|
+
return pulumi.get(self, "name")
|
461
|
+
|
462
|
+
|
370
463
|
@pulumi.output_type
|
371
464
|
class SecurityGatewayHub(dict):
|
372
465
|
@staticmethod
|
pulumi_gcp/bigtable/__init__.py
CHANGED
@@ -14,6 +14,8 @@ from .instance import *
|
|
14
14
|
from .instance_iam_binding import *
|
15
15
|
from .instance_iam_member import *
|
16
16
|
from .instance_iam_policy import *
|
17
|
+
from .logical_view import *
|
18
|
+
from .materialized_view import *
|
17
19
|
from .table import *
|
18
20
|
from .table_iam_binding import *
|
19
21
|
from .table_iam_member import *
|