pulumi-gcp 8.26.0a1744267117__py3-none-any.whl → 8.27.0a1744386150__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 +48 -0
- pulumi_gcp/accesscontextmanager/_inputs.py +117 -0
- pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +81 -26
- pulumi_gcp/accesscontextmanager/outputs.py +95 -0
- pulumi_gcp/apigee/__init__.py +1 -0
- pulumi_gcp/apigee/control_plane_access.py +419 -0
- pulumi_gcp/clouddeploy/__init__.py +1 -0
- pulumi_gcp/clouddeploy/_inputs.py +2876 -1314
- pulumi_gcp/clouddeploy/automation.py +64 -2
- pulumi_gcp/clouddeploy/deploy_policy.py +1179 -0
- pulumi_gcp/clouddeploy/outputs.py +1130 -5
- pulumi_gcp/cloudrunv2/service.py +2 -2
- pulumi_gcp/compute/_inputs.py +20 -0
- pulumi_gcp/compute/outputs.py +25 -0
- pulumi_gcp/compute/resource_policy.py +30 -0
- pulumi_gcp/datastream/_inputs.py +506 -0
- pulumi_gcp/datastream/outputs.py +376 -0
- pulumi_gcp/datastream/stream.py +0 -2
- pulumi_gcp/firebase/hosting_version.py +34 -14
- pulumi_gcp/folder/__init__.py +1 -0
- pulumi_gcp/folder/service_identity.py +340 -0
- pulumi_gcp/gemini/__init__.py +2 -0
- pulumi_gcp/gemini/_inputs.py +176 -0
- pulumi_gcp/gemini/code_tools_setting.py +601 -0
- pulumi_gcp/gemini/code_tools_setting_binding.py +753 -0
- pulumi_gcp/gemini/outputs.py +124 -0
- pulumi_gcp/gkeonprem/v_mware_cluster.py +49 -0
- pulumi_gcp/gkeonprem/vmware_admin_cluster.py +28 -0
- pulumi_gcp/memorystore/_inputs.py +136 -0
- pulumi_gcp/memorystore/get_instance.py +12 -1
- pulumi_gcp/memorystore/instance.py +54 -0
- pulumi_gcp/memorystore/outputs.py +190 -0
- pulumi_gcp/netapp/_inputs.py +89 -3
- pulumi_gcp/netapp/outputs.py +75 -2
- pulumi_gcp/netapp/volume_replication.py +12 -2
- pulumi_gcp/networkconnectivity/service_connection_policy.py +4 -2
- pulumi_gcp/osconfig/__init__.py +1 -0
- pulumi_gcp/osconfig/_inputs.py +5439 -0
- pulumi_gcp/osconfig/outputs.py +3978 -0
- pulumi_gcp/osconfig/v2_policy_orchestrator_for_organization.py +1047 -0
- pulumi_gcp/parametermanager/get_regional_parameter.py +12 -1
- pulumi_gcp/parametermanager/get_regional_parameter_version.py +15 -1
- pulumi_gcp/parametermanager/outputs.py +11 -0
- pulumi_gcp/parametermanager/regional_parameter.py +78 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +66 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/spanner/database.py +0 -34
- pulumi_gcp/storage/bucket_object.py +28 -0
- pulumi_gcp/storage/get_bucket_object.py +12 -1
- pulumi_gcp/storage/get_bucket_object_content.py +12 -1
- pulumi_gcp/workbench/_inputs.py +60 -0
- pulumi_gcp/workbench/instance.py +48 -0
- pulumi_gcp/workbench/outputs.py +55 -0
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/RECORD +57 -51
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.26.0a1744267117.dist-info → pulumi_gcp-8.27.0a1744386150.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,419 @@
|
|
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 builtins
|
6
|
+
import copy
|
7
|
+
import warnings
|
8
|
+
import sys
|
9
|
+
import pulumi
|
10
|
+
import pulumi.runtime
|
11
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
12
|
+
if sys.version_info >= (3, 11):
|
13
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
14
|
+
else:
|
15
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
16
|
+
from .. import _utilities
|
17
|
+
|
18
|
+
__all__ = ['ControlPlaneAccessArgs', 'ControlPlaneAccess']
|
19
|
+
|
20
|
+
@pulumi.input_type
|
21
|
+
class ControlPlaneAccessArgs:
|
22
|
+
def __init__(__self__, *,
|
23
|
+
analytics_publisher_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
24
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
25
|
+
synchronizer_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
|
26
|
+
"""
|
27
|
+
The set of arguments for constructing a ControlPlaneAccess resource.
|
28
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] analytics_publisher_identities: Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`.
|
29
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
30
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
31
|
+
:param pulumi.Input[builtins.str] name: Name of the Apigee organization.
|
32
|
+
|
33
|
+
|
34
|
+
- - -
|
35
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] synchronizer_identities: Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`.
|
36
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
37
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
38
|
+
The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).
|
39
|
+
"""
|
40
|
+
if analytics_publisher_identities is not None:
|
41
|
+
pulumi.set(__self__, "analytics_publisher_identities", analytics_publisher_identities)
|
42
|
+
if name is not None:
|
43
|
+
pulumi.set(__self__, "name", name)
|
44
|
+
if synchronizer_identities is not None:
|
45
|
+
pulumi.set(__self__, "synchronizer_identities", synchronizer_identities)
|
46
|
+
|
47
|
+
@property
|
48
|
+
@pulumi.getter(name="analyticsPublisherIdentities")
|
49
|
+
def analytics_publisher_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
50
|
+
"""
|
51
|
+
Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`.
|
52
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
53
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
54
|
+
"""
|
55
|
+
return pulumi.get(self, "analytics_publisher_identities")
|
56
|
+
|
57
|
+
@analytics_publisher_identities.setter
|
58
|
+
def analytics_publisher_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
59
|
+
pulumi.set(self, "analytics_publisher_identities", value)
|
60
|
+
|
61
|
+
@property
|
62
|
+
@pulumi.getter
|
63
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
64
|
+
"""
|
65
|
+
Name of the Apigee organization.
|
66
|
+
|
67
|
+
|
68
|
+
- - -
|
69
|
+
"""
|
70
|
+
return pulumi.get(self, "name")
|
71
|
+
|
72
|
+
@name.setter
|
73
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
74
|
+
pulumi.set(self, "name", value)
|
75
|
+
|
76
|
+
@property
|
77
|
+
@pulumi.getter(name="synchronizerIdentities")
|
78
|
+
def synchronizer_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
79
|
+
"""
|
80
|
+
Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`.
|
81
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
82
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
83
|
+
The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).
|
84
|
+
"""
|
85
|
+
return pulumi.get(self, "synchronizer_identities")
|
86
|
+
|
87
|
+
@synchronizer_identities.setter
|
88
|
+
def synchronizer_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
89
|
+
pulumi.set(self, "synchronizer_identities", value)
|
90
|
+
|
91
|
+
|
92
|
+
@pulumi.input_type
|
93
|
+
class _ControlPlaneAccessState:
|
94
|
+
def __init__(__self__, *,
|
95
|
+
analytics_publisher_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
96
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
97
|
+
synchronizer_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
|
98
|
+
"""
|
99
|
+
Input properties used for looking up and filtering ControlPlaneAccess resources.
|
100
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] analytics_publisher_identities: Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`.
|
101
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
102
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
103
|
+
:param pulumi.Input[builtins.str] name: Name of the Apigee organization.
|
104
|
+
|
105
|
+
|
106
|
+
- - -
|
107
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] synchronizer_identities: Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`.
|
108
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
109
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
110
|
+
The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).
|
111
|
+
"""
|
112
|
+
if analytics_publisher_identities is not None:
|
113
|
+
pulumi.set(__self__, "analytics_publisher_identities", analytics_publisher_identities)
|
114
|
+
if name is not None:
|
115
|
+
pulumi.set(__self__, "name", name)
|
116
|
+
if synchronizer_identities is not None:
|
117
|
+
pulumi.set(__self__, "synchronizer_identities", synchronizer_identities)
|
118
|
+
|
119
|
+
@property
|
120
|
+
@pulumi.getter(name="analyticsPublisherIdentities")
|
121
|
+
def analytics_publisher_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
122
|
+
"""
|
123
|
+
Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`.
|
124
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
125
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
126
|
+
"""
|
127
|
+
return pulumi.get(self, "analytics_publisher_identities")
|
128
|
+
|
129
|
+
@analytics_publisher_identities.setter
|
130
|
+
def analytics_publisher_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
131
|
+
pulumi.set(self, "analytics_publisher_identities", value)
|
132
|
+
|
133
|
+
@property
|
134
|
+
@pulumi.getter
|
135
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
136
|
+
"""
|
137
|
+
Name of the Apigee organization.
|
138
|
+
|
139
|
+
|
140
|
+
- - -
|
141
|
+
"""
|
142
|
+
return pulumi.get(self, "name")
|
143
|
+
|
144
|
+
@name.setter
|
145
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
146
|
+
pulumi.set(self, "name", value)
|
147
|
+
|
148
|
+
@property
|
149
|
+
@pulumi.getter(name="synchronizerIdentities")
|
150
|
+
def synchronizer_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
151
|
+
"""
|
152
|
+
Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`.
|
153
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
154
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
155
|
+
The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).
|
156
|
+
"""
|
157
|
+
return pulumi.get(self, "synchronizer_identities")
|
158
|
+
|
159
|
+
@synchronizer_identities.setter
|
160
|
+
def synchronizer_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
161
|
+
pulumi.set(self, "synchronizer_identities", value)
|
162
|
+
|
163
|
+
|
164
|
+
class ControlPlaneAccess(pulumi.CustomResource):
|
165
|
+
@overload
|
166
|
+
def __init__(__self__,
|
167
|
+
resource_name: str,
|
168
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
169
|
+
analytics_publisher_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
170
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
171
|
+
synchronizer_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
172
|
+
__props__=None):
|
173
|
+
"""
|
174
|
+
Authorize the Runtime components to access directly with Apigee Control Plane.
|
175
|
+
|
176
|
+
To get more information about ControlPlaneAccess, see:
|
177
|
+
|
178
|
+
* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations/updateControlPlaneAccess)
|
179
|
+
* How-to Guides
|
180
|
+
* [Enable ControlPlane access](https://cloud.google.com/apigee/docs/hybrid/v1.14/install-enable-control-plane-access)
|
181
|
+
|
182
|
+
## Example Usage
|
183
|
+
|
184
|
+
### Apigee Control Plane Access Basic Test
|
185
|
+
|
186
|
+
```python
|
187
|
+
import pulumi
|
188
|
+
import pulumi_gcp as gcp
|
189
|
+
|
190
|
+
project = gcp.organizations.Project("project",
|
191
|
+
project_id="my-project",
|
192
|
+
name="my-project",
|
193
|
+
org_id="123456789",
|
194
|
+
billing_account="000000-0000000-0000000-000000",
|
195
|
+
deletion_policy="DELETE")
|
196
|
+
apigee = gcp.projects.Service("apigee",
|
197
|
+
project=project.project_id,
|
198
|
+
service="apigee.googleapis.com")
|
199
|
+
apigee_org = gcp.apigee.Organization("apigee_org",
|
200
|
+
analytics_region="us-central1",
|
201
|
+
project_id=project.project_id,
|
202
|
+
runtime_type="HYBRID",
|
203
|
+
opts = pulumi.ResourceOptions(depends_on=[apigee]))
|
204
|
+
service_account = gcp.serviceaccount.Account("service_account",
|
205
|
+
account_id="my-account",
|
206
|
+
display_name="Service Account")
|
207
|
+
synchronizer_iam = gcp.projects.IAMMember("synchronizer-iam",
|
208
|
+
project=project.project_id,
|
209
|
+
role="roles/apigee.synchronizerManager",
|
210
|
+
member=service_account.email.apply(lambda email: f"serviceAccount:{email}"))
|
211
|
+
apigee_control_plane_access = gcp.apigee.ControlPlaneAccess("apigee_control_plane_access",
|
212
|
+
name=apigee_org.name,
|
213
|
+
synchronizer_identities=[service_account.email.apply(lambda email: f"serviceAccount:{email}")],
|
214
|
+
analytics_publisher_identities=[service_account.email.apply(lambda email: f"serviceAccount:{email}")])
|
215
|
+
```
|
216
|
+
|
217
|
+
## Import
|
218
|
+
|
219
|
+
ControlPlaneAccess can be imported using any of these accepted formats:
|
220
|
+
|
221
|
+
* `organizations/{{name}}/controlPlaneAccess`
|
222
|
+
|
223
|
+
* `{{name}}`
|
224
|
+
|
225
|
+
When using the `pulumi import` command, ControlPlaneAccess can be imported using one of the formats above. For example:
|
226
|
+
|
227
|
+
```sh
|
228
|
+
$ pulumi import gcp:apigee/controlPlaneAccess:ControlPlaneAccess default organizations/{{name}}/controlPlaneAccess
|
229
|
+
```
|
230
|
+
|
231
|
+
```sh
|
232
|
+
$ pulumi import gcp:apigee/controlPlaneAccess:ControlPlaneAccess default {{name}}
|
233
|
+
```
|
234
|
+
|
235
|
+
:param str resource_name: The name of the resource.
|
236
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
237
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] analytics_publisher_identities: Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`.
|
238
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
239
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
240
|
+
:param pulumi.Input[builtins.str] name: Name of the Apigee organization.
|
241
|
+
|
242
|
+
|
243
|
+
- - -
|
244
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] synchronizer_identities: Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`.
|
245
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
246
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
247
|
+
The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).
|
248
|
+
"""
|
249
|
+
...
|
250
|
+
@overload
|
251
|
+
def __init__(__self__,
|
252
|
+
resource_name: str,
|
253
|
+
args: Optional[ControlPlaneAccessArgs] = None,
|
254
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
255
|
+
"""
|
256
|
+
Authorize the Runtime components to access directly with Apigee Control Plane.
|
257
|
+
|
258
|
+
To get more information about ControlPlaneAccess, see:
|
259
|
+
|
260
|
+
* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations/updateControlPlaneAccess)
|
261
|
+
* How-to Guides
|
262
|
+
* [Enable ControlPlane access](https://cloud.google.com/apigee/docs/hybrid/v1.14/install-enable-control-plane-access)
|
263
|
+
|
264
|
+
## Example Usage
|
265
|
+
|
266
|
+
### Apigee Control Plane Access Basic Test
|
267
|
+
|
268
|
+
```python
|
269
|
+
import pulumi
|
270
|
+
import pulumi_gcp as gcp
|
271
|
+
|
272
|
+
project = gcp.organizations.Project("project",
|
273
|
+
project_id="my-project",
|
274
|
+
name="my-project",
|
275
|
+
org_id="123456789",
|
276
|
+
billing_account="000000-0000000-0000000-000000",
|
277
|
+
deletion_policy="DELETE")
|
278
|
+
apigee = gcp.projects.Service("apigee",
|
279
|
+
project=project.project_id,
|
280
|
+
service="apigee.googleapis.com")
|
281
|
+
apigee_org = gcp.apigee.Organization("apigee_org",
|
282
|
+
analytics_region="us-central1",
|
283
|
+
project_id=project.project_id,
|
284
|
+
runtime_type="HYBRID",
|
285
|
+
opts = pulumi.ResourceOptions(depends_on=[apigee]))
|
286
|
+
service_account = gcp.serviceaccount.Account("service_account",
|
287
|
+
account_id="my-account",
|
288
|
+
display_name="Service Account")
|
289
|
+
synchronizer_iam = gcp.projects.IAMMember("synchronizer-iam",
|
290
|
+
project=project.project_id,
|
291
|
+
role="roles/apigee.synchronizerManager",
|
292
|
+
member=service_account.email.apply(lambda email: f"serviceAccount:{email}"))
|
293
|
+
apigee_control_plane_access = gcp.apigee.ControlPlaneAccess("apigee_control_plane_access",
|
294
|
+
name=apigee_org.name,
|
295
|
+
synchronizer_identities=[service_account.email.apply(lambda email: f"serviceAccount:{email}")],
|
296
|
+
analytics_publisher_identities=[service_account.email.apply(lambda email: f"serviceAccount:{email}")])
|
297
|
+
```
|
298
|
+
|
299
|
+
## Import
|
300
|
+
|
301
|
+
ControlPlaneAccess can be imported using any of these accepted formats:
|
302
|
+
|
303
|
+
* `organizations/{{name}}/controlPlaneAccess`
|
304
|
+
|
305
|
+
* `{{name}}`
|
306
|
+
|
307
|
+
When using the `pulumi import` command, ControlPlaneAccess can be imported using one of the formats above. For example:
|
308
|
+
|
309
|
+
```sh
|
310
|
+
$ pulumi import gcp:apigee/controlPlaneAccess:ControlPlaneAccess default organizations/{{name}}/controlPlaneAccess
|
311
|
+
```
|
312
|
+
|
313
|
+
```sh
|
314
|
+
$ pulumi import gcp:apigee/controlPlaneAccess:ControlPlaneAccess default {{name}}
|
315
|
+
```
|
316
|
+
|
317
|
+
:param str resource_name: The name of the resource.
|
318
|
+
:param ControlPlaneAccessArgs args: The arguments to use to populate this resource's properties.
|
319
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
320
|
+
"""
|
321
|
+
...
|
322
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
323
|
+
resource_args, opts = _utilities.get_resource_args_opts(ControlPlaneAccessArgs, pulumi.ResourceOptions, *args, **kwargs)
|
324
|
+
if resource_args is not None:
|
325
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
326
|
+
else:
|
327
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
328
|
+
|
329
|
+
def _internal_init(__self__,
|
330
|
+
resource_name: str,
|
331
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
332
|
+
analytics_publisher_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
333
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
334
|
+
synchronizer_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
335
|
+
__props__=None):
|
336
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
337
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
338
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
339
|
+
if opts.id is None:
|
340
|
+
if __props__ is not None:
|
341
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
342
|
+
__props__ = ControlPlaneAccessArgs.__new__(ControlPlaneAccessArgs)
|
343
|
+
|
344
|
+
__props__.__dict__["analytics_publisher_identities"] = analytics_publisher_identities
|
345
|
+
__props__.__dict__["name"] = name
|
346
|
+
__props__.__dict__["synchronizer_identities"] = synchronizer_identities
|
347
|
+
super(ControlPlaneAccess, __self__).__init__(
|
348
|
+
'gcp:apigee/controlPlaneAccess:ControlPlaneAccess',
|
349
|
+
resource_name,
|
350
|
+
__props__,
|
351
|
+
opts)
|
352
|
+
|
353
|
+
@staticmethod
|
354
|
+
def get(resource_name: str,
|
355
|
+
id: pulumi.Input[str],
|
356
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
357
|
+
analytics_publisher_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
358
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
359
|
+
synchronizer_identities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None) -> 'ControlPlaneAccess':
|
360
|
+
"""
|
361
|
+
Get an existing ControlPlaneAccess resource's state with the given name, id, and optional extra
|
362
|
+
properties used to qualify the lookup.
|
363
|
+
|
364
|
+
:param str resource_name: The unique name of the resulting resource.
|
365
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
366
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
367
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] analytics_publisher_identities: Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`.
|
368
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
369
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
370
|
+
:param pulumi.Input[builtins.str] name: Name of the Apigee organization.
|
371
|
+
|
372
|
+
|
373
|
+
- - -
|
374
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] synchronizer_identities: Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`.
|
375
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
376
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
377
|
+
The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).
|
378
|
+
"""
|
379
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
380
|
+
|
381
|
+
__props__ = _ControlPlaneAccessState.__new__(_ControlPlaneAccessState)
|
382
|
+
|
383
|
+
__props__.__dict__["analytics_publisher_identities"] = analytics_publisher_identities
|
384
|
+
__props__.__dict__["name"] = name
|
385
|
+
__props__.__dict__["synchronizer_identities"] = synchronizer_identities
|
386
|
+
return ControlPlaneAccess(resource_name, opts=opts, __props__=__props__)
|
387
|
+
|
388
|
+
@property
|
389
|
+
@pulumi.getter(name="analyticsPublisherIdentities")
|
390
|
+
def analytics_publisher_identities(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
|
391
|
+
"""
|
392
|
+
Array of service accounts authorized to publish analytics data to the control plane, each specified using the following format: `serviceAccount:service-account-name`.
|
393
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
394
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
395
|
+
"""
|
396
|
+
return pulumi.get(self, "analytics_publisher_identities")
|
397
|
+
|
398
|
+
@property
|
399
|
+
@pulumi.getter
|
400
|
+
def name(self) -> pulumi.Output[builtins.str]:
|
401
|
+
"""
|
402
|
+
Name of the Apigee organization.
|
403
|
+
|
404
|
+
|
405
|
+
- - -
|
406
|
+
"""
|
407
|
+
return pulumi.get(self, "name")
|
408
|
+
|
409
|
+
@property
|
410
|
+
@pulumi.getter(name="synchronizerIdentities")
|
411
|
+
def synchronizer_identities(self) -> pulumi.Output[Optional[Sequence[builtins.str]]]:
|
412
|
+
"""
|
413
|
+
Array of service accounts to grant access to control plane resources (for the Synchronizer component), each specified using the following format: `serviceAccount:service-account-name`.
|
414
|
+
The `service-account-name` is formatted like an email address. For example: serviceAccount@my_project_id.iam.gserviceaccount.com
|
415
|
+
You might specify multiple service accounts, for example, if you have multiple environments and wish to assign a unique service account to each one.
|
416
|
+
The service accounts must have **Apigee Synchronizer Manager** role. See also [Create service accounts](https://cloud.google.com/apigee/docs/hybrid/v1.8/sa-about#create-the-service-accounts).
|
417
|
+
"""
|
418
|
+
return pulumi.get(self, "synchronizer_identities")
|
419
|
+
|
@@ -15,6 +15,7 @@ from .delivery_pipeline import *
|
|
15
15
|
from .delivery_pipeline_iam_binding import *
|
16
16
|
from .delivery_pipeline_iam_member import *
|
17
17
|
from .delivery_pipeline_iam_policy import *
|
18
|
+
from .deploy_policy import *
|
18
19
|
from .get_custom_target_type_iam_policy import *
|
19
20
|
from .get_delivery_pipeline_iam_policy import *
|
20
21
|
from .get_target_iam_policy import *
|