pulumi-gcp 7.3.0a1702567892__py3-none-any.whl → 7.3.1__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- pulumi_gcp/__init__.py +129 -0
- pulumi_gcp/artifactregistry/_inputs.py +88 -0
- pulumi_gcp/artifactregistry/outputs.py +148 -0
- pulumi_gcp/artifactregistry/repository.py +116 -16
- pulumi_gcp/bigquery/_inputs.py +110 -0
- pulumi_gcp/bigquery/connection.py +123 -3
- pulumi_gcp/bigquery/outputs.py +145 -0
- pulumi_gcp/cloudbuild/_inputs.py +241 -1
- pulumi_gcp/cloudbuild/outputs.py +353 -2
- pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -2
- pulumi_gcp/cloudfunctionsv2/outputs.py +6 -2
- pulumi_gcp/cloudidentity/_inputs.py +54 -5
- pulumi_gcp/cloudidentity/group_membership.py +0 -8
- pulumi_gcp/cloudidentity/outputs.py +99 -4
- pulumi_gcp/cloudrunv2/_inputs.py +8 -4
- pulumi_gcp/cloudrunv2/job.py +44 -0
- pulumi_gcp/cloudrunv2/outputs.py +8 -4
- pulumi_gcp/cloudrunv2/service.py +42 -0
- pulumi_gcp/cloudtasks/queue.py +0 -10
- pulumi_gcp/composer/_inputs.py +17 -4
- pulumi_gcp/composer/outputs.py +20 -4
- pulumi_gcp/compute/_inputs.py +46 -0
- pulumi_gcp/compute/get_global_forwarding_rule.py +11 -1
- pulumi_gcp/compute/global_forwarding_rule.py +69 -0
- pulumi_gcp/compute/outputs.py +75 -0
- pulumi_gcp/config/__init__.pyi +6 -0
- pulumi_gcp/config/vars.py +12 -0
- pulumi_gcp/container/_inputs.py +58 -0
- pulumi_gcp/container/node_pool.py +68 -14
- pulumi_gcp/container/outputs.py +68 -0
- pulumi_gcp/dataform/__init__.py +4 -0
- pulumi_gcp/dataform/_inputs.py +80 -0
- pulumi_gcp/dataform/get_repository_iam_policy.py +144 -0
- pulumi_gcp/dataform/outputs.py +56 -0
- pulumi_gcp/dataform/repository_iam_binding.py +325 -0
- pulumi_gcp/dataform/repository_iam_member.py +325 -0
- pulumi_gcp/dataform/repository_iam_policy.py +254 -0
- pulumi_gcp/dataloss/_inputs.py +29 -26
- pulumi_gcp/dataloss/outputs.py +28 -25
- pulumi_gcp/dataloss/prevention_job_trigger.py +78 -0
- pulumi_gcp/datastream/connection_profile.py +82 -4
- pulumi_gcp/datastream/stream.py +32 -22
- pulumi_gcp/firestore/database.py +146 -28
- pulumi_gcp/gkehub/_inputs.py +821 -3
- pulumi_gcp/gkehub/feature.py +176 -0
- pulumi_gcp/gkehub/feature_membership.py +105 -59
- pulumi_gcp/gkehub/fleet.py +70 -2
- pulumi_gcp/gkehub/outputs.py +819 -3
- pulumi_gcp/gkehub/scope.py +2 -2
- pulumi_gcp/iam/_inputs.py +72 -0
- pulumi_gcp/iam/outputs.py +79 -0
- pulumi_gcp/iam/workforce_pool.py +75 -0
- pulumi_gcp/identityplatform/project_default_config.py +4 -0
- pulumi_gcp/logging/__init__.py +3 -0
- pulumi_gcp/logging/get_folder_settings.py +197 -0
- pulumi_gcp/logging/get_organization_settings.py +197 -0
- pulumi_gcp/logging/get_project_settings.py +197 -0
- pulumi_gcp/migrationcenter/__init__.py +8 -0
- pulumi_gcp/migrationcenter/group.py +652 -0
- pulumi_gcp/netapp/__init__.py +8 -0
- pulumi_gcp/netapp/storage_pool.py +970 -0
- pulumi_gcp/projects/iam_custom_role.py +7 -7
- pulumi_gcp/provider.py +60 -0
- pulumi_gcp/securesourcemanager/__init__.py +14 -0
- pulumi_gcp/securesourcemanager/_inputs.py +94 -0
- pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +168 -0
- pulumi_gcp/securesourcemanager/instance.py +607 -0
- pulumi_gcp/securesourcemanager/instance_iam_binding.py +325 -0
- pulumi_gcp/securesourcemanager/instance_iam_member.py +325 -0
- pulumi_gcp/securesourcemanager/instance_iam_policy.py +254 -0
- pulumi_gcp/securesourcemanager/outputs.py +70 -0
- pulumi_gcp/securitycenter/__init__.py +1 -0
- pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +528 -0
- pulumi_gcp/sql/_inputs.py +2 -2
- pulumi_gcp/sql/database_instance.py +4 -4
- pulumi_gcp/sql/outputs.py +2 -2
- pulumi_gcp/storage/_inputs.py +16 -0
- pulumi_gcp/storage/outputs.py +21 -0
- pulumi_gcp/vertex/__init__.py +4 -0
- pulumi_gcp/vertex/_inputs.py +80 -0
- pulumi_gcp/vertex/ai_endpoint_iam_binding.py +325 -0
- pulumi_gcp/vertex/ai_endpoint_iam_member.py +325 -0
- pulumi_gcp/vertex/ai_endpoint_iam_policy.py +254 -0
- pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +140 -0
- pulumi_gcp/vertex/outputs.py +56 -0
- pulumi_gcp/vmwareengine/__init__.py +5 -0
- pulumi_gcp/vmwareengine/_inputs.py +104 -2
- pulumi_gcp/vmwareengine/get_network.py +14 -4
- pulumi_gcp/vmwareengine/get_network_peering.py +260 -0
- pulumi_gcp/vmwareengine/get_network_policy.py +228 -0
- pulumi_gcp/vmwareengine/get_nsx_credentials.py +133 -0
- pulumi_gcp/vmwareengine/get_private_cloud.py +14 -4
- pulumi_gcp/vmwareengine/network.py +41 -7
- pulumi_gcp/vmwareengine/network_peering.py +959 -0
- pulumi_gcp/vmwareengine/network_policy.py +836 -0
- pulumi_gcp/vmwareengine/outputs.py +133 -2
- pulumi_gcp/vmwareengine/private_cloud.py +20 -68
- {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/RECORD +101 -72
- {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.3.0a1702567892.dist-info → pulumi_gcp-7.3.1.dist-info}/top_level.txt +0 -0
pulumi_gcp/gkehub/scope.py
CHANGED
@@ -315,7 +315,7 @@ class Scope(pulumi.CustomResource):
|
|
315
315
|
"keyb": "valueb",
|
316
316
|
"keyc": "valuec",
|
317
317
|
},
|
318
|
-
scope_id="
|
318
|
+
scope_id="my-scope")
|
319
319
|
```
|
320
320
|
|
321
321
|
## Import
|
@@ -383,7 +383,7 @@ class Scope(pulumi.CustomResource):
|
|
383
383
|
"keyb": "valueb",
|
384
384
|
"keyc": "valuec",
|
385
385
|
},
|
386
|
-
scope_id="
|
386
|
+
scope_id="my-scope")
|
387
387
|
```
|
388
388
|
|
389
389
|
## Import
|
pulumi_gcp/iam/_inputs.py
CHANGED
@@ -16,6 +16,8 @@ __all__ = [
|
|
16
16
|
'DenyPolicyRuleArgs',
|
17
17
|
'DenyPolicyRuleDenyRuleArgs',
|
18
18
|
'DenyPolicyRuleDenyRuleDenialConditionArgs',
|
19
|
+
'WorkforcePoolAccessRestrictionsArgs',
|
20
|
+
'WorkforcePoolAccessRestrictionsAllowedServiceArgs',
|
19
21
|
'WorkforcePoolProviderOidcArgs',
|
20
22
|
'WorkforcePoolProviderOidcClientSecretArgs',
|
21
23
|
'WorkforcePoolProviderOidcClientSecretValueArgs',
|
@@ -421,6 +423,76 @@ class DenyPolicyRuleDenyRuleDenialConditionArgs:
|
|
421
423
|
pulumi.set(self, "title", value)
|
422
424
|
|
423
425
|
|
426
|
+
@pulumi.input_type
|
427
|
+
class WorkforcePoolAccessRestrictionsArgs:
|
428
|
+
def __init__(__self__, *,
|
429
|
+
allowed_services: Optional[pulumi.Input[Sequence[pulumi.Input['WorkforcePoolAccessRestrictionsAllowedServiceArgs']]]] = None,
|
430
|
+
disable_programmatic_signin: Optional[pulumi.Input[bool]] = None):
|
431
|
+
"""
|
432
|
+
:param pulumi.Input[Sequence[pulumi.Input['WorkforcePoolAccessRestrictionsAllowedServiceArgs']]] allowed_services: Services allowed for web sign-in with the workforce pool.
|
433
|
+
If not set by default there are no restrictions.
|
434
|
+
Structure is documented below.
|
435
|
+
:param pulumi.Input[bool] disable_programmatic_signin: Disable programmatic sign-in by disabling token issue via the Security Token API endpoint.
|
436
|
+
See [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).
|
437
|
+
"""
|
438
|
+
if allowed_services is not None:
|
439
|
+
pulumi.set(__self__, "allowed_services", allowed_services)
|
440
|
+
if disable_programmatic_signin is not None:
|
441
|
+
pulumi.set(__self__, "disable_programmatic_signin", disable_programmatic_signin)
|
442
|
+
|
443
|
+
@property
|
444
|
+
@pulumi.getter(name="allowedServices")
|
445
|
+
def allowed_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['WorkforcePoolAccessRestrictionsAllowedServiceArgs']]]]:
|
446
|
+
"""
|
447
|
+
Services allowed for web sign-in with the workforce pool.
|
448
|
+
If not set by default there are no restrictions.
|
449
|
+
Structure is documented below.
|
450
|
+
"""
|
451
|
+
return pulumi.get(self, "allowed_services")
|
452
|
+
|
453
|
+
@allowed_services.setter
|
454
|
+
def allowed_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['WorkforcePoolAccessRestrictionsAllowedServiceArgs']]]]):
|
455
|
+
pulumi.set(self, "allowed_services", value)
|
456
|
+
|
457
|
+
@property
|
458
|
+
@pulumi.getter(name="disableProgrammaticSignin")
|
459
|
+
def disable_programmatic_signin(self) -> Optional[pulumi.Input[bool]]:
|
460
|
+
"""
|
461
|
+
Disable programmatic sign-in by disabling token issue via the Security Token API endpoint.
|
462
|
+
See [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).
|
463
|
+
"""
|
464
|
+
return pulumi.get(self, "disable_programmatic_signin")
|
465
|
+
|
466
|
+
@disable_programmatic_signin.setter
|
467
|
+
def disable_programmatic_signin(self, value: Optional[pulumi.Input[bool]]):
|
468
|
+
pulumi.set(self, "disable_programmatic_signin", value)
|
469
|
+
|
470
|
+
|
471
|
+
@pulumi.input_type
|
472
|
+
class WorkforcePoolAccessRestrictionsAllowedServiceArgs:
|
473
|
+
def __init__(__self__, *,
|
474
|
+
domain: Optional[pulumi.Input[str]] = None):
|
475
|
+
"""
|
476
|
+
:param pulumi.Input[str] domain: Domain name of the service.
|
477
|
+
Example: console.cloud.google
|
478
|
+
"""
|
479
|
+
if domain is not None:
|
480
|
+
pulumi.set(__self__, "domain", domain)
|
481
|
+
|
482
|
+
@property
|
483
|
+
@pulumi.getter
|
484
|
+
def domain(self) -> Optional[pulumi.Input[str]]:
|
485
|
+
"""
|
486
|
+
Domain name of the service.
|
487
|
+
Example: console.cloud.google
|
488
|
+
"""
|
489
|
+
return pulumi.get(self, "domain")
|
490
|
+
|
491
|
+
@domain.setter
|
492
|
+
def domain(self, value: Optional[pulumi.Input[str]]):
|
493
|
+
pulumi.set(self, "domain", value)
|
494
|
+
|
495
|
+
|
424
496
|
@pulumi.input_type
|
425
497
|
class WorkforcePoolProviderOidcArgs:
|
426
498
|
def __init__(__self__, *,
|
pulumi_gcp/iam/outputs.py
CHANGED
@@ -17,6 +17,8 @@ __all__ = [
|
|
17
17
|
'DenyPolicyRule',
|
18
18
|
'DenyPolicyRuleDenyRule',
|
19
19
|
'DenyPolicyRuleDenyRuleDenialCondition',
|
20
|
+
'WorkforcePoolAccessRestrictions',
|
21
|
+
'WorkforcePoolAccessRestrictionsAllowedService',
|
20
22
|
'WorkforcePoolProviderOidc',
|
21
23
|
'WorkforcePoolProviderOidcClientSecret',
|
22
24
|
'WorkforcePoolProviderOidcClientSecretValue',
|
@@ -425,6 +427,83 @@ class DenyPolicyRuleDenyRuleDenialCondition(dict):
|
|
425
427
|
return pulumi.get(self, "title")
|
426
428
|
|
427
429
|
|
430
|
+
@pulumi.output_type
|
431
|
+
class WorkforcePoolAccessRestrictions(dict):
|
432
|
+
@staticmethod
|
433
|
+
def __key_warning(key: str):
|
434
|
+
suggest = None
|
435
|
+
if key == "allowedServices":
|
436
|
+
suggest = "allowed_services"
|
437
|
+
elif key == "disableProgrammaticSignin":
|
438
|
+
suggest = "disable_programmatic_signin"
|
439
|
+
|
440
|
+
if suggest:
|
441
|
+
pulumi.log.warn(f"Key '{key}' not found in WorkforcePoolAccessRestrictions. Access the value via the '{suggest}' property getter instead.")
|
442
|
+
|
443
|
+
def __getitem__(self, key: str) -> Any:
|
444
|
+
WorkforcePoolAccessRestrictions.__key_warning(key)
|
445
|
+
return super().__getitem__(key)
|
446
|
+
|
447
|
+
def get(self, key: str, default = None) -> Any:
|
448
|
+
WorkforcePoolAccessRestrictions.__key_warning(key)
|
449
|
+
return super().get(key, default)
|
450
|
+
|
451
|
+
def __init__(__self__, *,
|
452
|
+
allowed_services: Optional[Sequence['outputs.WorkforcePoolAccessRestrictionsAllowedService']] = None,
|
453
|
+
disable_programmatic_signin: Optional[bool] = None):
|
454
|
+
"""
|
455
|
+
:param Sequence['WorkforcePoolAccessRestrictionsAllowedServiceArgs'] allowed_services: Services allowed for web sign-in with the workforce pool.
|
456
|
+
If not set by default there are no restrictions.
|
457
|
+
Structure is documented below.
|
458
|
+
:param bool disable_programmatic_signin: Disable programmatic sign-in by disabling token issue via the Security Token API endpoint.
|
459
|
+
See [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).
|
460
|
+
"""
|
461
|
+
if allowed_services is not None:
|
462
|
+
pulumi.set(__self__, "allowed_services", allowed_services)
|
463
|
+
if disable_programmatic_signin is not None:
|
464
|
+
pulumi.set(__self__, "disable_programmatic_signin", disable_programmatic_signin)
|
465
|
+
|
466
|
+
@property
|
467
|
+
@pulumi.getter(name="allowedServices")
|
468
|
+
def allowed_services(self) -> Optional[Sequence['outputs.WorkforcePoolAccessRestrictionsAllowedService']]:
|
469
|
+
"""
|
470
|
+
Services allowed for web sign-in with the workforce pool.
|
471
|
+
If not set by default there are no restrictions.
|
472
|
+
Structure is documented below.
|
473
|
+
"""
|
474
|
+
return pulumi.get(self, "allowed_services")
|
475
|
+
|
476
|
+
@property
|
477
|
+
@pulumi.getter(name="disableProgrammaticSignin")
|
478
|
+
def disable_programmatic_signin(self) -> Optional[bool]:
|
479
|
+
"""
|
480
|
+
Disable programmatic sign-in by disabling token issue via the Security Token API endpoint.
|
481
|
+
See [Security Token Service API](https://cloud.google.com/iam/docs/reference/sts/rest).
|
482
|
+
"""
|
483
|
+
return pulumi.get(self, "disable_programmatic_signin")
|
484
|
+
|
485
|
+
|
486
|
+
@pulumi.output_type
|
487
|
+
class WorkforcePoolAccessRestrictionsAllowedService(dict):
|
488
|
+
def __init__(__self__, *,
|
489
|
+
domain: Optional[str] = None):
|
490
|
+
"""
|
491
|
+
:param str domain: Domain name of the service.
|
492
|
+
Example: console.cloud.google
|
493
|
+
"""
|
494
|
+
if domain is not None:
|
495
|
+
pulumi.set(__self__, "domain", domain)
|
496
|
+
|
497
|
+
@property
|
498
|
+
@pulumi.getter
|
499
|
+
def domain(self) -> Optional[str]:
|
500
|
+
"""
|
501
|
+
Domain name of the service.
|
502
|
+
Example: console.cloud.google
|
503
|
+
"""
|
504
|
+
return pulumi.get(self, "domain")
|
505
|
+
|
506
|
+
|
428
507
|
@pulumi.output_type
|
429
508
|
class WorkforcePoolProviderOidc(dict):
|
430
509
|
@staticmethod
|
pulumi_gcp/iam/workforce_pool.py
CHANGED
@@ -8,6 +8,8 @@ import pulumi
|
|
8
8
|
import pulumi.runtime
|
9
9
|
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
10
|
from .. import _utilities
|
11
|
+
from . import outputs
|
12
|
+
from ._inputs import *
|
11
13
|
|
12
14
|
__all__ = ['WorkforcePoolArgs', 'WorkforcePool']
|
13
15
|
|
@@ -17,6 +19,7 @@ class WorkforcePoolArgs:
|
|
17
19
|
location: pulumi.Input[str],
|
18
20
|
parent: pulumi.Input[str],
|
19
21
|
workforce_pool_id: pulumi.Input[str],
|
22
|
+
access_restrictions: Optional[pulumi.Input['WorkforcePoolAccessRestrictionsArgs']] = None,
|
20
23
|
description: Optional[pulumi.Input[str]] = None,
|
21
24
|
disabled: Optional[pulumi.Input[bool]] = None,
|
22
25
|
display_name: Optional[pulumi.Input[str]] = None,
|
@@ -31,6 +34,9 @@ class WorkforcePoolArgs:
|
|
31
34
|
:param pulumi.Input[str] workforce_pool_id: The name of the pool. The ID must be a globally unique string of 6 to 63 lowercase letters,
|
32
35
|
digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen.
|
33
36
|
The prefix `gcp-` is reserved for use by Google, and may not be specified.
|
37
|
+
:param pulumi.Input['WorkforcePoolAccessRestrictionsArgs'] access_restrictions: Configure access restrictions on the workforce pool users. This is an optional field. If specified web
|
38
|
+
sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users.
|
39
|
+
Structure is documented below.
|
34
40
|
:param pulumi.Input[str] description: A user-specified description of the pool. Cannot exceed 256 characters.
|
35
41
|
:param pulumi.Input[bool] disabled: Whether the pool is disabled. You cannot use a disabled pool to exchange tokens,
|
36
42
|
or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.
|
@@ -44,6 +50,8 @@ class WorkforcePoolArgs:
|
|
44
50
|
pulumi.set(__self__, "location", location)
|
45
51
|
pulumi.set(__self__, "parent", parent)
|
46
52
|
pulumi.set(__self__, "workforce_pool_id", workforce_pool_id)
|
53
|
+
if access_restrictions is not None:
|
54
|
+
pulumi.set(__self__, "access_restrictions", access_restrictions)
|
47
55
|
if description is not None:
|
48
56
|
pulumi.set(__self__, "description", description)
|
49
57
|
if disabled is not None:
|
@@ -94,6 +102,20 @@ class WorkforcePoolArgs:
|
|
94
102
|
def workforce_pool_id(self, value: pulumi.Input[str]):
|
95
103
|
pulumi.set(self, "workforce_pool_id", value)
|
96
104
|
|
105
|
+
@property
|
106
|
+
@pulumi.getter(name="accessRestrictions")
|
107
|
+
def access_restrictions(self) -> Optional[pulumi.Input['WorkforcePoolAccessRestrictionsArgs']]:
|
108
|
+
"""
|
109
|
+
Configure access restrictions on the workforce pool users. This is an optional field. If specified web
|
110
|
+
sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users.
|
111
|
+
Structure is documented below.
|
112
|
+
"""
|
113
|
+
return pulumi.get(self, "access_restrictions")
|
114
|
+
|
115
|
+
@access_restrictions.setter
|
116
|
+
def access_restrictions(self, value: Optional[pulumi.Input['WorkforcePoolAccessRestrictionsArgs']]):
|
117
|
+
pulumi.set(self, "access_restrictions", value)
|
118
|
+
|
97
119
|
@property
|
98
120
|
@pulumi.getter
|
99
121
|
def description(self) -> Optional[pulumi.Input[str]]:
|
@@ -151,6 +173,7 @@ class WorkforcePoolArgs:
|
|
151
173
|
@pulumi.input_type
|
152
174
|
class _WorkforcePoolState:
|
153
175
|
def __init__(__self__, *,
|
176
|
+
access_restrictions: Optional[pulumi.Input['WorkforcePoolAccessRestrictionsArgs']] = None,
|
154
177
|
description: Optional[pulumi.Input[str]] = None,
|
155
178
|
disabled: Optional[pulumi.Input[bool]] = None,
|
156
179
|
display_name: Optional[pulumi.Input[str]] = None,
|
@@ -162,6 +185,9 @@ class _WorkforcePoolState:
|
|
162
185
|
workforce_pool_id: Optional[pulumi.Input[str]] = None):
|
163
186
|
"""
|
164
187
|
Input properties used for looking up and filtering WorkforcePool resources.
|
188
|
+
:param pulumi.Input['WorkforcePoolAccessRestrictionsArgs'] access_restrictions: Configure access restrictions on the workforce pool users. This is an optional field. If specified web
|
189
|
+
sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users.
|
190
|
+
Structure is documented below.
|
165
191
|
:param pulumi.Input[str] description: A user-specified description of the pool. Cannot exceed 256 characters.
|
166
192
|
:param pulumi.Input[bool] disabled: Whether the pool is disabled. You cannot use a disabled pool to exchange tokens,
|
167
193
|
or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.
|
@@ -192,6 +218,8 @@ class _WorkforcePoolState:
|
|
192
218
|
digits, or hyphens. It must start with a letter, and cannot have a trailing hyphen.
|
193
219
|
The prefix `gcp-` is reserved for use by Google, and may not be specified.
|
194
220
|
"""
|
221
|
+
if access_restrictions is not None:
|
222
|
+
pulumi.set(__self__, "access_restrictions", access_restrictions)
|
195
223
|
if description is not None:
|
196
224
|
pulumi.set(__self__, "description", description)
|
197
225
|
if disabled is not None:
|
@@ -211,6 +239,20 @@ class _WorkforcePoolState:
|
|
211
239
|
if workforce_pool_id is not None:
|
212
240
|
pulumi.set(__self__, "workforce_pool_id", workforce_pool_id)
|
213
241
|
|
242
|
+
@property
|
243
|
+
@pulumi.getter(name="accessRestrictions")
|
244
|
+
def access_restrictions(self) -> Optional[pulumi.Input['WorkforcePoolAccessRestrictionsArgs']]:
|
245
|
+
"""
|
246
|
+
Configure access restrictions on the workforce pool users. This is an optional field. If specified web
|
247
|
+
sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users.
|
248
|
+
Structure is documented below.
|
249
|
+
"""
|
250
|
+
return pulumi.get(self, "access_restrictions")
|
251
|
+
|
252
|
+
@access_restrictions.setter
|
253
|
+
def access_restrictions(self, value: Optional[pulumi.Input['WorkforcePoolAccessRestrictionsArgs']]):
|
254
|
+
pulumi.set(self, "access_restrictions", value)
|
255
|
+
|
214
256
|
@property
|
215
257
|
@pulumi.getter
|
216
258
|
def description(self) -> Optional[pulumi.Input[str]]:
|
@@ -345,6 +387,7 @@ class WorkforcePool(pulumi.CustomResource):
|
|
345
387
|
def __init__(__self__,
|
346
388
|
resource_name: str,
|
347
389
|
opts: Optional[pulumi.ResourceOptions] = None,
|
390
|
+
access_restrictions: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolAccessRestrictionsArgs']]] = None,
|
348
391
|
description: Optional[pulumi.Input[str]] = None,
|
349
392
|
disabled: Optional[pulumi.Input[bool]] = None,
|
350
393
|
display_name: Optional[pulumi.Input[str]] = None,
|
@@ -385,6 +428,12 @@ class WorkforcePool(pulumi.CustomResource):
|
|
385
428
|
import pulumi_gcp as gcp
|
386
429
|
|
387
430
|
example = gcp.iam.WorkforcePool("example",
|
431
|
+
access_restrictions=gcp.iam.WorkforcePoolAccessRestrictionsArgs(
|
432
|
+
allowed_services=[gcp.iam.WorkforcePoolAccessRestrictionsAllowedServiceArgs(
|
433
|
+
domain="backstory.chronicle.security",
|
434
|
+
)],
|
435
|
+
disable_programmatic_signin=False,
|
436
|
+
),
|
388
437
|
description="A sample workforce pool.",
|
389
438
|
disabled=False,
|
390
439
|
display_name="Display name",
|
@@ -416,6 +465,9 @@ class WorkforcePool(pulumi.CustomResource):
|
|
416
465
|
|
417
466
|
:param str resource_name: The name of the resource.
|
418
467
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
468
|
+
:param pulumi.Input[pulumi.InputType['WorkforcePoolAccessRestrictionsArgs']] access_restrictions: Configure access restrictions on the workforce pool users. This is an optional field. If specified web
|
469
|
+
sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users.
|
470
|
+
Structure is documented below.
|
419
471
|
:param pulumi.Input[str] description: A user-specified description of the pool. Cannot exceed 256 characters.
|
420
472
|
:param pulumi.Input[bool] disabled: Whether the pool is disabled. You cannot use a disabled pool to exchange tokens,
|
421
473
|
or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.
|
@@ -472,6 +524,12 @@ class WorkforcePool(pulumi.CustomResource):
|
|
472
524
|
import pulumi_gcp as gcp
|
473
525
|
|
474
526
|
example = gcp.iam.WorkforcePool("example",
|
527
|
+
access_restrictions=gcp.iam.WorkforcePoolAccessRestrictionsArgs(
|
528
|
+
allowed_services=[gcp.iam.WorkforcePoolAccessRestrictionsAllowedServiceArgs(
|
529
|
+
domain="backstory.chronicle.security",
|
530
|
+
)],
|
531
|
+
disable_programmatic_signin=False,
|
532
|
+
),
|
475
533
|
description="A sample workforce pool.",
|
476
534
|
disabled=False,
|
477
535
|
display_name="Display name",
|
@@ -516,6 +574,7 @@ class WorkforcePool(pulumi.CustomResource):
|
|
516
574
|
def _internal_init(__self__,
|
517
575
|
resource_name: str,
|
518
576
|
opts: Optional[pulumi.ResourceOptions] = None,
|
577
|
+
access_restrictions: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolAccessRestrictionsArgs']]] = None,
|
519
578
|
description: Optional[pulumi.Input[str]] = None,
|
520
579
|
disabled: Optional[pulumi.Input[bool]] = None,
|
521
580
|
display_name: Optional[pulumi.Input[str]] = None,
|
@@ -532,6 +591,7 @@ class WorkforcePool(pulumi.CustomResource):
|
|
532
591
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
533
592
|
__props__ = WorkforcePoolArgs.__new__(WorkforcePoolArgs)
|
534
593
|
|
594
|
+
__props__.__dict__["access_restrictions"] = access_restrictions
|
535
595
|
__props__.__dict__["description"] = description
|
536
596
|
__props__.__dict__["disabled"] = disabled
|
537
597
|
__props__.__dict__["display_name"] = display_name
|
@@ -557,6 +617,7 @@ class WorkforcePool(pulumi.CustomResource):
|
|
557
617
|
def get(resource_name: str,
|
558
618
|
id: pulumi.Input[str],
|
559
619
|
opts: Optional[pulumi.ResourceOptions] = None,
|
620
|
+
access_restrictions: Optional[pulumi.Input[pulumi.InputType['WorkforcePoolAccessRestrictionsArgs']]] = None,
|
560
621
|
description: Optional[pulumi.Input[str]] = None,
|
561
622
|
disabled: Optional[pulumi.Input[bool]] = None,
|
562
623
|
display_name: Optional[pulumi.Input[str]] = None,
|
@@ -573,6 +634,9 @@ class WorkforcePool(pulumi.CustomResource):
|
|
573
634
|
:param str resource_name: The unique name of the resulting resource.
|
574
635
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
575
636
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
637
|
+
:param pulumi.Input[pulumi.InputType['WorkforcePoolAccessRestrictionsArgs']] access_restrictions: Configure access restrictions on the workforce pool users. This is an optional field. If specified web
|
638
|
+
sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users.
|
639
|
+
Structure is documented below.
|
576
640
|
:param pulumi.Input[str] description: A user-specified description of the pool. Cannot exceed 256 characters.
|
577
641
|
:param pulumi.Input[bool] disabled: Whether the pool is disabled. You cannot use a disabled pool to exchange tokens,
|
578
642
|
or use existing tokens to access resources. If the pool is re-enabled, existing tokens grant access again.
|
@@ -607,6 +671,7 @@ class WorkforcePool(pulumi.CustomResource):
|
|
607
671
|
|
608
672
|
__props__ = _WorkforcePoolState.__new__(_WorkforcePoolState)
|
609
673
|
|
674
|
+
__props__.__dict__["access_restrictions"] = access_restrictions
|
610
675
|
__props__.__dict__["description"] = description
|
611
676
|
__props__.__dict__["disabled"] = disabled
|
612
677
|
__props__.__dict__["display_name"] = display_name
|
@@ -618,6 +683,16 @@ class WorkforcePool(pulumi.CustomResource):
|
|
618
683
|
__props__.__dict__["workforce_pool_id"] = workforce_pool_id
|
619
684
|
return WorkforcePool(resource_name, opts=opts, __props__=__props__)
|
620
685
|
|
686
|
+
@property
|
687
|
+
@pulumi.getter(name="accessRestrictions")
|
688
|
+
def access_restrictions(self) -> pulumi.Output[Optional['outputs.WorkforcePoolAccessRestrictions']]:
|
689
|
+
"""
|
690
|
+
Configure access restrictions on the workforce pool users. This is an optional field. If specified web
|
691
|
+
sign-in can be restricted to given set of services or programmatic sign-in can be disabled for pool users.
|
692
|
+
Structure is documented below.
|
693
|
+
"""
|
694
|
+
return pulumi.get(self, "access_restrictions")
|
695
|
+
|
621
696
|
@property
|
622
697
|
@pulumi.getter
|
623
698
|
def description(self) -> pulumi.Output[Optional[str]]:
|
@@ -126,6 +126,8 @@ class ProjectDefaultConfig(pulumi.CustomResource):
|
|
126
126
|
sign_in: Optional[pulumi.Input[pulumi.InputType['ProjectDefaultConfigSignInArgs']]] = None,
|
127
127
|
__props__=None):
|
128
128
|
"""
|
129
|
+
> **Warning:** `identityplatform.Config` is deprecated and will be removed in the next major release of the provider. Use the `identityplatform.Config` resource instead. It contains a more comprehensive list of fields, and was created before `identityplatform.ProjectDefaultConfig` was added.
|
130
|
+
|
129
131
|
There is no persistent data associated with this resource.
|
130
132
|
|
131
133
|
> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource,
|
@@ -197,6 +199,8 @@ class ProjectDefaultConfig(pulumi.CustomResource):
|
|
197
199
|
args: Optional[ProjectDefaultConfigArgs] = None,
|
198
200
|
opts: Optional[pulumi.ResourceOptions] = None):
|
199
201
|
"""
|
202
|
+
> **Warning:** `identityplatform.Config` is deprecated and will be removed in the next major release of the provider. Use the `identityplatform.Config` resource instead. It contains a more comprehensive list of fields, and was created before `identityplatform.ProjectDefaultConfig` was added.
|
203
|
+
|
200
204
|
There is no persistent data associated with this resource.
|
201
205
|
|
202
206
|
> **Warning:** If you are using User ADCs (Application Default Credentials) with this resource,
|
pulumi_gcp/logging/__init__.py
CHANGED
@@ -11,7 +11,10 @@ from .billing_account_sink import *
|
|
11
11
|
from .folder_bucket_config import *
|
12
12
|
from .folder_exclusion import *
|
13
13
|
from .folder_sink import *
|
14
|
+
from .get_folder_settings import *
|
15
|
+
from .get_organization_settings import *
|
14
16
|
from .get_project_cmek_settings import *
|
17
|
+
from .get_project_settings import *
|
15
18
|
from .get_sink import *
|
16
19
|
from .linked_dataset import *
|
17
20
|
from .log_view import *
|
@@ -0,0 +1,197 @@
|
|
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 pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
|
12
|
+
__all__ = [
|
13
|
+
'GetFolderSettingsResult',
|
14
|
+
'AwaitableGetFolderSettingsResult',
|
15
|
+
'get_folder_settings',
|
16
|
+
'get_folder_settings_output',
|
17
|
+
]
|
18
|
+
|
19
|
+
@pulumi.output_type
|
20
|
+
class GetFolderSettingsResult:
|
21
|
+
"""
|
22
|
+
A collection of values returned by getFolderSettings.
|
23
|
+
"""
|
24
|
+
def __init__(__self__, disable_default_sink=None, folder=None, id=None, kms_key_name=None, kms_service_account_id=None, logging_service_account_id=None, name=None, storage_location=None):
|
25
|
+
if disable_default_sink and not isinstance(disable_default_sink, bool):
|
26
|
+
raise TypeError("Expected argument 'disable_default_sink' to be a bool")
|
27
|
+
pulumi.set(__self__, "disable_default_sink", disable_default_sink)
|
28
|
+
if folder and not isinstance(folder, str):
|
29
|
+
raise TypeError("Expected argument 'folder' to be a str")
|
30
|
+
pulumi.set(__self__, "folder", folder)
|
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 kms_key_name and not isinstance(kms_key_name, str):
|
35
|
+
raise TypeError("Expected argument 'kms_key_name' to be a str")
|
36
|
+
pulumi.set(__self__, "kms_key_name", kms_key_name)
|
37
|
+
if kms_service_account_id and not isinstance(kms_service_account_id, str):
|
38
|
+
raise TypeError("Expected argument 'kms_service_account_id' to be a str")
|
39
|
+
pulumi.set(__self__, "kms_service_account_id", kms_service_account_id)
|
40
|
+
if logging_service_account_id and not isinstance(logging_service_account_id, str):
|
41
|
+
raise TypeError("Expected argument 'logging_service_account_id' to be a str")
|
42
|
+
pulumi.set(__self__, "logging_service_account_id", logging_service_account_id)
|
43
|
+
if name and not isinstance(name, str):
|
44
|
+
raise TypeError("Expected argument 'name' to be a str")
|
45
|
+
pulumi.set(__self__, "name", name)
|
46
|
+
if storage_location and not isinstance(storage_location, str):
|
47
|
+
raise TypeError("Expected argument 'storage_location' to be a str")
|
48
|
+
pulumi.set(__self__, "storage_location", storage_location)
|
49
|
+
|
50
|
+
@property
|
51
|
+
@pulumi.getter(name="disableDefaultSink")
|
52
|
+
def disable_default_sink(self) -> bool:
|
53
|
+
"""
|
54
|
+
If set to true, the _Default sink in newly created projects and folders will created in a disabled state. This can be used to automatically disable log storage if there is already an aggregated sink configured in the hierarchy. The _Default sink can be re-enabled manually if needed.
|
55
|
+
"""
|
56
|
+
return pulumi.get(self, "disable_default_sink")
|
57
|
+
|
58
|
+
@property
|
59
|
+
@pulumi.getter
|
60
|
+
def folder(self) -> str:
|
61
|
+
return pulumi.get(self, "folder")
|
62
|
+
|
63
|
+
@property
|
64
|
+
@pulumi.getter
|
65
|
+
def id(self) -> str:
|
66
|
+
"""
|
67
|
+
The provider-assigned unique ID for this managed resource.
|
68
|
+
"""
|
69
|
+
return pulumi.get(self, "id")
|
70
|
+
|
71
|
+
@property
|
72
|
+
@pulumi.getter(name="kmsKeyName")
|
73
|
+
def kms_key_name(self) -> str:
|
74
|
+
"""
|
75
|
+
The resource name for the configured Cloud KMS key.
|
76
|
+
KMS key name format:
|
77
|
+
`'projects/[PROJECT_ID]/locations/[LOCATION]/keyRings/[KEYRING]/cryptoKeys/[KEY]'`
|
78
|
+
To enable CMEK for the bucket, set this field to a valid kmsKeyName for which the associated service account has the required cloudkms.cryptoKeyEncrypterDecrypter roles assigned for the key.
|
79
|
+
The Cloud KMS key used by the bucket can be updated by changing the kmsKeyName to a new valid key name. Encryption operations that are in progress will be completed with the key that was in use when they started. Decryption operations will be completed using the key that was used at the time of encryption unless access to that key has been revoked.
|
80
|
+
See [Enabling CMEK for Logging Buckets](https://cloud.google.com/logging/docs/routing/managed-encryption-storage) for more information.
|
81
|
+
"""
|
82
|
+
return pulumi.get(self, "kms_key_name")
|
83
|
+
|
84
|
+
@property
|
85
|
+
@pulumi.getter(name="kmsServiceAccountId")
|
86
|
+
def kms_service_account_id(self) -> str:
|
87
|
+
"""
|
88
|
+
The service account associated with a project for which CMEK will apply.
|
89
|
+
Before enabling CMEK for a logging bucket, you must first assign the cloudkms.cryptoKeyEncrypterDecrypter role to the service account associated with the project for which CMEK will apply. See [Enabling CMEK for Logging Buckets](https://cloud.google.com/logging/docs/routing/managed-encryption-storage) for more information.
|
90
|
+
"""
|
91
|
+
return pulumi.get(self, "kms_service_account_id")
|
92
|
+
|
93
|
+
@property
|
94
|
+
@pulumi.getter(name="loggingServiceAccountId")
|
95
|
+
def logging_service_account_id(self) -> str:
|
96
|
+
"""
|
97
|
+
The service account for the given container. Sinks use this service account as their writerIdentity if no custom service account is provided.
|
98
|
+
"""
|
99
|
+
return pulumi.get(self, "logging_service_account_id")
|
100
|
+
|
101
|
+
@property
|
102
|
+
@pulumi.getter
|
103
|
+
def name(self) -> str:
|
104
|
+
"""
|
105
|
+
The resource name of the settings.
|
106
|
+
"""
|
107
|
+
return pulumi.get(self, "name")
|
108
|
+
|
109
|
+
@property
|
110
|
+
@pulumi.getter(name="storageLocation")
|
111
|
+
def storage_location(self) -> str:
|
112
|
+
"""
|
113
|
+
The storage location that Cloud Logging will use to create new resources when a location is needed but not explicitly provided.
|
114
|
+
"""
|
115
|
+
return pulumi.get(self, "storage_location")
|
116
|
+
|
117
|
+
|
118
|
+
class AwaitableGetFolderSettingsResult(GetFolderSettingsResult):
|
119
|
+
# pylint: disable=using-constant-test
|
120
|
+
def __await__(self):
|
121
|
+
if False:
|
122
|
+
yield self
|
123
|
+
return GetFolderSettingsResult(
|
124
|
+
disable_default_sink=self.disable_default_sink,
|
125
|
+
folder=self.folder,
|
126
|
+
id=self.id,
|
127
|
+
kms_key_name=self.kms_key_name,
|
128
|
+
kms_service_account_id=self.kms_service_account_id,
|
129
|
+
logging_service_account_id=self.logging_service_account_id,
|
130
|
+
name=self.name,
|
131
|
+
storage_location=self.storage_location)
|
132
|
+
|
133
|
+
|
134
|
+
def get_folder_settings(folder: Optional[str] = None,
|
135
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetFolderSettingsResult:
|
136
|
+
"""
|
137
|
+
Describes the settings associated with a folder.
|
138
|
+
|
139
|
+
To get more information about LoggingFolderSettings, see:
|
140
|
+
|
141
|
+
* [API documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/folders/getSettings)
|
142
|
+
* [Configure default settings for organizations and folders](https://cloud.google.com/logging/docs/default-settings).
|
143
|
+
|
144
|
+
## Example Usage
|
145
|
+
### Logging Folder Settings Basic
|
146
|
+
|
147
|
+
```python
|
148
|
+
import pulumi
|
149
|
+
import pulumi_gcp as gcp
|
150
|
+
|
151
|
+
settings = gcp.logging.get_folder_settings(folder="my-folder-name")
|
152
|
+
```
|
153
|
+
|
154
|
+
|
155
|
+
:param str folder: The ID of the folder for which to retrieve settings.
|
156
|
+
"""
|
157
|
+
__args__ = dict()
|
158
|
+
__args__['folder'] = folder
|
159
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
160
|
+
__ret__ = pulumi.runtime.invoke('gcp:logging/getFolderSettings:getFolderSettings', __args__, opts=opts, typ=GetFolderSettingsResult).value
|
161
|
+
|
162
|
+
return AwaitableGetFolderSettingsResult(
|
163
|
+
disable_default_sink=pulumi.get(__ret__, 'disable_default_sink'),
|
164
|
+
folder=pulumi.get(__ret__, 'folder'),
|
165
|
+
id=pulumi.get(__ret__, 'id'),
|
166
|
+
kms_key_name=pulumi.get(__ret__, 'kms_key_name'),
|
167
|
+
kms_service_account_id=pulumi.get(__ret__, 'kms_service_account_id'),
|
168
|
+
logging_service_account_id=pulumi.get(__ret__, 'logging_service_account_id'),
|
169
|
+
name=pulumi.get(__ret__, 'name'),
|
170
|
+
storage_location=pulumi.get(__ret__, 'storage_location'))
|
171
|
+
|
172
|
+
|
173
|
+
@_utilities.lift_output_func(get_folder_settings)
|
174
|
+
def get_folder_settings_output(folder: Optional[pulumi.Input[str]] = None,
|
175
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetFolderSettingsResult]:
|
176
|
+
"""
|
177
|
+
Describes the settings associated with a folder.
|
178
|
+
|
179
|
+
To get more information about LoggingFolderSettings, see:
|
180
|
+
|
181
|
+
* [API documentation](https://cloud.google.com/logging/docs/reference/v2/rest/v2/folders/getSettings)
|
182
|
+
* [Configure default settings for organizations and folders](https://cloud.google.com/logging/docs/default-settings).
|
183
|
+
|
184
|
+
## Example Usage
|
185
|
+
### Logging Folder Settings Basic
|
186
|
+
|
187
|
+
```python
|
188
|
+
import pulumi
|
189
|
+
import pulumi_gcp as gcp
|
190
|
+
|
191
|
+
settings = gcp.logging.get_folder_settings(folder="my-folder-name")
|
192
|
+
```
|
193
|
+
|
194
|
+
|
195
|
+
:param str folder: The ID of the folder for which to retrieve settings.
|
196
|
+
"""
|
197
|
+
...
|