pulumi-gcp 8.24.0a1743057423__py3-none-any.whl → 8.24.0a1743177741__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 +27 -0
- pulumi_gcp/bigquery/_inputs.py +158 -0
- pulumi_gcp/bigquery/outputs.py +115 -0
- pulumi_gcp/bigquery/reservation.py +189 -1
- pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
- pulumi_gcp/chronicle/data_access_label.py +16 -0
- pulumi_gcp/cloudrunv2/service.py +14 -14
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +616 -18
- pulumi_gcp/compute/get_images.py +172 -0
- pulumi_gcp/compute/get_resource_policy.py +15 -4
- pulumi_gcp/compute/image.py +54 -0
- pulumi_gcp/compute/interconnect.py +14 -7
- pulumi_gcp/compute/outputs.py +710 -18
- pulumi_gcp/compute/resource_policy.py +169 -3
- pulumi_gcp/compute/router_route_policy.py +16 -0
- pulumi_gcp/config/__init__.pyi +6 -0
- pulumi_gcp/config/vars.py +12 -0
- pulumi_gcp/container/_inputs.py +262 -1
- pulumi_gcp/container/cluster.py +54 -0
- pulumi_gcp/container/get_cluster.py +12 -1
- pulumi_gcp/container/outputs.py +297 -2
- pulumi_gcp/dataproc/_inputs.py +23 -0
- pulumi_gcp/dataproc/outputs.py +27 -0
- pulumi_gcp/lustre/__init__.py +8 -0
- pulumi_gcp/lustre/instance.py +983 -0
- pulumi_gcp/memorystore/_inputs.py +419 -0
- pulumi_gcp/memorystore/get_instance.py +23 -1
- pulumi_gcp/memorystore/instance.py +137 -7
- pulumi_gcp/memorystore/outputs.py +544 -0
- pulumi_gcp/networkmanagement/_inputs.py +422 -91
- pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
- pulumi_gcp/networkmanagement/outputs.py +280 -61
- pulumi_gcp/networksecurity/_inputs.py +392 -0
- pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
- pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
- pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
- pulumi_gcp/networksecurity/outputs.py +240 -0
- pulumi_gcp/organizations/__init__.py +1 -0
- pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
- pulumi_gcp/osconfig/__init__.py +1 -0
- pulumi_gcp/osconfig/_inputs.py +5413 -0
- pulumi_gcp/osconfig/outputs.py +3962 -0
- pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
- pulumi_gcp/provider.py +60 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/storage/__init__.py +2 -0
- pulumi_gcp/storage/_inputs.py +726 -0
- pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
- pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
- pulumi_gcp/storage/outputs.py +716 -0
- {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/RECORD +55 -48
- {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.24.0a1743057423.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/top_level.txt +0 -0
@@ -58,7 +58,12 @@ __all__ = [
|
|
58
58
|
'ClientTlsPolicyServerValidationCaCertificateProviderInstance',
|
59
59
|
'ClientTlsPolicyServerValidationCaGrpcEndpoint',
|
60
60
|
'InterceptDeploymentGroupConnectedEndpointGroup',
|
61
|
+
'InterceptDeploymentGroupLocation',
|
62
|
+
'InterceptEndpointGroupAssociation',
|
63
|
+
'InterceptEndpointGroupAssociationLocation',
|
61
64
|
'InterceptEndpointGroupAssociationLocationsDetail',
|
65
|
+
'InterceptEndpointGroupConnectedDeploymentGroup',
|
66
|
+
'InterceptEndpointGroupConnectedDeploymentGroupLocation',
|
62
67
|
'MirroringDeploymentGroupConnectedEndpointGroup',
|
63
68
|
'MirroringEndpointGroupAssociationLocationsDetail',
|
64
69
|
'SecurityProfileCustomInterceptProfile',
|
@@ -2431,6 +2436,159 @@ class InterceptDeploymentGroupConnectedEndpointGroup(dict):
|
|
2431
2436
|
return pulumi.get(self, "name")
|
2432
2437
|
|
2433
2438
|
|
2439
|
+
@pulumi.output_type
|
2440
|
+
class InterceptDeploymentGroupLocation(dict):
|
2441
|
+
def __init__(__self__, *,
|
2442
|
+
location: Optional[str] = None,
|
2443
|
+
state: Optional[str] = None):
|
2444
|
+
"""
|
2445
|
+
:param str location: The cloud location of the deployment group, currently restricted to `global`.
|
2446
|
+
:param str state: (Output)
|
2447
|
+
The current state of the association in this location.
|
2448
|
+
Possible values:
|
2449
|
+
STATE_UNSPECIFIED
|
2450
|
+
ACTIVE
|
2451
|
+
OUT_OF_SYNC
|
2452
|
+
"""
|
2453
|
+
if location is not None:
|
2454
|
+
pulumi.set(__self__, "location", location)
|
2455
|
+
if state is not None:
|
2456
|
+
pulumi.set(__self__, "state", state)
|
2457
|
+
|
2458
|
+
@property
|
2459
|
+
@pulumi.getter
|
2460
|
+
def location(self) -> Optional[str]:
|
2461
|
+
"""
|
2462
|
+
The cloud location of the deployment group, currently restricted to `global`.
|
2463
|
+
"""
|
2464
|
+
return pulumi.get(self, "location")
|
2465
|
+
|
2466
|
+
@property
|
2467
|
+
@pulumi.getter
|
2468
|
+
def state(self) -> Optional[str]:
|
2469
|
+
"""
|
2470
|
+
(Output)
|
2471
|
+
The current state of the association in this location.
|
2472
|
+
Possible values:
|
2473
|
+
STATE_UNSPECIFIED
|
2474
|
+
ACTIVE
|
2475
|
+
OUT_OF_SYNC
|
2476
|
+
"""
|
2477
|
+
return pulumi.get(self, "state")
|
2478
|
+
|
2479
|
+
|
2480
|
+
@pulumi.output_type
|
2481
|
+
class InterceptEndpointGroupAssociation(dict):
|
2482
|
+
def __init__(__self__, *,
|
2483
|
+
name: Optional[str] = None,
|
2484
|
+
network: Optional[str] = None,
|
2485
|
+
state: Optional[str] = None):
|
2486
|
+
"""
|
2487
|
+
:param str name: (Output)
|
2488
|
+
The connected deployment group's resource name, for example:
|
2489
|
+
`projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
|
2490
|
+
See https://google.aip.dev/124.
|
2491
|
+
:param str network: (Output)
|
2492
|
+
The associated network, for example:
|
2493
|
+
projects/123456789/global/networks/my-network.
|
2494
|
+
See https://google.aip.dev/124.
|
2495
|
+
:param str state: (Output)
|
2496
|
+
The current state of the association in this location.
|
2497
|
+
Possible values:
|
2498
|
+
STATE_UNSPECIFIED
|
2499
|
+
ACTIVE
|
2500
|
+
OUT_OF_SYNC
|
2501
|
+
"""
|
2502
|
+
if name is not None:
|
2503
|
+
pulumi.set(__self__, "name", name)
|
2504
|
+
if network is not None:
|
2505
|
+
pulumi.set(__self__, "network", network)
|
2506
|
+
if state is not None:
|
2507
|
+
pulumi.set(__self__, "state", state)
|
2508
|
+
|
2509
|
+
@property
|
2510
|
+
@pulumi.getter
|
2511
|
+
def name(self) -> Optional[str]:
|
2512
|
+
"""
|
2513
|
+
(Output)
|
2514
|
+
The connected deployment group's resource name, for example:
|
2515
|
+
`projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
|
2516
|
+
See https://google.aip.dev/124.
|
2517
|
+
"""
|
2518
|
+
return pulumi.get(self, "name")
|
2519
|
+
|
2520
|
+
@property
|
2521
|
+
@pulumi.getter
|
2522
|
+
def network(self) -> Optional[str]:
|
2523
|
+
"""
|
2524
|
+
(Output)
|
2525
|
+
The associated network, for example:
|
2526
|
+
projects/123456789/global/networks/my-network.
|
2527
|
+
See https://google.aip.dev/124.
|
2528
|
+
"""
|
2529
|
+
return pulumi.get(self, "network")
|
2530
|
+
|
2531
|
+
@property
|
2532
|
+
@pulumi.getter
|
2533
|
+
def state(self) -> Optional[str]:
|
2534
|
+
"""
|
2535
|
+
(Output)
|
2536
|
+
The current state of the association in this location.
|
2537
|
+
Possible values:
|
2538
|
+
STATE_UNSPECIFIED
|
2539
|
+
ACTIVE
|
2540
|
+
OUT_OF_SYNC
|
2541
|
+
"""
|
2542
|
+
return pulumi.get(self, "state")
|
2543
|
+
|
2544
|
+
|
2545
|
+
@pulumi.output_type
|
2546
|
+
class InterceptEndpointGroupAssociationLocation(dict):
|
2547
|
+
def __init__(__self__, *,
|
2548
|
+
location: Optional[str] = None,
|
2549
|
+
state: Optional[str] = None):
|
2550
|
+
"""
|
2551
|
+
:param str location: The cloud location of the association, currently restricted to `global`.
|
2552
|
+
|
2553
|
+
|
2554
|
+
- - -
|
2555
|
+
:param str state: (Output)
|
2556
|
+
The current state of the association in this location.
|
2557
|
+
Possible values:
|
2558
|
+
STATE_UNSPECIFIED
|
2559
|
+
ACTIVE
|
2560
|
+
OUT_OF_SYNC
|
2561
|
+
"""
|
2562
|
+
if location is not None:
|
2563
|
+
pulumi.set(__self__, "location", location)
|
2564
|
+
if state is not None:
|
2565
|
+
pulumi.set(__self__, "state", state)
|
2566
|
+
|
2567
|
+
@property
|
2568
|
+
@pulumi.getter
|
2569
|
+
def location(self) -> Optional[str]:
|
2570
|
+
"""
|
2571
|
+
The cloud location of the association, currently restricted to `global`.
|
2572
|
+
|
2573
|
+
|
2574
|
+
- - -
|
2575
|
+
"""
|
2576
|
+
return pulumi.get(self, "location")
|
2577
|
+
|
2578
|
+
@property
|
2579
|
+
@pulumi.getter
|
2580
|
+
def state(self) -> Optional[str]:
|
2581
|
+
"""
|
2582
|
+
(Output)
|
2583
|
+
The current state of the association in this location.
|
2584
|
+
Possible values:
|
2585
|
+
STATE_UNSPECIFIED
|
2586
|
+
ACTIVE
|
2587
|
+
OUT_OF_SYNC
|
2588
|
+
"""
|
2589
|
+
return pulumi.get(self, "state")
|
2590
|
+
|
2591
|
+
|
2434
2592
|
@pulumi.output_type
|
2435
2593
|
class InterceptEndpointGroupAssociationLocationsDetail(dict):
|
2436
2594
|
def __init__(__self__, *,
|
@@ -2478,6 +2636,88 @@ class InterceptEndpointGroupAssociationLocationsDetail(dict):
|
|
2478
2636
|
return pulumi.get(self, "state")
|
2479
2637
|
|
2480
2638
|
|
2639
|
+
@pulumi.output_type
|
2640
|
+
class InterceptEndpointGroupConnectedDeploymentGroup(dict):
|
2641
|
+
def __init__(__self__, *,
|
2642
|
+
locations: Optional[Sequence['outputs.InterceptEndpointGroupConnectedDeploymentGroupLocation']] = None,
|
2643
|
+
name: Optional[str] = None):
|
2644
|
+
"""
|
2645
|
+
:param Sequence['InterceptEndpointGroupConnectedDeploymentGroupLocationArgs'] locations: (Output)
|
2646
|
+
The list of locations where the deployment group is present.
|
2647
|
+
Structure is documented below.
|
2648
|
+
:param str name: (Output)
|
2649
|
+
The connected deployment group's resource name, for example:
|
2650
|
+
`projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
|
2651
|
+
See https://google.aip.dev/124.
|
2652
|
+
"""
|
2653
|
+
if locations is not None:
|
2654
|
+
pulumi.set(__self__, "locations", locations)
|
2655
|
+
if name is not None:
|
2656
|
+
pulumi.set(__self__, "name", name)
|
2657
|
+
|
2658
|
+
@property
|
2659
|
+
@pulumi.getter
|
2660
|
+
def locations(self) -> Optional[Sequence['outputs.InterceptEndpointGroupConnectedDeploymentGroupLocation']]:
|
2661
|
+
"""
|
2662
|
+
(Output)
|
2663
|
+
The list of locations where the deployment group is present.
|
2664
|
+
Structure is documented below.
|
2665
|
+
"""
|
2666
|
+
return pulumi.get(self, "locations")
|
2667
|
+
|
2668
|
+
@property
|
2669
|
+
@pulumi.getter
|
2670
|
+
def name(self) -> Optional[str]:
|
2671
|
+
"""
|
2672
|
+
(Output)
|
2673
|
+
The connected deployment group's resource name, for example:
|
2674
|
+
`projects/123456789/locations/global/interceptDeploymentGroups/my-dg`.
|
2675
|
+
See https://google.aip.dev/124.
|
2676
|
+
"""
|
2677
|
+
return pulumi.get(self, "name")
|
2678
|
+
|
2679
|
+
|
2680
|
+
@pulumi.output_type
|
2681
|
+
class InterceptEndpointGroupConnectedDeploymentGroupLocation(dict):
|
2682
|
+
def __init__(__self__, *,
|
2683
|
+
location: Optional[str] = None,
|
2684
|
+
state: Optional[str] = None):
|
2685
|
+
"""
|
2686
|
+
:param str location: The cloud location of the endpoint group, currently restricted to `global`.
|
2687
|
+
:param str state: (Output)
|
2688
|
+
The current state of the association in this location.
|
2689
|
+
Possible values:
|
2690
|
+
STATE_UNSPECIFIED
|
2691
|
+
ACTIVE
|
2692
|
+
OUT_OF_SYNC
|
2693
|
+
"""
|
2694
|
+
if location is not None:
|
2695
|
+
pulumi.set(__self__, "location", location)
|
2696
|
+
if state is not None:
|
2697
|
+
pulumi.set(__self__, "state", state)
|
2698
|
+
|
2699
|
+
@property
|
2700
|
+
@pulumi.getter
|
2701
|
+
def location(self) -> Optional[str]:
|
2702
|
+
"""
|
2703
|
+
The cloud location of the endpoint group, currently restricted to `global`.
|
2704
|
+
"""
|
2705
|
+
return pulumi.get(self, "location")
|
2706
|
+
|
2707
|
+
@property
|
2708
|
+
@pulumi.getter
|
2709
|
+
def state(self) -> Optional[str]:
|
2710
|
+
"""
|
2711
|
+
(Output)
|
2712
|
+
The current state of the association in this location.
|
2713
|
+
Possible values:
|
2714
|
+
STATE_UNSPECIFIED
|
2715
|
+
ACTIVE
|
2716
|
+
OUT_OF_SYNC
|
2717
|
+
"""
|
2718
|
+
return pulumi.get(self, "state")
|
2719
|
+
|
2720
|
+
|
2481
2721
|
@pulumi.output_type
|
2482
2722
|
class MirroringDeploymentGroupConnectedEndpointGroup(dict):
|
2483
2723
|
def __init__(__self__, *,
|
@@ -13,6 +13,7 @@ from .get_client_config import *
|
|
13
13
|
from .get_client_open_id_user_info import *
|
14
14
|
from .get_folder import *
|
15
15
|
from .get_folders import *
|
16
|
+
from .get_iam_custom_role import *
|
16
17
|
from .get_iam_policy import *
|
17
18
|
from .get_organization import *
|
18
19
|
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, org_id=None, permissions=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 org_id and not isinstance(org_id, str):
|
43
|
+
raise TypeError("Expected argument 'org_id' to be a str")
|
44
|
+
pulumi.set(__self__, "org_id", org_id)
|
45
|
+
if permissions and not isinstance(permissions, list):
|
46
|
+
raise TypeError("Expected argument 'permissions' to be a list")
|
47
|
+
pulumi.set(__self__, "permissions", permissions)
|
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(name="orgId")
|
83
|
+
def org_id(self) -> str:
|
84
|
+
return pulumi.get(self, "org_id")
|
85
|
+
|
86
|
+
@property
|
87
|
+
@pulumi.getter
|
88
|
+
def permissions(self) -> Sequence[str]:
|
89
|
+
return pulumi.get(self, "permissions")
|
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
|
+
org_id=self.org_id,
|
118
|
+
permissions=self.permissions,
|
119
|
+
role_id=self.role_id,
|
120
|
+
stage=self.stage,
|
121
|
+
title=self.title)
|
122
|
+
|
123
|
+
|
124
|
+
def get_iam_custom_role(org_id: Optional[str] = None,
|
125
|
+
role_id: Optional[str] = None,
|
126
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetIamCustomRoleResult:
|
127
|
+
"""
|
128
|
+
Get information about a Google Cloud Organization IAM Custom Role. Note that you must have the `roles/iam.organizationRoleViewer` role (or equivalent permissions) at the organization level to use this datasource.
|
129
|
+
|
130
|
+
```python
|
131
|
+
import pulumi
|
132
|
+
import pulumi_gcp as gcp
|
133
|
+
|
134
|
+
example = gcp.organizations.get_iam_custom_role(org_id="1234567890",
|
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 org_id: The numeric ID of the organization in which you want to create a custom role.
|
144
|
+
:param str role_id: The role id that has been used for this role.
|
145
|
+
"""
|
146
|
+
__args__ = dict()
|
147
|
+
__args__['orgId'] = org_id
|
148
|
+
__args__['roleId'] = role_id
|
149
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
150
|
+
__ret__ = pulumi.runtime.invoke('gcp:organizations/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
|
+
org_id=pulumi.get(__ret__, 'org_id'),
|
158
|
+
permissions=pulumi.get(__ret__, 'permissions'),
|
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(org_id: Optional[pulumi.Input[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 Organization IAM Custom Role. Note that you must have the `roles/iam.organizationRoleViewer` role (or equivalent permissions) at the organization level to use this datasource.
|
167
|
+
|
168
|
+
```python
|
169
|
+
import pulumi
|
170
|
+
import pulumi_gcp as gcp
|
171
|
+
|
172
|
+
example = gcp.organizations.get_iam_custom_role(org_id="1234567890",
|
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 org_id: The numeric ID of the organization in which you want to create a custom role.
|
182
|
+
:param str role_id: The role id that has been used for this role.
|
183
|
+
"""
|
184
|
+
__args__ = dict()
|
185
|
+
__args__['orgId'] = org_id
|
186
|
+
__args__['roleId'] = role_id
|
187
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
188
|
+
__ret__ = pulumi.runtime.invoke_output('gcp:organizations/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
|
+
org_id=pulumi.get(__response__, 'org_id'),
|
195
|
+
permissions=pulumi.get(__response__, 'permissions'),
|
196
|
+
role_id=pulumi.get(__response__, 'role_id'),
|
197
|
+
stage=pulumi.get(__response__, 'stage'),
|
198
|
+
title=pulumi.get(__response__, 'title')))
|