pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.0a1738391833__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 +91 -0
- pulumi_gcp/alloydb/cluster.py +75 -7
- pulumi_gcp/apigee/_inputs.py +91 -0
- pulumi_gcp/apigee/endpoint_attachment.py +0 -64
- pulumi_gcp/apigee/environment.py +54 -0
- pulumi_gcp/apigee/outputs.py +54 -0
- pulumi_gcp/apihub/__init__.py +10 -0
- pulumi_gcp/apihub/_inputs.py +154 -0
- pulumi_gcp/apihub/api_hub_instance.py +784 -0
- pulumi_gcp/apihub/outputs.py +124 -0
- pulumi_gcp/chronicle/__init__.py +1 -0
- pulumi_gcp/chronicle/_inputs.py +124 -0
- pulumi_gcp/chronicle/outputs.py +112 -0
- pulumi_gcp/chronicle/retrohunt.py +645 -0
- pulumi_gcp/cloudrunv2/_inputs.py +197 -0
- pulumi_gcp/cloudrunv2/get_service.py +12 -1
- pulumi_gcp/cloudrunv2/outputs.py +256 -0
- pulumi_gcp/cloudrunv2/service.py +159 -0
- pulumi_gcp/colab/__init__.py +5 -0
- pulumi_gcp/colab/_inputs.py +131 -0
- pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
- pulumi_gcp/colab/outputs.py +92 -0
- pulumi_gcp/colab/runtime.py +696 -0
- pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
- pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
- pulumi_gcp/compute/__init__.py +4 -0
- pulumi_gcp/compute/_inputs.py +526 -0
- pulumi_gcp/compute/firewall_policy_rule.py +104 -22
- pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
- pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
- pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
- pulumi_gcp/compute/instance_template_iam_member.py +998 -0
- pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
- pulumi_gcp/compute/interconnect_attachment.py +189 -2
- pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
- pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
- pulumi_gcp/compute/outputs.py +352 -0
- pulumi_gcp/compute/project_metadata_item.py +12 -0
- pulumi_gcp/compute/public_advertised_prefix.py +87 -0
- pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
- pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
- pulumi_gcp/compute/router_peer.py +115 -3
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/filestore/get_instance.py +12 -1
- pulumi_gcp/filestore/instance.py +75 -0
- pulumi_gcp/gemini/code_repository_index.py +29 -33
- pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
- pulumi_gcp/gemini/repository_group.py +76 -26
- pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
- pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
- pulumi_gcp/kms/__init__.py +1 -0
- pulumi_gcp/kms/get_key_handles.py +172 -0
- pulumi_gcp/kms/outputs.py +45 -0
- pulumi_gcp/networksecurity/_inputs.py +72 -0
- pulumi_gcp/networksecurity/outputs.py +76 -0
- pulumi_gcp/networksecurity/security_profile.py +233 -7
- pulumi_gcp/networksecurity/security_profile_group.py +218 -0
- pulumi_gcp/organizations/__init__.py +1 -0
- pulumi_gcp/organizations/get_s.py +128 -0
- pulumi_gcp/organizations/outputs.py +63 -0
- pulumi_gcp/parametermanager/__init__.py +3 -0
- pulumi_gcp/parametermanager/get_parameter.py +211 -0
- pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
- pulumi_gcp/parametermanager/outputs.py +210 -0
- pulumi_gcp/parametermanager/parameter_version.py +496 -0
- pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/_inputs.py +213 -1
- pulumi_gcp/pubsub/outputs.py +278 -2
- pulumi_gcp/pubsub/topic.py +42 -0
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/__init__.py +1 -0
- pulumi_gcp/redis/_inputs.py +342 -6
- pulumi_gcp/redis/cluster.py +223 -102
- pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
- pulumi_gcp/redis/outputs.py +268 -4
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/METADATA +1 -1
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/RECORD +83 -63
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/WHEEL +0 -0
- {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0a1738391833.dist-info}/top_level.txt +0 -0
@@ -217,6 +217,135 @@ class RepositoryGroupIamPolicy(pulumi.CustomResource):
|
|
217
217
|
repository_group_id: Optional[pulumi.Input[str]] = None,
|
218
218
|
__props__=None):
|
219
219
|
"""
|
220
|
+
Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
|
221
|
+
|
222
|
+
* `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
|
223
|
+
* `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
|
224
|
+
* `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
|
225
|
+
|
226
|
+
A data source can be used to retrieve policy data in advent you do not need creation
|
227
|
+
|
228
|
+
* `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
|
229
|
+
|
230
|
+
> **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
|
231
|
+
|
232
|
+
> **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
|
233
|
+
|
234
|
+
## gemini.RepositoryGroupIamPolicy
|
235
|
+
|
236
|
+
```python
|
237
|
+
import pulumi
|
238
|
+
import pulumi_gcp as gcp
|
239
|
+
|
240
|
+
admin = gcp.organizations.get_iam_policy(bindings=[{
|
241
|
+
"role": "roles/cloudaicompanion.repositoryGroupsUser",
|
242
|
+
"members": ["user:jane@example.com"],
|
243
|
+
}])
|
244
|
+
policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
|
245
|
+
project=example["project"],
|
246
|
+
location=example["location"],
|
247
|
+
code_repository_index=example["codeRepositoryIndex"],
|
248
|
+
repository_group_id=example["repositoryGroupId"],
|
249
|
+
policy_data=admin.policy_data)
|
250
|
+
```
|
251
|
+
|
252
|
+
## gemini.RepositoryGroupIamBinding
|
253
|
+
|
254
|
+
```python
|
255
|
+
import pulumi
|
256
|
+
import pulumi_gcp as gcp
|
257
|
+
|
258
|
+
binding = gcp.gemini.RepositoryGroupIamBinding("binding",
|
259
|
+
project=example["project"],
|
260
|
+
location=example["location"],
|
261
|
+
code_repository_index=example["codeRepositoryIndex"],
|
262
|
+
repository_group_id=example["repositoryGroupId"],
|
263
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
264
|
+
members=["user:jane@example.com"])
|
265
|
+
```
|
266
|
+
|
267
|
+
## gemini.RepositoryGroupIamMember
|
268
|
+
|
269
|
+
```python
|
270
|
+
import pulumi
|
271
|
+
import pulumi_gcp as gcp
|
272
|
+
|
273
|
+
member = gcp.gemini.RepositoryGroupIamMember("member",
|
274
|
+
project=example["project"],
|
275
|
+
location=example["location"],
|
276
|
+
code_repository_index=example["codeRepositoryIndex"],
|
277
|
+
repository_group_id=example["repositoryGroupId"],
|
278
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
279
|
+
member="user:jane@example.com")
|
280
|
+
```
|
281
|
+
|
282
|
+
## This resource supports User Project Overrides.
|
283
|
+
|
284
|
+
-
|
285
|
+
|
286
|
+
# IAM policy for Gemini for Google Cloud RepositoryGroup
|
287
|
+
Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
|
288
|
+
|
289
|
+
* `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
|
290
|
+
* `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
|
291
|
+
* `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
|
292
|
+
|
293
|
+
A data source can be used to retrieve policy data in advent you do not need creation
|
294
|
+
|
295
|
+
* `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
|
296
|
+
|
297
|
+
> **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
|
298
|
+
|
299
|
+
> **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
|
300
|
+
|
301
|
+
## gemini.RepositoryGroupIamPolicy
|
302
|
+
|
303
|
+
```python
|
304
|
+
import pulumi
|
305
|
+
import pulumi_gcp as gcp
|
306
|
+
|
307
|
+
admin = gcp.organizations.get_iam_policy(bindings=[{
|
308
|
+
"role": "roles/cloudaicompanion.repositoryGroupsUser",
|
309
|
+
"members": ["user:jane@example.com"],
|
310
|
+
}])
|
311
|
+
policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
|
312
|
+
project=example["project"],
|
313
|
+
location=example["location"],
|
314
|
+
code_repository_index=example["codeRepositoryIndex"],
|
315
|
+
repository_group_id=example["repositoryGroupId"],
|
316
|
+
policy_data=admin.policy_data)
|
317
|
+
```
|
318
|
+
|
319
|
+
## gemini.RepositoryGroupIamBinding
|
320
|
+
|
321
|
+
```python
|
322
|
+
import pulumi
|
323
|
+
import pulumi_gcp as gcp
|
324
|
+
|
325
|
+
binding = gcp.gemini.RepositoryGroupIamBinding("binding",
|
326
|
+
project=example["project"],
|
327
|
+
location=example["location"],
|
328
|
+
code_repository_index=example["codeRepositoryIndex"],
|
329
|
+
repository_group_id=example["repositoryGroupId"],
|
330
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
331
|
+
members=["user:jane@example.com"])
|
332
|
+
```
|
333
|
+
|
334
|
+
## gemini.RepositoryGroupIamMember
|
335
|
+
|
336
|
+
```python
|
337
|
+
import pulumi
|
338
|
+
import pulumi_gcp as gcp
|
339
|
+
|
340
|
+
member = gcp.gemini.RepositoryGroupIamMember("member",
|
341
|
+
project=example["project"],
|
342
|
+
location=example["location"],
|
343
|
+
code_repository_index=example["codeRepositoryIndex"],
|
344
|
+
repository_group_id=example["repositoryGroupId"],
|
345
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
346
|
+
member="user:jane@example.com")
|
347
|
+
```
|
348
|
+
|
220
349
|
## Import
|
221
350
|
|
222
351
|
For all import syntaxes, the "resource in question" can take any of the following forms:
|
@@ -272,6 +401,135 @@ class RepositoryGroupIamPolicy(pulumi.CustomResource):
|
|
272
401
|
args: RepositoryGroupIamPolicyArgs,
|
273
402
|
opts: Optional[pulumi.ResourceOptions] = None):
|
274
403
|
"""
|
404
|
+
Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
|
405
|
+
|
406
|
+
* `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
|
407
|
+
* `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
|
408
|
+
* `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
|
409
|
+
|
410
|
+
A data source can be used to retrieve policy data in advent you do not need creation
|
411
|
+
|
412
|
+
* `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
|
413
|
+
|
414
|
+
> **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
|
415
|
+
|
416
|
+
> **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
|
417
|
+
|
418
|
+
## gemini.RepositoryGroupIamPolicy
|
419
|
+
|
420
|
+
```python
|
421
|
+
import pulumi
|
422
|
+
import pulumi_gcp as gcp
|
423
|
+
|
424
|
+
admin = gcp.organizations.get_iam_policy(bindings=[{
|
425
|
+
"role": "roles/cloudaicompanion.repositoryGroupsUser",
|
426
|
+
"members": ["user:jane@example.com"],
|
427
|
+
}])
|
428
|
+
policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
|
429
|
+
project=example["project"],
|
430
|
+
location=example["location"],
|
431
|
+
code_repository_index=example["codeRepositoryIndex"],
|
432
|
+
repository_group_id=example["repositoryGroupId"],
|
433
|
+
policy_data=admin.policy_data)
|
434
|
+
```
|
435
|
+
|
436
|
+
## gemini.RepositoryGroupIamBinding
|
437
|
+
|
438
|
+
```python
|
439
|
+
import pulumi
|
440
|
+
import pulumi_gcp as gcp
|
441
|
+
|
442
|
+
binding = gcp.gemini.RepositoryGroupIamBinding("binding",
|
443
|
+
project=example["project"],
|
444
|
+
location=example["location"],
|
445
|
+
code_repository_index=example["codeRepositoryIndex"],
|
446
|
+
repository_group_id=example["repositoryGroupId"],
|
447
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
448
|
+
members=["user:jane@example.com"])
|
449
|
+
```
|
450
|
+
|
451
|
+
## gemini.RepositoryGroupIamMember
|
452
|
+
|
453
|
+
```python
|
454
|
+
import pulumi
|
455
|
+
import pulumi_gcp as gcp
|
456
|
+
|
457
|
+
member = gcp.gemini.RepositoryGroupIamMember("member",
|
458
|
+
project=example["project"],
|
459
|
+
location=example["location"],
|
460
|
+
code_repository_index=example["codeRepositoryIndex"],
|
461
|
+
repository_group_id=example["repositoryGroupId"],
|
462
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
463
|
+
member="user:jane@example.com")
|
464
|
+
```
|
465
|
+
|
466
|
+
## This resource supports User Project Overrides.
|
467
|
+
|
468
|
+
-
|
469
|
+
|
470
|
+
# IAM policy for Gemini for Google Cloud RepositoryGroup
|
471
|
+
Three different resources help you manage your IAM policy for Gemini for Google Cloud RepositoryGroup. Each of these resources serves a different use case:
|
472
|
+
|
473
|
+
* `gemini.RepositoryGroupIamPolicy`: Authoritative. Sets the IAM policy for the repositorygroup and replaces any existing policy already attached.
|
474
|
+
* `gemini.RepositoryGroupIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the repositorygroup are preserved.
|
475
|
+
* `gemini.RepositoryGroupIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the repositorygroup are preserved.
|
476
|
+
|
477
|
+
A data source can be used to retrieve policy data in advent you do not need creation
|
478
|
+
|
479
|
+
* `gemini.RepositoryGroupIamPolicy`: Retrieves the IAM policy for the repositorygroup
|
480
|
+
|
481
|
+
> **Note:** `gemini.RepositoryGroupIamPolicy` **cannot** be used in conjunction with `gemini.RepositoryGroupIamBinding` and `gemini.RepositoryGroupIamMember` or they will fight over what your policy should be.
|
482
|
+
|
483
|
+
> **Note:** `gemini.RepositoryGroupIamBinding` resources **can be** used in conjunction with `gemini.RepositoryGroupIamMember` resources **only if** they do not grant privilege to the same role.
|
484
|
+
|
485
|
+
## gemini.RepositoryGroupIamPolicy
|
486
|
+
|
487
|
+
```python
|
488
|
+
import pulumi
|
489
|
+
import pulumi_gcp as gcp
|
490
|
+
|
491
|
+
admin = gcp.organizations.get_iam_policy(bindings=[{
|
492
|
+
"role": "roles/cloudaicompanion.repositoryGroupsUser",
|
493
|
+
"members": ["user:jane@example.com"],
|
494
|
+
}])
|
495
|
+
policy = gcp.gemini.RepositoryGroupIamPolicy("policy",
|
496
|
+
project=example["project"],
|
497
|
+
location=example["location"],
|
498
|
+
code_repository_index=example["codeRepositoryIndex"],
|
499
|
+
repository_group_id=example["repositoryGroupId"],
|
500
|
+
policy_data=admin.policy_data)
|
501
|
+
```
|
502
|
+
|
503
|
+
## gemini.RepositoryGroupIamBinding
|
504
|
+
|
505
|
+
```python
|
506
|
+
import pulumi
|
507
|
+
import pulumi_gcp as gcp
|
508
|
+
|
509
|
+
binding = gcp.gemini.RepositoryGroupIamBinding("binding",
|
510
|
+
project=example["project"],
|
511
|
+
location=example["location"],
|
512
|
+
code_repository_index=example["codeRepositoryIndex"],
|
513
|
+
repository_group_id=example["repositoryGroupId"],
|
514
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
515
|
+
members=["user:jane@example.com"])
|
516
|
+
```
|
517
|
+
|
518
|
+
## gemini.RepositoryGroupIamMember
|
519
|
+
|
520
|
+
```python
|
521
|
+
import pulumi
|
522
|
+
import pulumi_gcp as gcp
|
523
|
+
|
524
|
+
member = gcp.gemini.RepositoryGroupIamMember("member",
|
525
|
+
project=example["project"],
|
526
|
+
location=example["location"],
|
527
|
+
code_repository_index=example["codeRepositoryIndex"],
|
528
|
+
repository_group_id=example["repositoryGroupId"],
|
529
|
+
role="roles/cloudaicompanion.repositoryGroupsUser",
|
530
|
+
member="user:jane@example.com")
|
531
|
+
```
|
532
|
+
|
275
533
|
## Import
|
276
534
|
|
277
535
|
For all import syntaxes, the "resource in question" can take any of the following forms:
|
pulumi_gcp/kms/__init__.py
CHANGED
@@ -22,6 +22,7 @@ from .get_crypto_key_versions import *
|
|
22
22
|
from .get_crypto_keys import *
|
23
23
|
from .get_ekm_connection_iam_policy import *
|
24
24
|
from .get_key_handle import *
|
25
|
+
from .get_key_handles import *
|
25
26
|
from .get_key_ring_iam_policy import *
|
26
27
|
from .get_key_rings import *
|
27
28
|
from .get_kms_crypto_key import *
|
@@ -0,0 +1,172 @@
|
|
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
|
+
'GetKeyHandlesResult',
|
20
|
+
'AwaitableGetKeyHandlesResult',
|
21
|
+
'get_key_handles',
|
22
|
+
'get_key_handles_output',
|
23
|
+
]
|
24
|
+
|
25
|
+
@pulumi.output_type
|
26
|
+
class GetKeyHandlesResult:
|
27
|
+
"""
|
28
|
+
A collection of values returned by getKeyHandles.
|
29
|
+
"""
|
30
|
+
def __init__(__self__, id=None, key_handles=None, location=None, project=None, resource_type_selector=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 key_handles and not isinstance(key_handles, list):
|
35
|
+
raise TypeError("Expected argument 'key_handles' to be a list")
|
36
|
+
pulumi.set(__self__, "key_handles", key_handles)
|
37
|
+
if location and not isinstance(location, str):
|
38
|
+
raise TypeError("Expected argument 'location' to be a str")
|
39
|
+
pulumi.set(__self__, "location", location)
|
40
|
+
if project and not isinstance(project, str):
|
41
|
+
raise TypeError("Expected argument 'project' to be a str")
|
42
|
+
pulumi.set(__self__, "project", project)
|
43
|
+
if resource_type_selector and not isinstance(resource_type_selector, str):
|
44
|
+
raise TypeError("Expected argument 'resource_type_selector' to be a str")
|
45
|
+
pulumi.set(__self__, "resource_type_selector", resource_type_selector)
|
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(name="keyHandles")
|
57
|
+
def key_handles(self) -> Sequence['outputs.GetKeyHandlesKeyHandleResult']:
|
58
|
+
return pulumi.get(self, "key_handles")
|
59
|
+
|
60
|
+
@property
|
61
|
+
@pulumi.getter
|
62
|
+
def location(self) -> str:
|
63
|
+
"""
|
64
|
+
The location of the KMS Key and KeyHandle.
|
65
|
+
"""
|
66
|
+
return pulumi.get(self, "location")
|
67
|
+
|
68
|
+
@property
|
69
|
+
@pulumi.getter
|
70
|
+
def project(self) -> Optional[str]:
|
71
|
+
"""
|
72
|
+
The identifier of the project where KMS KeyHandle is created.
|
73
|
+
"""
|
74
|
+
return pulumi.get(self, "project")
|
75
|
+
|
76
|
+
@property
|
77
|
+
@pulumi.getter(name="resourceTypeSelector")
|
78
|
+
def resource_type_selector(self) -> str:
|
79
|
+
"""
|
80
|
+
Indicates the resource type that the resulting CryptoKey is meant to protect, e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
|
81
|
+
"""
|
82
|
+
return pulumi.get(self, "resource_type_selector")
|
83
|
+
|
84
|
+
|
85
|
+
class AwaitableGetKeyHandlesResult(GetKeyHandlesResult):
|
86
|
+
# pylint: disable=using-constant-test
|
87
|
+
def __await__(self):
|
88
|
+
if False:
|
89
|
+
yield self
|
90
|
+
return GetKeyHandlesResult(
|
91
|
+
id=self.id,
|
92
|
+
key_handles=self.key_handles,
|
93
|
+
location=self.location,
|
94
|
+
project=self.project,
|
95
|
+
resource_type_selector=self.resource_type_selector)
|
96
|
+
|
97
|
+
|
98
|
+
def get_key_handles(location: Optional[str] = None,
|
99
|
+
project: Optional[str] = None,
|
100
|
+
resource_type_selector: Optional[str] = None,
|
101
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetKeyHandlesResult:
|
102
|
+
"""
|
103
|
+
## Example Usage
|
104
|
+
|
105
|
+
```python
|
106
|
+
import pulumi
|
107
|
+
import pulumi_gcp as gcp
|
108
|
+
|
109
|
+
my_key_handles = gcp.kms.get_key_handles(project="resource-project-id",
|
110
|
+
location="us-central1",
|
111
|
+
resource_type_selector="storage.googleapis.com/Bucket")
|
112
|
+
```
|
113
|
+
|
114
|
+
|
115
|
+
:param str location: The Google Cloud Platform location for the KeyHandle.
|
116
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
117
|
+
:param str project: The project in which the resource belongs. If it
|
118
|
+
is not provided, the provider project is used.
|
119
|
+
:param str resource_type_selector: The resource type by which to filter KeyHandle e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
|
120
|
+
|
121
|
+
- - -
|
122
|
+
"""
|
123
|
+
__args__ = dict()
|
124
|
+
__args__['location'] = location
|
125
|
+
__args__['project'] = project
|
126
|
+
__args__['resourceTypeSelector'] = resource_type_selector
|
127
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
128
|
+
__ret__ = pulumi.runtime.invoke('gcp:kms/getKeyHandles:getKeyHandles', __args__, opts=opts, typ=GetKeyHandlesResult).value
|
129
|
+
|
130
|
+
return AwaitableGetKeyHandlesResult(
|
131
|
+
id=pulumi.get(__ret__, 'id'),
|
132
|
+
key_handles=pulumi.get(__ret__, 'key_handles'),
|
133
|
+
location=pulumi.get(__ret__, 'location'),
|
134
|
+
project=pulumi.get(__ret__, 'project'),
|
135
|
+
resource_type_selector=pulumi.get(__ret__, 'resource_type_selector'))
|
136
|
+
def get_key_handles_output(location: Optional[pulumi.Input[str]] = None,
|
137
|
+
project: Optional[pulumi.Input[Optional[str]]] = None,
|
138
|
+
resource_type_selector: Optional[pulumi.Input[str]] = None,
|
139
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetKeyHandlesResult]:
|
140
|
+
"""
|
141
|
+
## Example Usage
|
142
|
+
|
143
|
+
```python
|
144
|
+
import pulumi
|
145
|
+
import pulumi_gcp as gcp
|
146
|
+
|
147
|
+
my_key_handles = gcp.kms.get_key_handles(project="resource-project-id",
|
148
|
+
location="us-central1",
|
149
|
+
resource_type_selector="storage.googleapis.com/Bucket")
|
150
|
+
```
|
151
|
+
|
152
|
+
|
153
|
+
:param str location: The Google Cloud Platform location for the KeyHandle.
|
154
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
155
|
+
:param str project: The project in which the resource belongs. If it
|
156
|
+
is not provided, the provider project is used.
|
157
|
+
:param str resource_type_selector: The resource type by which to filter KeyHandle e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
|
158
|
+
|
159
|
+
- - -
|
160
|
+
"""
|
161
|
+
__args__ = dict()
|
162
|
+
__args__['location'] = location
|
163
|
+
__args__['project'] = project
|
164
|
+
__args__['resourceTypeSelector'] = resource_type_selector
|
165
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
166
|
+
__ret__ = pulumi.runtime.invoke_output('gcp:kms/getKeyHandles:getKeyHandles', __args__, opts=opts, typ=GetKeyHandlesResult)
|
167
|
+
return __ret__.apply(lambda __response__: GetKeyHandlesResult(
|
168
|
+
id=pulumi.get(__response__, 'id'),
|
169
|
+
key_handles=pulumi.get(__response__, 'key_handles'),
|
170
|
+
location=pulumi.get(__response__, 'location'),
|
171
|
+
project=pulumi.get(__response__, 'project'),
|
172
|
+
resource_type_selector=pulumi.get(__response__, 'resource_type_selector')))
|
pulumi_gcp/kms/outputs.py
CHANGED
@@ -45,6 +45,7 @@ __all__ = [
|
|
45
45
|
'GetKMSCryptoKeyPrimaryResult',
|
46
46
|
'GetKMSCryptoKeyVersionPublicKeyResult',
|
47
47
|
'GetKMSCryptoKeyVersionTemplateResult',
|
48
|
+
'GetKeyHandlesKeyHandleResult',
|
48
49
|
'GetKeyRingsKeyRingResult',
|
49
50
|
]
|
50
51
|
|
@@ -1554,6 +1555,50 @@ class GetKMSCryptoKeyVersionTemplateResult(dict):
|
|
1554
1555
|
return pulumi.get(self, "protection_level")
|
1555
1556
|
|
1556
1557
|
|
1558
|
+
@pulumi.output_type
|
1559
|
+
class GetKeyHandlesKeyHandleResult(dict):
|
1560
|
+
def __init__(__self__, *,
|
1561
|
+
kms_key: str,
|
1562
|
+
name: str,
|
1563
|
+
resource_type_selector: str):
|
1564
|
+
"""
|
1565
|
+
:param str kms_key: The identifier of the KMS Key created for the KeyHandle. Its format is `projects/{projectId}/locations/{location}/keyRings/{keyRingName}/cryptoKeys/{cryptoKeyName}`.
|
1566
|
+
:param str name: The name of the KeyHandle. Its format is `projects/{projectId}/locations/{location}/keyHandles/{keyHandleName}`.
|
1567
|
+
:param str resource_type_selector: The resource type by which to filter KeyHandle e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
|
1568
|
+
|
1569
|
+
- - -
|
1570
|
+
"""
|
1571
|
+
pulumi.set(__self__, "kms_key", kms_key)
|
1572
|
+
pulumi.set(__self__, "name", name)
|
1573
|
+
pulumi.set(__self__, "resource_type_selector", resource_type_selector)
|
1574
|
+
|
1575
|
+
@property
|
1576
|
+
@pulumi.getter(name="kmsKey")
|
1577
|
+
def kms_key(self) -> str:
|
1578
|
+
"""
|
1579
|
+
The identifier of the KMS Key created for the KeyHandle. Its format is `projects/{projectId}/locations/{location}/keyRings/{keyRingName}/cryptoKeys/{cryptoKeyName}`.
|
1580
|
+
"""
|
1581
|
+
return pulumi.get(self, "kms_key")
|
1582
|
+
|
1583
|
+
@property
|
1584
|
+
@pulumi.getter
|
1585
|
+
def name(self) -> str:
|
1586
|
+
"""
|
1587
|
+
The name of the KeyHandle. Its format is `projects/{projectId}/locations/{location}/keyHandles/{keyHandleName}`.
|
1588
|
+
"""
|
1589
|
+
return pulumi.get(self, "name")
|
1590
|
+
|
1591
|
+
@property
|
1592
|
+
@pulumi.getter(name="resourceTypeSelector")
|
1593
|
+
def resource_type_selector(self) -> str:
|
1594
|
+
"""
|
1595
|
+
The resource type by which to filter KeyHandle e.g. {SERVICE}.googleapis.com/{TYPE}. See documentation for supported resource types.
|
1596
|
+
|
1597
|
+
- - -
|
1598
|
+
"""
|
1599
|
+
return pulumi.get(self, "resource_type_selector")
|
1600
|
+
|
1601
|
+
|
1557
1602
|
@pulumi.output_type
|
1558
1603
|
class GetKeyRingsKeyRingResult(dict):
|
1559
1604
|
def __init__(__self__, *,
|
@@ -93,6 +93,10 @@ __all__ = [
|
|
93
93
|
'MirroringDeploymentGroupConnectedEndpointGroupArgsDict',
|
94
94
|
'MirroringEndpointGroupAssociationLocationsDetailArgs',
|
95
95
|
'MirroringEndpointGroupAssociationLocationsDetailArgsDict',
|
96
|
+
'SecurityProfileCustomInterceptProfileArgs',
|
97
|
+
'SecurityProfileCustomInterceptProfileArgsDict',
|
98
|
+
'SecurityProfileCustomMirroringProfileArgs',
|
99
|
+
'SecurityProfileCustomMirroringProfileArgsDict',
|
96
100
|
'SecurityProfileThreatPreventionProfileArgs',
|
97
101
|
'SecurityProfileThreatPreventionProfileArgsDict',
|
98
102
|
'SecurityProfileThreatPreventionProfileSeverityOverrideArgs',
|
@@ -2760,6 +2764,74 @@ class MirroringEndpointGroupAssociationLocationsDetailArgs:
|
|
2760
2764
|
pulumi.set(self, "state", value)
|
2761
2765
|
|
2762
2766
|
|
2767
|
+
if not MYPY:
|
2768
|
+
class SecurityProfileCustomInterceptProfileArgsDict(TypedDict):
|
2769
|
+
intercept_endpoint_group: pulumi.Input[str]
|
2770
|
+
"""
|
2771
|
+
The Intercept Endpoint Group to which matching traffic should be intercepted.
|
2772
|
+
Format: projects/{project_id}/locations/global/interceptEndpointGroups/{endpoint_group_id}
|
2773
|
+
"""
|
2774
|
+
elif False:
|
2775
|
+
SecurityProfileCustomInterceptProfileArgsDict: TypeAlias = Mapping[str, Any]
|
2776
|
+
|
2777
|
+
@pulumi.input_type
|
2778
|
+
class SecurityProfileCustomInterceptProfileArgs:
|
2779
|
+
def __init__(__self__, *,
|
2780
|
+
intercept_endpoint_group: pulumi.Input[str]):
|
2781
|
+
"""
|
2782
|
+
:param pulumi.Input[str] intercept_endpoint_group: The Intercept Endpoint Group to which matching traffic should be intercepted.
|
2783
|
+
Format: projects/{project_id}/locations/global/interceptEndpointGroups/{endpoint_group_id}
|
2784
|
+
"""
|
2785
|
+
pulumi.set(__self__, "intercept_endpoint_group", intercept_endpoint_group)
|
2786
|
+
|
2787
|
+
@property
|
2788
|
+
@pulumi.getter(name="interceptEndpointGroup")
|
2789
|
+
def intercept_endpoint_group(self) -> pulumi.Input[str]:
|
2790
|
+
"""
|
2791
|
+
The Intercept Endpoint Group to which matching traffic should be intercepted.
|
2792
|
+
Format: projects/{project_id}/locations/global/interceptEndpointGroups/{endpoint_group_id}
|
2793
|
+
"""
|
2794
|
+
return pulumi.get(self, "intercept_endpoint_group")
|
2795
|
+
|
2796
|
+
@intercept_endpoint_group.setter
|
2797
|
+
def intercept_endpoint_group(self, value: pulumi.Input[str]):
|
2798
|
+
pulumi.set(self, "intercept_endpoint_group", value)
|
2799
|
+
|
2800
|
+
|
2801
|
+
if not MYPY:
|
2802
|
+
class SecurityProfileCustomMirroringProfileArgsDict(TypedDict):
|
2803
|
+
mirroring_endpoint_group: pulumi.Input[str]
|
2804
|
+
"""
|
2805
|
+
The Mirroring Endpoint Group to which matching traffic should be mirrored.
|
2806
|
+
Format: projects/{project_id}/locations/global/mirroringEndpointGroups/{endpoint_group_id}
|
2807
|
+
"""
|
2808
|
+
elif False:
|
2809
|
+
SecurityProfileCustomMirroringProfileArgsDict: TypeAlias = Mapping[str, Any]
|
2810
|
+
|
2811
|
+
@pulumi.input_type
|
2812
|
+
class SecurityProfileCustomMirroringProfileArgs:
|
2813
|
+
def __init__(__self__, *,
|
2814
|
+
mirroring_endpoint_group: pulumi.Input[str]):
|
2815
|
+
"""
|
2816
|
+
:param pulumi.Input[str] mirroring_endpoint_group: The Mirroring Endpoint Group to which matching traffic should be mirrored.
|
2817
|
+
Format: projects/{project_id}/locations/global/mirroringEndpointGroups/{endpoint_group_id}
|
2818
|
+
"""
|
2819
|
+
pulumi.set(__self__, "mirroring_endpoint_group", mirroring_endpoint_group)
|
2820
|
+
|
2821
|
+
@property
|
2822
|
+
@pulumi.getter(name="mirroringEndpointGroup")
|
2823
|
+
def mirroring_endpoint_group(self) -> pulumi.Input[str]:
|
2824
|
+
"""
|
2825
|
+
The Mirroring Endpoint Group to which matching traffic should be mirrored.
|
2826
|
+
Format: projects/{project_id}/locations/global/mirroringEndpointGroups/{endpoint_group_id}
|
2827
|
+
"""
|
2828
|
+
return pulumi.get(self, "mirroring_endpoint_group")
|
2829
|
+
|
2830
|
+
@mirroring_endpoint_group.setter
|
2831
|
+
def mirroring_endpoint_group(self, value: pulumi.Input[str]):
|
2832
|
+
pulumi.set(self, "mirroring_endpoint_group", value)
|
2833
|
+
|
2834
|
+
|
2763
2835
|
if not MYPY:
|
2764
2836
|
class SecurityProfileThreatPreventionProfileArgsDict(TypedDict):
|
2765
2837
|
severity_overrides: NotRequired[pulumi.Input[Sequence[pulumi.Input['SecurityProfileThreatPreventionProfileSeverityOverrideArgsDict']]]]
|