pulumi-gcp 8.22.0a1741790977__py3-none-any.whl → 8.23.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +64 -0
- pulumi_gcp/alloydb/_inputs.py +93 -1
- pulumi_gcp/alloydb/outputs.py +128 -2
- pulumi_gcp/applicationintegration/client.py +18 -24
- pulumi_gcp/backupdisasterrecovery/_inputs.py +3 -3
- pulumi_gcp/backupdisasterrecovery/outputs.py +4 -4
- pulumi_gcp/bigquery/_inputs.py +20 -0
- pulumi_gcp/bigquery/outputs.py +12 -0
- pulumi_gcp/bigquery/table.py +61 -0
- pulumi_gcp/bigtable/table.py +7 -7
- pulumi_gcp/certificatemanager/certificate.py +53 -7
- pulumi_gcp/certificatemanager/outputs.py +8 -2
- pulumi_gcp/clouddeploy/_inputs.py +20 -0
- pulumi_gcp/clouddeploy/outputs.py +15 -1
- pulumi_gcp/cloudfunctions/function.py +11 -11
- pulumi_gcp/cloudfunctionsv2/function.py +24 -24
- pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +41 -2
- pulumi_gcp/cloudidentity/outputs.py +18 -38
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +600 -17
- pulumi_gcp/compute/backend_service.py +195 -7
- pulumi_gcp/compute/disk.py +108 -0
- pulumi_gcp/compute/firewall_policy.py +20 -0
- pulumi_gcp/compute/firewall_policy_association.py +28 -2
- pulumi_gcp/compute/get_backend_service.py +12 -1
- pulumi_gcp/compute/get_disk.py +23 -1
- pulumi_gcp/compute/get_region_disk.py +23 -1
- pulumi_gcp/compute/get_region_ssl_policy.py +203 -0
- pulumi_gcp/compute/outputs.py +623 -23
- pulumi_gcp/compute/region_backend_service.py +193 -7
- pulumi_gcp/compute/region_disk.py +114 -0
- pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
- pulumi_gcp/compute/shared_vpc_service_project.py +0 -4
- pulumi_gcp/compute/subnetwork.py +256 -1
- pulumi_gcp/compute/target_https_proxy.py +7 -7
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +6 -6
- pulumi_gcp/container/get_attached_versions.py +2 -2
- pulumi_gcp/container/outputs.py +8 -8
- pulumi_gcp/dataform/repository.py +49 -0
- pulumi_gcp/dataproc/get_metastore_service.py +26 -4
- pulumi_gcp/dataproc/metastore_federation.py +56 -0
- pulumi_gcp/dataproc/metastore_service.py +58 -2
- pulumi_gcp/datastream/_inputs.py +273 -0
- pulumi_gcp/datastream/connection_profile.py +54 -2
- pulumi_gcp/datastream/outputs.py +224 -0
- pulumi_gcp/eventarc/__init__.py +2 -0
- pulumi_gcp/eventarc/_inputs.py +1798 -0
- pulumi_gcp/eventarc/channel.py +85 -93
- pulumi_gcp/eventarc/google_api_source.py +997 -0
- pulumi_gcp/eventarc/outputs.py +1378 -0
- pulumi_gcp/eventarc/pipeline.py +1596 -0
- pulumi_gcp/firebase/__init__.py +1 -0
- pulumi_gcp/firebase/_inputs.py +154 -0
- pulumi_gcp/firebase/app_hosting_backend.py +1303 -0
- pulumi_gcp/firebase/data_connect_service.py +40 -2
- pulumi_gcp/firebase/hosting_version.py +2 -2
- pulumi_gcp/firebase/outputs.py +127 -0
- pulumi_gcp/iam/__init__.py +2 -0
- pulumi_gcp/iam/_inputs.py +51 -18
- pulumi_gcp/iam/folders_policy_binding.py +10 -26
- pulumi_gcp/iam/oauth_client.py +979 -0
- pulumi_gcp/iam/oauth_client_credential.py +641 -0
- pulumi_gcp/iam/organizations_policy_binding.py +8 -24
- pulumi_gcp/iam/outputs.py +34 -12
- pulumi_gcp/iam/principal_access_boundary_policy.py +58 -22
- pulumi_gcp/iam/projects_policy_binding.py +8 -24
- pulumi_gcp/kms/crypto_key_version.py +14 -7
- pulumi_gcp/kms/get_key_rings.py +39 -2
- pulumi_gcp/managedkafka/__init__.py +2 -0
- pulumi_gcp/managedkafka/_inputs.py +263 -0
- pulumi_gcp/managedkafka/connect_cluster.py +795 -0
- pulumi_gcp/managedkafka/connector.py +695 -0
- pulumi_gcp/managedkafka/outputs.py +248 -0
- pulumi_gcp/memorystore/instance.py +7 -7
- pulumi_gcp/monitoring/_inputs.py +15 -18
- pulumi_gcp/monitoring/alert_policy.py +46 -0
- pulumi_gcp/monitoring/outputs.py +10 -12
- pulumi_gcp/monitoring/uptime_check_config.py +2 -2
- pulumi_gcp/networksecurity/__init__.py +1 -0
- pulumi_gcp/networksecurity/_inputs.py +673 -18
- pulumi_gcp/networksecurity/backend_authentication_config.py +847 -0
- pulumi_gcp/networksecurity/gateway_security_policy.py +0 -7
- pulumi_gcp/networksecurity/intercept_deployment.py +178 -94
- pulumi_gcp/networksecurity/intercept_deployment_group.py +161 -77
- pulumi_gcp/networksecurity/intercept_endpoint_group.py +161 -66
- pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +137 -80
- pulumi_gcp/networksecurity/mirroring_deployment.py +200 -94
- pulumi_gcp/networksecurity/mirroring_deployment_group.py +181 -77
- pulumi_gcp/networksecurity/mirroring_endpoint_group.py +185 -80
- pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +165 -105
- pulumi_gcp/networksecurity/outputs.py +495 -12
- pulumi_gcp/networksecurity/tls_inspection_policy.py +14 -0
- pulumi_gcp/networkservices/endpoint_policy.py +12 -0
- pulumi_gcp/networkservices/gateway.py +242 -120
- pulumi_gcp/networkservices/grpc_route.py +12 -0
- pulumi_gcp/networkservices/http_route.py +16 -0
- pulumi_gcp/networkservices/mesh.py +16 -0
- pulumi_gcp/networkservices/service_binding.py +14 -0
- pulumi_gcp/networkservices/tcp_route.py +16 -0
- pulumi_gcp/networkservices/tls_route.py +12 -0
- pulumi_gcp/projects/__init__.py +2 -0
- pulumi_gcp/projects/get_iam_custom_role.py +198 -0
- pulumi_gcp/projects/get_iam_custom_roles.py +164 -0
- pulumi_gcp/projects/outputs.py +96 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/servicenetworking/peered_dns_domain.py +4 -0
- pulumi_gcp/sql/outputs.py +8 -8
- pulumi_gcp/storage/_inputs.py +14 -6
- pulumi_gcp/storage/insights_report_config.py +121 -20
- pulumi_gcp/storage/outputs.py +7 -4
- pulumi_gcp/tpu/_inputs.py +21 -1
- pulumi_gcp/tpu/outputs.py +13 -1
- pulumi_gcp/tpu/v2_vm.py +2 -0
- pulumi_gcp/vmwareengine/_inputs.py +6 -0
- pulumi_gcp/vmwareengine/outputs.py +8 -0
- pulumi_gcp/workflows/workflow.py +75 -7
- pulumi_gcp/workstations/workstation_cluster.py +137 -1
- {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/METADATA +2 -2
- {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/RECORD +124 -113
- {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/WHEEL +1 -1
- {pulumi_gcp-8.22.0a1741790977.dist-info → pulumi_gcp-8.23.0.dist-info}/top_level.txt +0 -0
@@ -426,6 +426,12 @@ class GrpcRoute(pulumi.CustomResource):
|
|
426
426
|
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['GrpcRouteRuleArgs', 'GrpcRouteRuleArgsDict']]]]] = None,
|
427
427
|
__props__=None):
|
428
428
|
"""
|
429
|
+
GrpcRoute is the resource defining how gRPC traffic routed by a Mesh or Gateway resource is routed.
|
430
|
+
|
431
|
+
To get more information about GrpcRoute, see:
|
432
|
+
|
433
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.grpcRoutes)
|
434
|
+
|
429
435
|
## Example Usage
|
430
436
|
|
431
437
|
### Network Services Grpc Route Basic
|
@@ -611,6 +617,12 @@ class GrpcRoute(pulumi.CustomResource):
|
|
611
617
|
args: GrpcRouteArgs,
|
612
618
|
opts: Optional[pulumi.ResourceOptions] = None):
|
613
619
|
"""
|
620
|
+
GrpcRoute is the resource defining how gRPC traffic routed by a Mesh or Gateway resource is routed.
|
621
|
+
|
622
|
+
To get more information about GrpcRoute, see:
|
623
|
+
|
624
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.grpcRoutes)
|
625
|
+
|
614
626
|
## Example Usage
|
615
627
|
|
616
628
|
### Network Services Grpc Route Basic
|
@@ -405,6 +405,14 @@ class HttpRoute(pulumi.CustomResource):
|
|
405
405
|
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['HttpRouteRuleArgs', 'HttpRouteRuleArgsDict']]]]] = None,
|
406
406
|
__props__=None):
|
407
407
|
"""
|
408
|
+
HttpRoute is the resource defining how HTTP traffic should be routed by a Mesh or Gateway resource.
|
409
|
+
|
410
|
+
To get more information about HttpRoute, see:
|
411
|
+
|
412
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.httpRoutes)
|
413
|
+
* How-to Guides
|
414
|
+
* [Setup HTTP Services](https://cloud.google.com/traffic-director/docs/set-up-envoy-http-mesh)
|
415
|
+
|
408
416
|
## Example Usage
|
409
417
|
|
410
418
|
### Network Services Http Route Basic
|
@@ -690,6 +698,14 @@ class HttpRoute(pulumi.CustomResource):
|
|
690
698
|
args: HttpRouteArgs,
|
691
699
|
opts: Optional[pulumi.ResourceOptions] = None):
|
692
700
|
"""
|
701
|
+
HttpRoute is the resource defining how HTTP traffic should be routed by a Mesh or Gateway resource.
|
702
|
+
|
703
|
+
To get more information about HttpRoute, see:
|
704
|
+
|
705
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.httpRoutes)
|
706
|
+
* How-to Guides
|
707
|
+
* [Setup HTTP Services](https://cloud.google.com/traffic-director/docs/set-up-envoy-http-mesh)
|
708
|
+
|
693
709
|
## Example Usage
|
694
710
|
|
695
711
|
### Network Services Http Route Basic
|
@@ -359,6 +359,14 @@ class Mesh(pulumi.CustomResource):
|
|
359
359
|
project: Optional[pulumi.Input[str]] = None,
|
360
360
|
__props__=None):
|
361
361
|
"""
|
362
|
+
Mesh represents a logical configuration grouping for workload to workload communication within a
|
363
|
+
service mesh. Routes that point to mesh dictate how requests are routed within this logical
|
364
|
+
mesh boundary.
|
365
|
+
|
366
|
+
To get more information about Mesh, see:
|
367
|
+
|
368
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.meshes)
|
369
|
+
|
362
370
|
## Example Usage
|
363
371
|
|
364
372
|
### Network Services Mesh Basic
|
@@ -449,6 +457,14 @@ class Mesh(pulumi.CustomResource):
|
|
449
457
|
args: Optional[MeshArgs] = None,
|
450
458
|
opts: Optional[pulumi.ResourceOptions] = None):
|
451
459
|
"""
|
460
|
+
Mesh represents a logical configuration grouping for workload to workload communication within a
|
461
|
+
service mesh. Routes that point to mesh dictate how requests are routed within this logical
|
462
|
+
mesh boundary.
|
463
|
+
|
464
|
+
To get more information about Mesh, see:
|
465
|
+
|
466
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.meshes)
|
467
|
+
|
452
468
|
## Example Usage
|
453
469
|
|
454
470
|
### Network Services Mesh Basic
|
@@ -297,6 +297,13 @@ class ServiceBinding(pulumi.CustomResource):
|
|
297
297
|
service: Optional[pulumi.Input[str]] = None,
|
298
298
|
__props__=None):
|
299
299
|
"""
|
300
|
+
ServiceBinding is the resource that defines a Service Directory Service to be used in a
|
301
|
+
BackendService resource.
|
302
|
+
|
303
|
+
To get more information about ServiceBinding, see:
|
304
|
+
|
305
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.serviceBindings)
|
306
|
+
|
300
307
|
## Example Usage
|
301
308
|
|
302
309
|
### Network Services Service Binding Basic
|
@@ -370,6 +377,13 @@ class ServiceBinding(pulumi.CustomResource):
|
|
370
377
|
args: ServiceBindingArgs,
|
371
378
|
opts: Optional[pulumi.ResourceOptions] = None):
|
372
379
|
"""
|
380
|
+
ServiceBinding is the resource that defines a Service Directory Service to be used in a
|
381
|
+
BackendService resource.
|
382
|
+
|
383
|
+
To get more information about ServiceBinding, see:
|
384
|
+
|
385
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.serviceBindings)
|
386
|
+
|
373
387
|
## Example Usage
|
374
388
|
|
375
389
|
### Network Services Service Binding Basic
|
@@ -377,6 +377,14 @@ class TcpRoute(pulumi.CustomResource):
|
|
377
377
|
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TcpRouteRuleArgs', 'TcpRouteRuleArgsDict']]]]] = None,
|
378
378
|
__props__=None):
|
379
379
|
"""
|
380
|
+
TcpRoute is the resource defining how TCP traffic should be routed by a Mesh/Gateway resource.
|
381
|
+
|
382
|
+
To get more information about TcpRoute, see:
|
383
|
+
|
384
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.tcpRoutes)
|
385
|
+
* How-to Guides
|
386
|
+
* [Setup TCP Services](https://cloud.google.com/traffic-director/docs/set-up-tcp-route)
|
387
|
+
|
380
388
|
## Example Usage
|
381
389
|
|
382
390
|
### Network Services Tcp Route Basic
|
@@ -578,6 +586,14 @@ class TcpRoute(pulumi.CustomResource):
|
|
578
586
|
args: TcpRouteArgs,
|
579
587
|
opts: Optional[pulumi.ResourceOptions] = None):
|
580
588
|
"""
|
589
|
+
TcpRoute is the resource defining how TCP traffic should be routed by a Mesh/Gateway resource.
|
590
|
+
|
591
|
+
To get more information about TcpRoute, see:
|
592
|
+
|
593
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.tcpRoutes)
|
594
|
+
* How-to Guides
|
595
|
+
* [Setup TCP Services](https://cloud.google.com/traffic-director/docs/set-up-tcp-route)
|
596
|
+
|
581
597
|
## Example Usage
|
582
598
|
|
583
599
|
### Network Services Tcp Route Basic
|
@@ -298,6 +298,12 @@ class TlsRoute(pulumi.CustomResource):
|
|
298
298
|
rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['TlsRouteRuleArgs', 'TlsRouteRuleArgsDict']]]]] = None,
|
299
299
|
__props__=None):
|
300
300
|
"""
|
301
|
+
TlsRoute defines how traffic should be routed based on SNI and other matching L3 attributes.
|
302
|
+
|
303
|
+
To get more information about TlsRoute, see:
|
304
|
+
|
305
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.tlsRoutes)
|
306
|
+
|
301
307
|
## Example Usage
|
302
308
|
|
303
309
|
### Network Services Tls Route Basic
|
@@ -452,6 +458,12 @@ class TlsRoute(pulumi.CustomResource):
|
|
452
458
|
args: TlsRouteArgs,
|
453
459
|
opts: Optional[pulumi.ResourceOptions] = None):
|
454
460
|
"""
|
461
|
+
TlsRoute defines how traffic should be routed based on SNI and other matching L3 attributes.
|
462
|
+
|
463
|
+
To get more information about TlsRoute, see:
|
464
|
+
|
465
|
+
* [API documentation](https://cloud.google.com/traffic-director/docs/reference/network-services/rest/v1beta1/projects.locations.tlsRoutes)
|
466
|
+
|
455
467
|
## Example Usage
|
456
468
|
|
457
469
|
### Network Services Tls Route Basic
|
pulumi_gcp/projects/__init__.py
CHANGED
@@ -9,6 +9,8 @@ from .access_approval_settings import *
|
|
9
9
|
from .api_key import *
|
10
10
|
from .default_service_accounts import *
|
11
11
|
from .get_ancestry import *
|
12
|
+
from .get_iam_custom_role import *
|
13
|
+
from .get_iam_custom_roles import *
|
12
14
|
from .get_iam_policy import *
|
13
15
|
from .get_organization_policy import *
|
14
16
|
from .get_project import *
|
@@ -0,0 +1,198 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
|
17
|
+
__all__ = [
|
18
|
+
'GetIamCustomRoleResult',
|
19
|
+
'AwaitableGetIamCustomRoleResult',
|
20
|
+
'get_iam_custom_role',
|
21
|
+
'get_iam_custom_role_output',
|
22
|
+
]
|
23
|
+
|
24
|
+
@pulumi.output_type
|
25
|
+
class GetIamCustomRoleResult:
|
26
|
+
"""
|
27
|
+
A collection of values returned by getIamCustomRole.
|
28
|
+
"""
|
29
|
+
def __init__(__self__, deleted=None, description=None, id=None, name=None, permissions=None, project=None, role_id=None, stage=None, title=None):
|
30
|
+
if deleted and not isinstance(deleted, bool):
|
31
|
+
raise TypeError("Expected argument 'deleted' to be a bool")
|
32
|
+
pulumi.set(__self__, "deleted", deleted)
|
33
|
+
if description and not isinstance(description, str):
|
34
|
+
raise TypeError("Expected argument 'description' to be a str")
|
35
|
+
pulumi.set(__self__, "description", description)
|
36
|
+
if id and not isinstance(id, str):
|
37
|
+
raise TypeError("Expected argument 'id' to be a str")
|
38
|
+
pulumi.set(__self__, "id", id)
|
39
|
+
if name and not isinstance(name, str):
|
40
|
+
raise TypeError("Expected argument 'name' to be a str")
|
41
|
+
pulumi.set(__self__, "name", name)
|
42
|
+
if permissions and not isinstance(permissions, list):
|
43
|
+
raise TypeError("Expected argument 'permissions' to be a list")
|
44
|
+
pulumi.set(__self__, "permissions", permissions)
|
45
|
+
if project and not isinstance(project, str):
|
46
|
+
raise TypeError("Expected argument 'project' to be a str")
|
47
|
+
pulumi.set(__self__, "project", project)
|
48
|
+
if role_id and not isinstance(role_id, str):
|
49
|
+
raise TypeError("Expected argument 'role_id' to be a str")
|
50
|
+
pulumi.set(__self__, "role_id", role_id)
|
51
|
+
if stage and not isinstance(stage, str):
|
52
|
+
raise TypeError("Expected argument 'stage' to be a str")
|
53
|
+
pulumi.set(__self__, "stage", stage)
|
54
|
+
if title and not isinstance(title, str):
|
55
|
+
raise TypeError("Expected argument 'title' to be a str")
|
56
|
+
pulumi.set(__self__, "title", title)
|
57
|
+
|
58
|
+
@property
|
59
|
+
@pulumi.getter
|
60
|
+
def deleted(self) -> bool:
|
61
|
+
return pulumi.get(self, "deleted")
|
62
|
+
|
63
|
+
@property
|
64
|
+
@pulumi.getter
|
65
|
+
def description(self) -> str:
|
66
|
+
return pulumi.get(self, "description")
|
67
|
+
|
68
|
+
@property
|
69
|
+
@pulumi.getter
|
70
|
+
def id(self) -> str:
|
71
|
+
"""
|
72
|
+
The provider-assigned unique ID for this managed resource.
|
73
|
+
"""
|
74
|
+
return pulumi.get(self, "id")
|
75
|
+
|
76
|
+
@property
|
77
|
+
@pulumi.getter
|
78
|
+
def name(self) -> str:
|
79
|
+
return pulumi.get(self, "name")
|
80
|
+
|
81
|
+
@property
|
82
|
+
@pulumi.getter
|
83
|
+
def permissions(self) -> Sequence[str]:
|
84
|
+
return pulumi.get(self, "permissions")
|
85
|
+
|
86
|
+
@property
|
87
|
+
@pulumi.getter
|
88
|
+
def project(self) -> Optional[str]:
|
89
|
+
return pulumi.get(self, "project")
|
90
|
+
|
91
|
+
@property
|
92
|
+
@pulumi.getter(name="roleId")
|
93
|
+
def role_id(self) -> str:
|
94
|
+
return pulumi.get(self, "role_id")
|
95
|
+
|
96
|
+
@property
|
97
|
+
@pulumi.getter
|
98
|
+
def stage(self) -> str:
|
99
|
+
return pulumi.get(self, "stage")
|
100
|
+
|
101
|
+
@property
|
102
|
+
@pulumi.getter
|
103
|
+
def title(self) -> str:
|
104
|
+
return pulumi.get(self, "title")
|
105
|
+
|
106
|
+
|
107
|
+
class AwaitableGetIamCustomRoleResult(GetIamCustomRoleResult):
|
108
|
+
# pylint: disable=using-constant-test
|
109
|
+
def __await__(self):
|
110
|
+
if False:
|
111
|
+
yield self
|
112
|
+
return GetIamCustomRoleResult(
|
113
|
+
deleted=self.deleted,
|
114
|
+
description=self.description,
|
115
|
+
id=self.id,
|
116
|
+
name=self.name,
|
117
|
+
permissions=self.permissions,
|
118
|
+
project=self.project,
|
119
|
+
role_id=self.role_id,
|
120
|
+
stage=self.stage,
|
121
|
+
title=self.title)
|
122
|
+
|
123
|
+
|
124
|
+
def get_iam_custom_role(project: Optional[str] = None,
|
125
|
+
role_id: Optional[str] = None,
|
126
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIamCustomRoleResult:
|
127
|
+
"""
|
128
|
+
Get information about a Google Cloud Project IAM Custom Role. Note that you must have the `roles/iam.roleViewer` role (or equivalent permissions) at the project level to use this datasource.
|
129
|
+
|
130
|
+
```python
|
131
|
+
import pulumi
|
132
|
+
import pulumi_gcp as gcp
|
133
|
+
|
134
|
+
example = gcp.projects.get_iam_custom_role(project="your-project-id",
|
135
|
+
role_id="your-role-id")
|
136
|
+
project = gcp.projects.IAMMember("project",
|
137
|
+
project="your-project-id",
|
138
|
+
role=example.name,
|
139
|
+
member="user:jane@example.com")
|
140
|
+
```
|
141
|
+
|
142
|
+
|
143
|
+
:param str project: The project were the custom role has been created in. Defaults to the provider project configuration.
|
144
|
+
:param str role_id: The role id that has been used for this role.
|
145
|
+
"""
|
146
|
+
__args__ = dict()
|
147
|
+
__args__['project'] = project
|
148
|
+
__args__['roleId'] = role_id
|
149
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
150
|
+
__ret__ = pulumi.runtime.invoke('gcp:projects/getIamCustomRole:getIamCustomRole', __args__, opts=opts, typ=GetIamCustomRoleResult).value
|
151
|
+
|
152
|
+
return AwaitableGetIamCustomRoleResult(
|
153
|
+
deleted=pulumi.get(__ret__, 'deleted'),
|
154
|
+
description=pulumi.get(__ret__, 'description'),
|
155
|
+
id=pulumi.get(__ret__, 'id'),
|
156
|
+
name=pulumi.get(__ret__, 'name'),
|
157
|
+
permissions=pulumi.get(__ret__, 'permissions'),
|
158
|
+
project=pulumi.get(__ret__, 'project'),
|
159
|
+
role_id=pulumi.get(__ret__, 'role_id'),
|
160
|
+
stage=pulumi.get(__ret__, 'stage'),
|
161
|
+
title=pulumi.get(__ret__, 'title'))
|
162
|
+
def get_iam_custom_role_output(project: Optional[pulumi.Input[Optional[str]]] = None,
|
163
|
+
role_id: Optional[pulumi.Input[str]] = None,
|
164
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamCustomRoleResult]:
|
165
|
+
"""
|
166
|
+
Get information about a Google Cloud Project IAM Custom Role. Note that you must have the `roles/iam.roleViewer` role (or equivalent permissions) at the project level to use this datasource.
|
167
|
+
|
168
|
+
```python
|
169
|
+
import pulumi
|
170
|
+
import pulumi_gcp as gcp
|
171
|
+
|
172
|
+
example = gcp.projects.get_iam_custom_role(project="your-project-id",
|
173
|
+
role_id="your-role-id")
|
174
|
+
project = gcp.projects.IAMMember("project",
|
175
|
+
project="your-project-id",
|
176
|
+
role=example.name,
|
177
|
+
member="user:jane@example.com")
|
178
|
+
```
|
179
|
+
|
180
|
+
|
181
|
+
:param str project: The project were the custom role has been created in. Defaults to the provider project configuration.
|
182
|
+
:param str role_id: The role id that has been used for this role.
|
183
|
+
"""
|
184
|
+
__args__ = dict()
|
185
|
+
__args__['project'] = project
|
186
|
+
__args__['roleId'] = role_id
|
187
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
188
|
+
__ret__ = pulumi.runtime.invoke_output('gcp:projects/getIamCustomRole:getIamCustomRole', __args__, opts=opts, typ=GetIamCustomRoleResult)
|
189
|
+
return __ret__.apply(lambda __response__: GetIamCustomRoleResult(
|
190
|
+
deleted=pulumi.get(__response__, 'deleted'),
|
191
|
+
description=pulumi.get(__response__, 'description'),
|
192
|
+
id=pulumi.get(__response__, 'id'),
|
193
|
+
name=pulumi.get(__response__, 'name'),
|
194
|
+
permissions=pulumi.get(__response__, 'permissions'),
|
195
|
+
project=pulumi.get(__response__, 'project'),
|
196
|
+
role_id=pulumi.get(__response__, 'role_id'),
|
197
|
+
stage=pulumi.get(__response__, 'stage'),
|
198
|
+
title=pulumi.get(__response__, 'title')))
|
@@ -0,0 +1,164 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import sys
|
8
|
+
import pulumi
|
9
|
+
import pulumi.runtime
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
11
|
+
if sys.version_info >= (3, 11):
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
13
|
+
else:
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
15
|
+
from .. import _utilities
|
16
|
+
from . import outputs
|
17
|
+
|
18
|
+
__all__ = [
|
19
|
+
'GetIamCustomRolesResult',
|
20
|
+
'AwaitableGetIamCustomRolesResult',
|
21
|
+
'get_iam_custom_roles',
|
22
|
+
'get_iam_custom_roles_output',
|
23
|
+
]
|
24
|
+
|
25
|
+
@pulumi.output_type
|
26
|
+
class GetIamCustomRolesResult:
|
27
|
+
"""
|
28
|
+
A collection of values returned by getIamCustomRoles.
|
29
|
+
"""
|
30
|
+
def __init__(__self__, id=None, project=None, roles=None, show_deleted=None, view=None):
|
31
|
+
if id and not isinstance(id, str):
|
32
|
+
raise TypeError("Expected argument 'id' to be a str")
|
33
|
+
pulumi.set(__self__, "id", id)
|
34
|
+
if project and not isinstance(project, str):
|
35
|
+
raise TypeError("Expected argument 'project' to be a str")
|
36
|
+
pulumi.set(__self__, "project", project)
|
37
|
+
if roles and not isinstance(roles, list):
|
38
|
+
raise TypeError("Expected argument 'roles' to be a list")
|
39
|
+
pulumi.set(__self__, "roles", roles)
|
40
|
+
if show_deleted and not isinstance(show_deleted, bool):
|
41
|
+
raise TypeError("Expected argument 'show_deleted' to be a bool")
|
42
|
+
pulumi.set(__self__, "show_deleted", show_deleted)
|
43
|
+
if view and not isinstance(view, str):
|
44
|
+
raise TypeError("Expected argument 'view' to be a str")
|
45
|
+
pulumi.set(__self__, "view", view)
|
46
|
+
|
47
|
+
@property
|
48
|
+
@pulumi.getter
|
49
|
+
def id(self) -> str:
|
50
|
+
"""
|
51
|
+
The provider-assigned unique ID for this managed resource.
|
52
|
+
"""
|
53
|
+
return pulumi.get(self, "id")
|
54
|
+
|
55
|
+
@property
|
56
|
+
@pulumi.getter
|
57
|
+
def project(self) -> Optional[str]:
|
58
|
+
return pulumi.get(self, "project")
|
59
|
+
|
60
|
+
@property
|
61
|
+
@pulumi.getter
|
62
|
+
def roles(self) -> Sequence['outputs.GetIamCustomRolesRoleResult']:
|
63
|
+
"""
|
64
|
+
A list of all retrieved custom roles roles. Structure is defined below.
|
65
|
+
"""
|
66
|
+
return pulumi.get(self, "roles")
|
67
|
+
|
68
|
+
@property
|
69
|
+
@pulumi.getter(name="showDeleted")
|
70
|
+
def show_deleted(self) -> Optional[bool]:
|
71
|
+
return pulumi.get(self, "show_deleted")
|
72
|
+
|
73
|
+
@property
|
74
|
+
@pulumi.getter
|
75
|
+
def view(self) -> Optional[str]:
|
76
|
+
return pulumi.get(self, "view")
|
77
|
+
|
78
|
+
|
79
|
+
class AwaitableGetIamCustomRolesResult(GetIamCustomRolesResult):
|
80
|
+
# pylint: disable=using-constant-test
|
81
|
+
def __await__(self):
|
82
|
+
if False:
|
83
|
+
yield self
|
84
|
+
return GetIamCustomRolesResult(
|
85
|
+
id=self.id,
|
86
|
+
project=self.project,
|
87
|
+
roles=self.roles,
|
88
|
+
show_deleted=self.show_deleted,
|
89
|
+
view=self.view)
|
90
|
+
|
91
|
+
|
92
|
+
def get_iam_custom_roles(project: Optional[str] = None,
|
93
|
+
show_deleted: Optional[bool] = None,
|
94
|
+
view: Optional[str] = None,
|
95
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIamCustomRolesResult:
|
96
|
+
"""
|
97
|
+
Get information about Google Cloud IAM Custom Roles from a project.
|
98
|
+
Note that you must have the `roles/iam.roleViewer`.
|
99
|
+
See [the official documentation](https://cloud.google.com/iam/docs/creating-custom-roles)
|
100
|
+
and [API](https://cloud.google.com/iam/docs/reference/rest/v1/projects.roles/list).
|
101
|
+
|
102
|
+
```python
|
103
|
+
import pulumi
|
104
|
+
import pulumi_gcp as gcp
|
105
|
+
|
106
|
+
example = gcp.projects.get_iam_custom_roles(project="your-project-id",
|
107
|
+
show_deleted=True,
|
108
|
+
view="FULL")
|
109
|
+
```
|
110
|
+
|
111
|
+
|
112
|
+
:param str project: The project were the custom role has been created in. Defaults to the provider project configuration.
|
113
|
+
:param bool show_deleted: Include Roles that have been deleted. Defaults to `false`.
|
114
|
+
:param str view: When `"FULL"` is specified, the `permissions` field is returned, which includes a list of all permissions in the role. The default value is `"BASIC"`, which does not return the `permissions`.
|
115
|
+
"""
|
116
|
+
__args__ = dict()
|
117
|
+
__args__['project'] = project
|
118
|
+
__args__['showDeleted'] = show_deleted
|
119
|
+
__args__['view'] = view
|
120
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
121
|
+
__ret__ = pulumi.runtime.invoke('gcp:projects/getIamCustomRoles:getIamCustomRoles', __args__, opts=opts, typ=GetIamCustomRolesResult).value
|
122
|
+
|
123
|
+
return AwaitableGetIamCustomRolesResult(
|
124
|
+
id=pulumi.get(__ret__, 'id'),
|
125
|
+
project=pulumi.get(__ret__, 'project'),
|
126
|
+
roles=pulumi.get(__ret__, 'roles'),
|
127
|
+
show_deleted=pulumi.get(__ret__, 'show_deleted'),
|
128
|
+
view=pulumi.get(__ret__, 'view'))
|
129
|
+
def get_iam_custom_roles_output(project: Optional[pulumi.Input[Optional[str]]] = None,
|
130
|
+
show_deleted: Optional[pulumi.Input[Optional[bool]]] = None,
|
131
|
+
view: Optional[pulumi.Input[Optional[str]]] = None,
|
132
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetIamCustomRolesResult]:
|
133
|
+
"""
|
134
|
+
Get information about Google Cloud IAM Custom Roles from a project.
|
135
|
+
Note that you must have the `roles/iam.roleViewer`.
|
136
|
+
See [the official documentation](https://cloud.google.com/iam/docs/creating-custom-roles)
|
137
|
+
and [API](https://cloud.google.com/iam/docs/reference/rest/v1/projects.roles/list).
|
138
|
+
|
139
|
+
```python
|
140
|
+
import pulumi
|
141
|
+
import pulumi_gcp as gcp
|
142
|
+
|
143
|
+
example = gcp.projects.get_iam_custom_roles(project="your-project-id",
|
144
|
+
show_deleted=True,
|
145
|
+
view="FULL")
|
146
|
+
```
|
147
|
+
|
148
|
+
|
149
|
+
:param str project: The project were the custom role has been created in. Defaults to the provider project configuration.
|
150
|
+
:param bool show_deleted: Include Roles that have been deleted. Defaults to `false`.
|
151
|
+
:param str view: When `"FULL"` is specified, the `permissions` field is returned, which includes a list of all permissions in the role. The default value is `"BASIC"`, which does not return the `permissions`.
|
152
|
+
"""
|
153
|
+
__args__ = dict()
|
154
|
+
__args__['project'] = project
|
155
|
+
__args__['showDeleted'] = show_deleted
|
156
|
+
__args__['view'] = view
|
157
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
158
|
+
__ret__ = pulumi.runtime.invoke_output('gcp:projects/getIamCustomRoles:getIamCustomRoles', __args__, opts=opts, typ=GetIamCustomRolesResult)
|
159
|
+
return __ret__.apply(lambda __response__: GetIamCustomRolesResult(
|
160
|
+
id=pulumi.get(__response__, 'id'),
|
161
|
+
project=pulumi.get(__response__, 'project'),
|
162
|
+
roles=pulumi.get(__response__, 'roles'),
|
163
|
+
show_deleted=pulumi.get(__response__, 'show_deleted'),
|
164
|
+
view=pulumi.get(__response__, 'view')))
|
pulumi_gcp/projects/outputs.py
CHANGED
@@ -33,6 +33,7 @@ __all__ = [
|
|
33
33
|
'OrganizationPolicyListPolicyDeny',
|
34
34
|
'OrganizationPolicyRestorePolicy',
|
35
35
|
'GetAncestryAncestorResult',
|
36
|
+
'GetIamCustomRolesRoleResult',
|
36
37
|
'GetOrganizationPolicyBooleanPolicyResult',
|
37
38
|
'GetOrganizationPolicyListPolicyResult',
|
38
39
|
'GetOrganizationPolicyListPolicyAllowResult',
|
@@ -786,6 +787,101 @@ class GetAncestryAncestorResult(dict):
|
|
786
787
|
return pulumi.get(self, "type")
|
787
788
|
|
788
789
|
|
790
|
+
@pulumi.output_type
|
791
|
+
class GetIamCustomRolesRoleResult(dict):
|
792
|
+
def __init__(__self__, *,
|
793
|
+
deleted: bool,
|
794
|
+
description: str,
|
795
|
+
id: str,
|
796
|
+
name: str,
|
797
|
+
permissions: Sequence[str],
|
798
|
+
role_id: str,
|
799
|
+
stage: str,
|
800
|
+
title: str):
|
801
|
+
"""
|
802
|
+
:param bool deleted: The current deleted state of the role.
|
803
|
+
:param str description: A human-readable description for the role.
|
804
|
+
:param str id: an identifier for the resource with the format `projects/{{project}}/roles/{{role_id}}`.
|
805
|
+
:param str name: The name of the role in the format `projects/{{project}}/roles/{{role_id}}`. Like `id`, this field can be used as a reference in other resources such as IAM role bindings.
|
806
|
+
:param Sequence[str] permissions: The names of the permissions this role grants when bound in an IAM policy.
|
807
|
+
:param str role_id: The camel case role id used for this role.
|
808
|
+
:param str stage: The current launch stage of the role. List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
|
809
|
+
:param str title: A human-readable title for the role.
|
810
|
+
"""
|
811
|
+
pulumi.set(__self__, "deleted", deleted)
|
812
|
+
pulumi.set(__self__, "description", description)
|
813
|
+
pulumi.set(__self__, "id", id)
|
814
|
+
pulumi.set(__self__, "name", name)
|
815
|
+
pulumi.set(__self__, "permissions", permissions)
|
816
|
+
pulumi.set(__self__, "role_id", role_id)
|
817
|
+
pulumi.set(__self__, "stage", stage)
|
818
|
+
pulumi.set(__self__, "title", title)
|
819
|
+
|
820
|
+
@property
|
821
|
+
@pulumi.getter
|
822
|
+
def deleted(self) -> bool:
|
823
|
+
"""
|
824
|
+
The current deleted state of the role.
|
825
|
+
"""
|
826
|
+
return pulumi.get(self, "deleted")
|
827
|
+
|
828
|
+
@property
|
829
|
+
@pulumi.getter
|
830
|
+
def description(self) -> str:
|
831
|
+
"""
|
832
|
+
A human-readable description for the role.
|
833
|
+
"""
|
834
|
+
return pulumi.get(self, "description")
|
835
|
+
|
836
|
+
@property
|
837
|
+
@pulumi.getter
|
838
|
+
def id(self) -> str:
|
839
|
+
"""
|
840
|
+
an identifier for the resource with the format `projects/{{project}}/roles/{{role_id}}`.
|
841
|
+
"""
|
842
|
+
return pulumi.get(self, "id")
|
843
|
+
|
844
|
+
@property
|
845
|
+
@pulumi.getter
|
846
|
+
def name(self) -> str:
|
847
|
+
"""
|
848
|
+
The name of the role in the format `projects/{{project}}/roles/{{role_id}}`. Like `id`, this field can be used as a reference in other resources such as IAM role bindings.
|
849
|
+
"""
|
850
|
+
return pulumi.get(self, "name")
|
851
|
+
|
852
|
+
@property
|
853
|
+
@pulumi.getter
|
854
|
+
def permissions(self) -> Sequence[str]:
|
855
|
+
"""
|
856
|
+
The names of the permissions this role grants when bound in an IAM policy.
|
857
|
+
"""
|
858
|
+
return pulumi.get(self, "permissions")
|
859
|
+
|
860
|
+
@property
|
861
|
+
@pulumi.getter(name="roleId")
|
862
|
+
def role_id(self) -> str:
|
863
|
+
"""
|
864
|
+
The camel case role id used for this role.
|
865
|
+
"""
|
866
|
+
return pulumi.get(self, "role_id")
|
867
|
+
|
868
|
+
@property
|
869
|
+
@pulumi.getter
|
870
|
+
def stage(self) -> str:
|
871
|
+
"""
|
872
|
+
The current launch stage of the role. List of possible stages is [here](https://cloud.google.com/iam/reference/rest/v1/organizations.roles#Role.RoleLaunchStage).
|
873
|
+
"""
|
874
|
+
return pulumi.get(self, "stage")
|
875
|
+
|
876
|
+
@property
|
877
|
+
@pulumi.getter
|
878
|
+
def title(self) -> str:
|
879
|
+
"""
|
880
|
+
A human-readable title for the role.
|
881
|
+
"""
|
882
|
+
return pulumi.get(self, "title")
|
883
|
+
|
884
|
+
|
789
885
|
@pulumi.output_type
|
790
886
|
class GetOrganizationPolicyBooleanPolicyResult(dict):
|
791
887
|
def __init__(__self__, *,
|