pulumi-gcp 8.24.0a1742970634__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.
Files changed (55) hide show
  1. pulumi_gcp/__init__.py +27 -0
  2. pulumi_gcp/bigquery/_inputs.py +158 -0
  3. pulumi_gcp/bigquery/outputs.py +115 -0
  4. pulumi_gcp/bigquery/reservation.py +189 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +11 -7
  6. pulumi_gcp/chronicle/data_access_label.py +16 -0
  7. pulumi_gcp/cloudrunv2/service.py +14 -14
  8. pulumi_gcp/compute/__init__.py +1 -0
  9. pulumi_gcp/compute/_inputs.py +616 -18
  10. pulumi_gcp/compute/get_images.py +172 -0
  11. pulumi_gcp/compute/get_resource_policy.py +15 -4
  12. pulumi_gcp/compute/image.py +54 -0
  13. pulumi_gcp/compute/interconnect.py +14 -7
  14. pulumi_gcp/compute/outputs.py +710 -18
  15. pulumi_gcp/compute/resource_policy.py +169 -3
  16. pulumi_gcp/compute/router_route_policy.py +16 -0
  17. pulumi_gcp/config/__init__.pyi +6 -0
  18. pulumi_gcp/config/vars.py +12 -0
  19. pulumi_gcp/container/_inputs.py +262 -1
  20. pulumi_gcp/container/cluster.py +54 -0
  21. pulumi_gcp/container/get_cluster.py +12 -1
  22. pulumi_gcp/container/outputs.py +297 -2
  23. pulumi_gcp/dataproc/_inputs.py +23 -0
  24. pulumi_gcp/dataproc/outputs.py +27 -0
  25. pulumi_gcp/lustre/__init__.py +8 -0
  26. pulumi_gcp/lustre/instance.py +983 -0
  27. pulumi_gcp/memorystore/_inputs.py +419 -0
  28. pulumi_gcp/memorystore/get_instance.py +23 -1
  29. pulumi_gcp/memorystore/instance.py +137 -7
  30. pulumi_gcp/memorystore/outputs.py +544 -0
  31. pulumi_gcp/networkmanagement/_inputs.py +422 -91
  32. pulumi_gcp/networkmanagement/connectivity_test.py +233 -211
  33. pulumi_gcp/networkmanagement/outputs.py +280 -61
  34. pulumi_gcp/networksecurity/_inputs.py +392 -0
  35. pulumi_gcp/networksecurity/intercept_deployment_group.py +44 -16
  36. pulumi_gcp/networksecurity/intercept_endpoint_group.py +90 -36
  37. pulumi_gcp/networksecurity/intercept_endpoint_group_association.py +53 -8
  38. pulumi_gcp/networksecurity/outputs.py +240 -0
  39. pulumi_gcp/organizations/__init__.py +1 -0
  40. pulumi_gcp/organizations/get_iam_custom_role.py +198 -0
  41. pulumi_gcp/osconfig/__init__.py +1 -0
  42. pulumi_gcp/osconfig/_inputs.py +5413 -0
  43. pulumi_gcp/osconfig/outputs.py +3962 -0
  44. pulumi_gcp/osconfig/v2_policy_orchestrator.py +971 -0
  45. pulumi_gcp/provider.py +60 -0
  46. pulumi_gcp/pulumi-plugin.json +1 -1
  47. pulumi_gcp/storage/__init__.py +2 -0
  48. pulumi_gcp/storage/_inputs.py +726 -0
  49. pulumi_gcp/storage/control_project_intelligence_config.py +366 -0
  50. pulumi_gcp/storage/get_control_project_intelligence_config.py +130 -0
  51. pulumi_gcp/storage/outputs.py +716 -0
  52. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/METADATA +1 -1
  53. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/RECORD +55 -48
  54. {pulumi_gcp-8.24.0a1742970634.dist-info → pulumi_gcp-8.24.0a1743177741.dist-info}/WHEEL +0 -0
  55. {pulumi_gcp-8.24.0a1742970634.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')))
@@ -8,5 +8,6 @@ import typing
8
8
  from .guest_policies import *
9
9
  from .os_policy_assignment import *
10
10
  from .patch_deployment import *
11
+ from .v2_policy_orchestrator import *
11
12
  from ._inputs import *
12
13
  from . import outputs