pulumi-gcp 7.25.0a1717135845__py3-none-any.whl → 7.26.0__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 +144 -0
- pulumi_gcp/alloydb/_inputs.py +92 -0
- pulumi_gcp/alloydb/backup.py +12 -4
- pulumi_gcp/alloydb/cluster.py +72 -6
- pulumi_gcp/alloydb/instance.py +60 -2
- pulumi_gcp/alloydb/outputs.py +114 -0
- pulumi_gcp/appengine/_inputs.py +18 -0
- pulumi_gcp/appengine/domain_mapping.py +1 -1
- pulumi_gcp/appengine/outputs.py +16 -0
- pulumi_gcp/artifactregistry/get_repository_iam_policy.py +6 -2
- pulumi_gcp/artifactregistry/repository_iam_binding.py +21 -7
- pulumi_gcp/artifactregistry/repository_iam_member.py +21 -7
- pulumi_gcp/artifactregistry/repository_iam_policy.py +21 -7
- pulumi_gcp/bigquery/_inputs.py +286 -2
- pulumi_gcp/bigquery/connection_iam_binding.py +21 -7
- pulumi_gcp/bigquery/connection_iam_member.py +21 -7
- pulumi_gcp/bigquery/connection_iam_policy.py +21 -7
- pulumi_gcp/bigquery/data_transfer_config.py +14 -7
- pulumi_gcp/bigquery/get_connection_iam_policy.py +6 -2
- pulumi_gcp/bigquery/outputs.py +289 -2
- pulumi_gcp/bigquery/table.py +77 -35
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +21 -7
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +21 -7
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +21 -7
- pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +6 -2
- pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +6 -2
- pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +21 -7
- pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +21 -7
- pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +21 -7
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +21 -7
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +21 -7
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +21 -7
- pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +6 -2
- pulumi_gcp/certificateauthority/_inputs.py +20 -4
- pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +21 -7
- pulumi_gcp/certificateauthority/ca_pool_iam_member.py +21 -7
- pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +21 -7
- pulumi_gcp/certificateauthority/certificate_template.py +157 -173
- pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +27 -0
- pulumi_gcp/certificateauthority/certificate_template_iam_member.py +27 -0
- pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +27 -0
- pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +6 -2
- pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +6 -0
- pulumi_gcp/certificateauthority/outputs.py +20 -4
- pulumi_gcp/cloudbuildv2/connection_iam_binding.py +21 -7
- pulumi_gcp/cloudbuildv2/connection_iam_member.py +21 -7
- pulumi_gcp/cloudbuildv2/connection_iam_policy.py +21 -7
- pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +6 -2
- pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +6 -2
- pulumi_gcp/cloudfunctionsv2/function.py +0 -4
- pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +21 -7
- pulumi_gcp/cloudfunctionsv2/function_iam_member.py +21 -7
- pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +21 -7
- pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +6 -2
- pulumi_gcp/cloudrun/_inputs.py +80 -4
- pulumi_gcp/cloudrun/get_service_iam_policy.py +6 -2
- pulumi_gcp/cloudrun/iam_binding.py +21 -7
- pulumi_gcp/cloudrun/iam_member.py +21 -7
- pulumi_gcp/cloudrun/iam_policy.py +21 -7
- pulumi_gcp/cloudrun/outputs.py +137 -4
- pulumi_gcp/cloudrunv2/get_job_iam_policy.py +6 -2
- pulumi_gcp/cloudrunv2/get_service.py +11 -1
- pulumi_gcp/cloudrunv2/get_service_iam_policy.py +6 -2
- pulumi_gcp/cloudrunv2/job_iam_binding.py +21 -7
- pulumi_gcp/cloudrunv2/job_iam_member.py +21 -7
- pulumi_gcp/cloudrunv2/job_iam_policy.py +21 -7
- pulumi_gcp/cloudrunv2/service.py +47 -0
- pulumi_gcp/cloudrunv2/service_iam_binding.py +21 -7
- pulumi_gcp/cloudrunv2/service_iam_member.py +21 -7
- pulumi_gcp/cloudrunv2/service_iam_policy.py +21 -7
- pulumi_gcp/cloudtasks/get_queue_iam_policy.py +6 -2
- pulumi_gcp/cloudtasks/queue_iam_binding.py +21 -7
- pulumi_gcp/cloudtasks/queue_iam_member.py +21 -7
- pulumi_gcp/cloudtasks/queue_iam_policy.py +21 -7
- pulumi_gcp/composer/user_workloads_secret.py +4 -4
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +416 -194
- pulumi_gcp/compute/get_subnetworks.py +157 -0
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/interconnect_attachment.py +82 -0
- pulumi_gcp/compute/network_endpoint.py +2 -2
- pulumi_gcp/compute/network_endpoint_list.py +2 -2
- pulumi_gcp/compute/outputs.py +629 -181
- pulumi_gcp/compute/region_ssl_policy.py +39 -40
- pulumi_gcp/compute/security_policy_rule.py +55 -1
- pulumi_gcp/container/_inputs.py +560 -0
- pulumi_gcp/container/outputs.py +1106 -51
- pulumi_gcp/dataplex/__init__.py +15 -0
- pulumi_gcp/dataplex/_inputs.py +264 -0
- pulumi_gcp/dataplex/aspect_type.py +1077 -0
- pulumi_gcp/dataplex/aspect_type_iam_binding.py +779 -0
- pulumi_gcp/dataplex/aspect_type_iam_member.py +779 -0
- pulumi_gcp/dataplex/aspect_type_iam_policy.py +618 -0
- pulumi_gcp/dataplex/datascan_iam_binding.py +21 -7
- pulumi_gcp/dataplex/datascan_iam_member.py +21 -7
- pulumi_gcp/dataplex/datascan_iam_policy.py +21 -7
- pulumi_gcp/dataplex/entry_group.py +722 -0
- pulumi_gcp/dataplex/entry_group_iam_binding.py +779 -0
- pulumi_gcp/dataplex/entry_group_iam_member.py +779 -0
- pulumi_gcp/dataplex/entry_group_iam_policy.py +618 -0
- pulumi_gcp/dataplex/entry_type.py +963 -0
- pulumi_gcp/dataplex/entry_type_iam_binding.py +779 -0
- pulumi_gcp/dataplex/entry_type_iam_member.py +779 -0
- pulumi_gcp/dataplex/entry_type_iam_policy.py +618 -0
- pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +168 -0
- pulumi_gcp/dataplex/get_datascan_iam_policy.py +6 -2
- pulumi_gcp/dataplex/get_entry_group_iam_policy.py +168 -0
- pulumi_gcp/dataplex/get_entry_type_iam_policy.py +168 -0
- pulumi_gcp/dataplex/get_task_iam_policy.py +6 -2
- pulumi_gcp/dataplex/outputs.py +188 -0
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataplex/task_iam_binding.py +21 -7
- pulumi_gcp/dataplex/task_iam_member.py +21 -7
- pulumi_gcp/dataplex/task_iam_policy.py +21 -7
- pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +21 -7
- pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +21 -7
- pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +21 -7
- pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +6 -2
- pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +6 -2
- pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +6 -2
- pulumi_gcp/dataproc/metastore_federation_iam_binding.py +21 -7
- pulumi_gcp/dataproc/metastore_federation_iam_member.py +21 -7
- pulumi_gcp/dataproc/metastore_federation_iam_policy.py +21 -7
- pulumi_gcp/dataproc/metastore_service_iam_binding.py +21 -7
- pulumi_gcp/dataproc/metastore_service_iam_member.py +21 -7
- pulumi_gcp/dataproc/metastore_service_iam_policy.py +21 -7
- pulumi_gcp/datastream/connection_profile.py +47 -0
- pulumi_gcp/datastream/private_connection.py +47 -0
- pulumi_gcp/datastream/stream.py +47 -0
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/gkebackup/backup_plan_iam_binding.py +21 -7
- pulumi_gcp/gkebackup/backup_plan_iam_member.py +21 -7
- pulumi_gcp/gkebackup/backup_plan_iam_policy.py +21 -7
- pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +6 -2
- pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +6 -2
- pulumi_gcp/gkehub/feature_iam_binding.py +21 -7
- pulumi_gcp/gkehub/feature_iam_member.py +21 -7
- pulumi_gcp/gkehub/feature_iam_policy.py +21 -7
- pulumi_gcp/gkehub/get_feature_iam_policy.py +6 -2
- pulumi_gcp/gkehub/get_membership_iam_policy.py +6 -2
- pulumi_gcp/gkehub/membership_binding.py +6 -6
- pulumi_gcp/gkehub/membership_iam_binding.py +21 -7
- pulumi_gcp/gkehub/membership_iam_member.py +21 -7
- pulumi_gcp/gkehub/membership_iam_policy.py +21 -7
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +366 -0
- pulumi_gcp/kms/key_handle.py +548 -0
- pulumi_gcp/logging/__init__.py +4 -0
- pulumi_gcp/logging/_inputs.py +100 -0
- pulumi_gcp/logging/get_log_view_iam_policy.py +157 -0
- pulumi_gcp/logging/log_view_iam_binding.py +630 -0
- pulumi_gcp/logging/log_view_iam_member.py +630 -0
- pulumi_gcp/logging/log_view_iam_policy.py +449 -0
- pulumi_gcp/logging/outputs.py +76 -0
- pulumi_gcp/netapp/storage_pool.py +9 -9
- pulumi_gcp/networksecurity/address_group_iam_policy.py +21 -7
- pulumi_gcp/networksecurity/get_address_group_iam_policy.py +6 -2
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +245 -27
- pulumi_gcp/networkservices/lb_route_extension.py +663 -0
- pulumi_gcp/networkservices/lb_traffic_extension.py +28 -14
- pulumi_gcp/networkservices/outputs.py +251 -20
- pulumi_gcp/notebooks/get_instance_iam_policy.py +6 -2
- pulumi_gcp/notebooks/get_runtime_iam_policy.py +6 -2
- pulumi_gcp/notebooks/instance_iam_binding.py +21 -7
- pulumi_gcp/notebooks/instance_iam_member.py +21 -7
- pulumi_gcp/notebooks/instance_iam_policy.py +21 -7
- pulumi_gcp/notebooks/runtime_iam_binding.py +21 -7
- pulumi_gcp/notebooks/runtime_iam_member.py +21 -7
- pulumi_gcp/notebooks/runtime_iam_policy.py +21 -7
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/privilegedaccessmanager/entitlement.py +7 -7
- pulumi_gcp/pubsub/_inputs.py +16 -0
- pulumi_gcp/pubsub/outputs.py +25 -0
- pulumi_gcp/pubsub/subscription.py +8 -4
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +6 -2
- pulumi_gcp/sql/_inputs.py +2 -4
- pulumi_gcp/sql/outputs.py +6 -8
- pulumi_gcp/sql/user.py +4 -4
- pulumi_gcp/storage/_inputs.py +48 -0
- pulumi_gcp/storage/outputs.py +75 -0
- pulumi_gcp/tpu/_inputs.py +2 -2
- pulumi_gcp/tpu/outputs.py +2 -2
- pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +6 -2
- pulumi_gcp/workbench/get_instance_iam_policy.py +6 -2
- pulumi_gcp/workstations/get_workstation_config_iam_policy.py +6 -2
- pulumi_gcp/workstations/get_workstation_iam_policy.py +6 -2
- pulumi_gcp/workstations/workstation_config_iam_binding.py +21 -7
- pulumi_gcp/workstations/workstation_config_iam_member.py +21 -7
- pulumi_gcp/workstations/workstation_config_iam_policy.py +21 -7
- pulumi_gcp/workstations/workstation_iam_binding.py +21 -7
- pulumi_gcp/workstations/workstation_iam_member.py +21 -7
- pulumi_gcp/workstations/workstation_iam_policy.py +21 -7
- {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/RECORD +203 -180
- {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.25.0a1717135845.dist-info → pulumi_gcp-7.26.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,548 @@
|
|
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__ = ['KeyHandleArgs', 'KeyHandle']
|
13
|
+
|
14
|
+
@pulumi.input_type
|
15
|
+
class KeyHandleArgs:
|
16
|
+
def __init__(__self__, *,
|
17
|
+
location: pulumi.Input[str],
|
18
|
+
resource_type_selector: pulumi.Input[str],
|
19
|
+
name: Optional[pulumi.Input[str]] = None,
|
20
|
+
project: Optional[pulumi.Input[str]] = None):
|
21
|
+
"""
|
22
|
+
The set of arguments for constructing a KeyHandle resource.
|
23
|
+
:param pulumi.Input[str] location: The location for the KeyHandle.
|
24
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
25
|
+
|
26
|
+
|
27
|
+
- - -
|
28
|
+
:param pulumi.Input[str] resource_type_selector: Selector of the resource type where we want to protect resources.
|
29
|
+
For example, `storage.googleapis.com/Bucket OR compute.googleapis.com/*`
|
30
|
+
:param pulumi.Input[str] name: The resource name for the KeyHandle.
|
31
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
32
|
+
If it is not provided, the provider project is used.
|
33
|
+
"""
|
34
|
+
pulumi.set(__self__, "location", location)
|
35
|
+
pulumi.set(__self__, "resource_type_selector", resource_type_selector)
|
36
|
+
if name is not None:
|
37
|
+
pulumi.set(__self__, "name", name)
|
38
|
+
if project is not None:
|
39
|
+
pulumi.set(__self__, "project", project)
|
40
|
+
|
41
|
+
@property
|
42
|
+
@pulumi.getter
|
43
|
+
def location(self) -> pulumi.Input[str]:
|
44
|
+
"""
|
45
|
+
The location for the KeyHandle.
|
46
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
47
|
+
|
48
|
+
|
49
|
+
- - -
|
50
|
+
"""
|
51
|
+
return pulumi.get(self, "location")
|
52
|
+
|
53
|
+
@location.setter
|
54
|
+
def location(self, value: pulumi.Input[str]):
|
55
|
+
pulumi.set(self, "location", value)
|
56
|
+
|
57
|
+
@property
|
58
|
+
@pulumi.getter(name="resourceTypeSelector")
|
59
|
+
def resource_type_selector(self) -> pulumi.Input[str]:
|
60
|
+
"""
|
61
|
+
Selector of the resource type where we want to protect resources.
|
62
|
+
For example, `storage.googleapis.com/Bucket OR compute.googleapis.com/*`
|
63
|
+
"""
|
64
|
+
return pulumi.get(self, "resource_type_selector")
|
65
|
+
|
66
|
+
@resource_type_selector.setter
|
67
|
+
def resource_type_selector(self, value: pulumi.Input[str]):
|
68
|
+
pulumi.set(self, "resource_type_selector", value)
|
69
|
+
|
70
|
+
@property
|
71
|
+
@pulumi.getter
|
72
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
73
|
+
"""
|
74
|
+
The resource name for the KeyHandle.
|
75
|
+
"""
|
76
|
+
return pulumi.get(self, "name")
|
77
|
+
|
78
|
+
@name.setter
|
79
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
80
|
+
pulumi.set(self, "name", value)
|
81
|
+
|
82
|
+
@property
|
83
|
+
@pulumi.getter
|
84
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
85
|
+
"""
|
86
|
+
The ID of the project in which the resource belongs.
|
87
|
+
If it is not provided, the provider project is used.
|
88
|
+
"""
|
89
|
+
return pulumi.get(self, "project")
|
90
|
+
|
91
|
+
@project.setter
|
92
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
93
|
+
pulumi.set(self, "project", value)
|
94
|
+
|
95
|
+
|
96
|
+
@pulumi.input_type
|
97
|
+
class _KeyHandleState:
|
98
|
+
def __init__(__self__, *,
|
99
|
+
kms_key: Optional[pulumi.Input[str]] = None,
|
100
|
+
location: Optional[pulumi.Input[str]] = None,
|
101
|
+
name: Optional[pulumi.Input[str]] = None,
|
102
|
+
project: Optional[pulumi.Input[str]] = None,
|
103
|
+
resource_type_selector: Optional[pulumi.Input[str]] = None):
|
104
|
+
"""
|
105
|
+
Input properties used for looking up and filtering KeyHandle resources.
|
106
|
+
:param pulumi.Input[str] kms_key: A reference to a Cloud KMS CryptoKey that can be used for CMEK in the requested
|
107
|
+
product/project/location, for example
|
108
|
+
`projects/1/locations/us-east1/keyRings/foo/cryptoKeys/bar-ffffff`
|
109
|
+
:param pulumi.Input[str] location: The location for the KeyHandle.
|
110
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
111
|
+
|
112
|
+
|
113
|
+
- - -
|
114
|
+
:param pulumi.Input[str] name: The resource name for the KeyHandle.
|
115
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
116
|
+
If it is not provided, the provider project is used.
|
117
|
+
:param pulumi.Input[str] resource_type_selector: Selector of the resource type where we want to protect resources.
|
118
|
+
For example, `storage.googleapis.com/Bucket OR compute.googleapis.com/*`
|
119
|
+
"""
|
120
|
+
if kms_key is not None:
|
121
|
+
pulumi.set(__self__, "kms_key", kms_key)
|
122
|
+
if location is not None:
|
123
|
+
pulumi.set(__self__, "location", location)
|
124
|
+
if name is not None:
|
125
|
+
pulumi.set(__self__, "name", name)
|
126
|
+
if project is not None:
|
127
|
+
pulumi.set(__self__, "project", project)
|
128
|
+
if resource_type_selector is not None:
|
129
|
+
pulumi.set(__self__, "resource_type_selector", resource_type_selector)
|
130
|
+
|
131
|
+
@property
|
132
|
+
@pulumi.getter(name="kmsKey")
|
133
|
+
def kms_key(self) -> Optional[pulumi.Input[str]]:
|
134
|
+
"""
|
135
|
+
A reference to a Cloud KMS CryptoKey that can be used for CMEK in the requested
|
136
|
+
product/project/location, for example
|
137
|
+
`projects/1/locations/us-east1/keyRings/foo/cryptoKeys/bar-ffffff`
|
138
|
+
"""
|
139
|
+
return pulumi.get(self, "kms_key")
|
140
|
+
|
141
|
+
@kms_key.setter
|
142
|
+
def kms_key(self, value: Optional[pulumi.Input[str]]):
|
143
|
+
pulumi.set(self, "kms_key", value)
|
144
|
+
|
145
|
+
@property
|
146
|
+
@pulumi.getter
|
147
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
148
|
+
"""
|
149
|
+
The location for the KeyHandle.
|
150
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
151
|
+
|
152
|
+
|
153
|
+
- - -
|
154
|
+
"""
|
155
|
+
return pulumi.get(self, "location")
|
156
|
+
|
157
|
+
@location.setter
|
158
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
159
|
+
pulumi.set(self, "location", value)
|
160
|
+
|
161
|
+
@property
|
162
|
+
@pulumi.getter
|
163
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
164
|
+
"""
|
165
|
+
The resource name for the KeyHandle.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "name")
|
168
|
+
|
169
|
+
@name.setter
|
170
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
171
|
+
pulumi.set(self, "name", value)
|
172
|
+
|
173
|
+
@property
|
174
|
+
@pulumi.getter
|
175
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
176
|
+
"""
|
177
|
+
The ID of the project in which the resource belongs.
|
178
|
+
If it is not provided, the provider project is used.
|
179
|
+
"""
|
180
|
+
return pulumi.get(self, "project")
|
181
|
+
|
182
|
+
@project.setter
|
183
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
184
|
+
pulumi.set(self, "project", value)
|
185
|
+
|
186
|
+
@property
|
187
|
+
@pulumi.getter(name="resourceTypeSelector")
|
188
|
+
def resource_type_selector(self) -> Optional[pulumi.Input[str]]:
|
189
|
+
"""
|
190
|
+
Selector of the resource type where we want to protect resources.
|
191
|
+
For example, `storage.googleapis.com/Bucket OR compute.googleapis.com/*`
|
192
|
+
"""
|
193
|
+
return pulumi.get(self, "resource_type_selector")
|
194
|
+
|
195
|
+
@resource_type_selector.setter
|
196
|
+
def resource_type_selector(self, value: Optional[pulumi.Input[str]]):
|
197
|
+
pulumi.set(self, "resource_type_selector", value)
|
198
|
+
|
199
|
+
|
200
|
+
class KeyHandle(pulumi.CustomResource):
|
201
|
+
@overload
|
202
|
+
def __init__(__self__,
|
203
|
+
resource_name: str,
|
204
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
205
|
+
location: Optional[pulumi.Input[str]] = None,
|
206
|
+
name: Optional[pulumi.Input[str]] = None,
|
207
|
+
project: Optional[pulumi.Input[str]] = None,
|
208
|
+
resource_type_selector: Optional[pulumi.Input[str]] = None,
|
209
|
+
__props__=None):
|
210
|
+
"""
|
211
|
+
## Example Usage
|
212
|
+
|
213
|
+
### Kms Key Handle Basic
|
214
|
+
|
215
|
+
```python
|
216
|
+
import pulumi
|
217
|
+
import pulumi_gcp as gcp
|
218
|
+
import pulumi_time as time
|
219
|
+
|
220
|
+
# Create Folder in GCP Organization
|
221
|
+
autokms_folder = gcp.organizations.Folder("autokms_folder",
|
222
|
+
display_name="folder-example",
|
223
|
+
parent="organizations/123456789")
|
224
|
+
# Create the key project
|
225
|
+
key_project = gcp.organizations.Project("key_project",
|
226
|
+
project_id="key-proj",
|
227
|
+
name="key-proj",
|
228
|
+
folder_id=autokms_folder.folder_id,
|
229
|
+
billing_account="000000-0000000-0000000-000000",
|
230
|
+
opts=pulumi.ResourceOptions(depends_on=[autokms_folder]))
|
231
|
+
# Create the resource project
|
232
|
+
resource_project = gcp.organizations.Project("resource_project",
|
233
|
+
project_id="resources",
|
234
|
+
name="resources",
|
235
|
+
folder_id=autokms_folder.folder_id,
|
236
|
+
billing_account="000000-0000000-0000000-000000",
|
237
|
+
opts=pulumi.ResourceOptions(depends_on=[autokms_folder]))
|
238
|
+
# Enable the Cloud KMS API
|
239
|
+
kms_api_service = gcp.projects.Service("kms_api_service",
|
240
|
+
service="cloudkms.googleapis.com",
|
241
|
+
project=key_project.project_id,
|
242
|
+
disable_on_destroy=False,
|
243
|
+
disable_dependent_services=True,
|
244
|
+
opts=pulumi.ResourceOptions(depends_on=[key_project]))
|
245
|
+
# Wait delay after enabling APIs
|
246
|
+
wait_enable_service_api = time.index.Sleep("wait_enable_service_api", create_duration=30s,
|
247
|
+
opts=pulumi.ResourceOptions(depends_on=[kms_api_service]))
|
248
|
+
#Create KMS Service Agent
|
249
|
+
kms_service_agent = gcp.projects.ServiceIdentity("kms_service_agent",
|
250
|
+
service="cloudkms.googleapis.com",
|
251
|
+
project=key_project.number,
|
252
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
|
253
|
+
# Wait delay after creating service agent.
|
254
|
+
wait_service_agent = time.index.Sleep("wait_service_agent", create_duration=10s,
|
255
|
+
opts=pulumi.ResourceOptions(depends_on=[kms_service_agent]))
|
256
|
+
#Grant the KMS Service Agent the Cloud KMS Admin role
|
257
|
+
autokey_project_admin = gcp.projects.IAMMember("autokey_project_admin",
|
258
|
+
project=key_project.project_id,
|
259
|
+
role="roles/cloudkms.admin",
|
260
|
+
member=key_project.number.apply(lambda number: f"serviceAccount:service-{number}@gcp-sa-cloudkms.iam.gserviceaccount.com"),
|
261
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_service_agent]))
|
262
|
+
# Wait delay after granting IAM permissions
|
263
|
+
wait_srv_acc_permissions = time.index.Sleep("wait_srv_acc_permissions", create_duration=10s,
|
264
|
+
opts=pulumi.ResourceOptions(depends_on=[autokey_project_admin]))
|
265
|
+
autokey_config = gcp.kms.AutokeyConfig("autokey_config",
|
266
|
+
folder=autokms_folder.folder_id,
|
267
|
+
key_project=key_project.project_id.apply(lambda project_id: f"projects/{project_id}"),
|
268
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_srv_acc_permissions]))
|
269
|
+
# Wait delay for autokey config to take effect
|
270
|
+
wait_autokey_config = time.index.Sleep("wait_autokey_config", create_duration=10s,
|
271
|
+
opts=pulumi.ResourceOptions(depends_on=[autokey_config]))
|
272
|
+
example_keyhandle = gcp.kms.KeyHandle("example-keyhandle",
|
273
|
+
project=resource_project.project_id,
|
274
|
+
name="example-key-handle",
|
275
|
+
location="global",
|
276
|
+
resource_type_selector="storage.googleapis.com/Bucket",
|
277
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_autokey_config]))
|
278
|
+
```
|
279
|
+
|
280
|
+
## Import
|
281
|
+
|
282
|
+
KeyHandle can be imported using any of these accepted formats:
|
283
|
+
|
284
|
+
* `projects/{{project}}/locations/{{location}}/keyHandles/{{name}}`
|
285
|
+
|
286
|
+
* `{{project}}/{{location}}/{{name}}`
|
287
|
+
|
288
|
+
* `{{location}}/{{name}}`
|
289
|
+
|
290
|
+
When using the `pulumi import` command, KeyHandle can be imported using one of the formats above. For example:
|
291
|
+
|
292
|
+
```sh
|
293
|
+
$ pulumi import gcp:kms/keyHandle:KeyHandle default projects/{{project}}/locations/{{location}}/keyHandles/{{name}}
|
294
|
+
```
|
295
|
+
|
296
|
+
```sh
|
297
|
+
$ pulumi import gcp:kms/keyHandle:KeyHandle default {{project}}/{{location}}/{{name}}
|
298
|
+
```
|
299
|
+
|
300
|
+
```sh
|
301
|
+
$ pulumi import gcp:kms/keyHandle:KeyHandle default {{location}}/{{name}}
|
302
|
+
```
|
303
|
+
|
304
|
+
:param str resource_name: The name of the resource.
|
305
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
306
|
+
:param pulumi.Input[str] location: The location for the KeyHandle.
|
307
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
308
|
+
|
309
|
+
|
310
|
+
- - -
|
311
|
+
:param pulumi.Input[str] name: The resource name for the KeyHandle.
|
312
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
313
|
+
If it is not provided, the provider project is used.
|
314
|
+
:param pulumi.Input[str] resource_type_selector: Selector of the resource type where we want to protect resources.
|
315
|
+
For example, `storage.googleapis.com/Bucket OR compute.googleapis.com/*`
|
316
|
+
"""
|
317
|
+
...
|
318
|
+
@overload
|
319
|
+
def __init__(__self__,
|
320
|
+
resource_name: str,
|
321
|
+
args: KeyHandleArgs,
|
322
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
323
|
+
"""
|
324
|
+
## Example Usage
|
325
|
+
|
326
|
+
### Kms Key Handle Basic
|
327
|
+
|
328
|
+
```python
|
329
|
+
import pulumi
|
330
|
+
import pulumi_gcp as gcp
|
331
|
+
import pulumi_time as time
|
332
|
+
|
333
|
+
# Create Folder in GCP Organization
|
334
|
+
autokms_folder = gcp.organizations.Folder("autokms_folder",
|
335
|
+
display_name="folder-example",
|
336
|
+
parent="organizations/123456789")
|
337
|
+
# Create the key project
|
338
|
+
key_project = gcp.organizations.Project("key_project",
|
339
|
+
project_id="key-proj",
|
340
|
+
name="key-proj",
|
341
|
+
folder_id=autokms_folder.folder_id,
|
342
|
+
billing_account="000000-0000000-0000000-000000",
|
343
|
+
opts=pulumi.ResourceOptions(depends_on=[autokms_folder]))
|
344
|
+
# Create the resource project
|
345
|
+
resource_project = gcp.organizations.Project("resource_project",
|
346
|
+
project_id="resources",
|
347
|
+
name="resources",
|
348
|
+
folder_id=autokms_folder.folder_id,
|
349
|
+
billing_account="000000-0000000-0000000-000000",
|
350
|
+
opts=pulumi.ResourceOptions(depends_on=[autokms_folder]))
|
351
|
+
# Enable the Cloud KMS API
|
352
|
+
kms_api_service = gcp.projects.Service("kms_api_service",
|
353
|
+
service="cloudkms.googleapis.com",
|
354
|
+
project=key_project.project_id,
|
355
|
+
disable_on_destroy=False,
|
356
|
+
disable_dependent_services=True,
|
357
|
+
opts=pulumi.ResourceOptions(depends_on=[key_project]))
|
358
|
+
# Wait delay after enabling APIs
|
359
|
+
wait_enable_service_api = time.index.Sleep("wait_enable_service_api", create_duration=30s,
|
360
|
+
opts=pulumi.ResourceOptions(depends_on=[kms_api_service]))
|
361
|
+
#Create KMS Service Agent
|
362
|
+
kms_service_agent = gcp.projects.ServiceIdentity("kms_service_agent",
|
363
|
+
service="cloudkms.googleapis.com",
|
364
|
+
project=key_project.number,
|
365
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_enable_service_api]))
|
366
|
+
# Wait delay after creating service agent.
|
367
|
+
wait_service_agent = time.index.Sleep("wait_service_agent", create_duration=10s,
|
368
|
+
opts=pulumi.ResourceOptions(depends_on=[kms_service_agent]))
|
369
|
+
#Grant the KMS Service Agent the Cloud KMS Admin role
|
370
|
+
autokey_project_admin = gcp.projects.IAMMember("autokey_project_admin",
|
371
|
+
project=key_project.project_id,
|
372
|
+
role="roles/cloudkms.admin",
|
373
|
+
member=key_project.number.apply(lambda number: f"serviceAccount:service-{number}@gcp-sa-cloudkms.iam.gserviceaccount.com"),
|
374
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_service_agent]))
|
375
|
+
# Wait delay after granting IAM permissions
|
376
|
+
wait_srv_acc_permissions = time.index.Sleep("wait_srv_acc_permissions", create_duration=10s,
|
377
|
+
opts=pulumi.ResourceOptions(depends_on=[autokey_project_admin]))
|
378
|
+
autokey_config = gcp.kms.AutokeyConfig("autokey_config",
|
379
|
+
folder=autokms_folder.folder_id,
|
380
|
+
key_project=key_project.project_id.apply(lambda project_id: f"projects/{project_id}"),
|
381
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_srv_acc_permissions]))
|
382
|
+
# Wait delay for autokey config to take effect
|
383
|
+
wait_autokey_config = time.index.Sleep("wait_autokey_config", create_duration=10s,
|
384
|
+
opts=pulumi.ResourceOptions(depends_on=[autokey_config]))
|
385
|
+
example_keyhandle = gcp.kms.KeyHandle("example-keyhandle",
|
386
|
+
project=resource_project.project_id,
|
387
|
+
name="example-key-handle",
|
388
|
+
location="global",
|
389
|
+
resource_type_selector="storage.googleapis.com/Bucket",
|
390
|
+
opts=pulumi.ResourceOptions(depends_on=[wait_autokey_config]))
|
391
|
+
```
|
392
|
+
|
393
|
+
## Import
|
394
|
+
|
395
|
+
KeyHandle can be imported using any of these accepted formats:
|
396
|
+
|
397
|
+
* `projects/{{project}}/locations/{{location}}/keyHandles/{{name}}`
|
398
|
+
|
399
|
+
* `{{project}}/{{location}}/{{name}}`
|
400
|
+
|
401
|
+
* `{{location}}/{{name}}`
|
402
|
+
|
403
|
+
When using the `pulumi import` command, KeyHandle can be imported using one of the formats above. For example:
|
404
|
+
|
405
|
+
```sh
|
406
|
+
$ pulumi import gcp:kms/keyHandle:KeyHandle default projects/{{project}}/locations/{{location}}/keyHandles/{{name}}
|
407
|
+
```
|
408
|
+
|
409
|
+
```sh
|
410
|
+
$ pulumi import gcp:kms/keyHandle:KeyHandle default {{project}}/{{location}}/{{name}}
|
411
|
+
```
|
412
|
+
|
413
|
+
```sh
|
414
|
+
$ pulumi import gcp:kms/keyHandle:KeyHandle default {{location}}/{{name}}
|
415
|
+
```
|
416
|
+
|
417
|
+
:param str resource_name: The name of the resource.
|
418
|
+
:param KeyHandleArgs args: The arguments to use to populate this resource's properties.
|
419
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
420
|
+
"""
|
421
|
+
...
|
422
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
423
|
+
resource_args, opts = _utilities.get_resource_args_opts(KeyHandleArgs, pulumi.ResourceOptions, *args, **kwargs)
|
424
|
+
if resource_args is not None:
|
425
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
426
|
+
else:
|
427
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
428
|
+
|
429
|
+
def _internal_init(__self__,
|
430
|
+
resource_name: str,
|
431
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
432
|
+
location: Optional[pulumi.Input[str]] = None,
|
433
|
+
name: Optional[pulumi.Input[str]] = None,
|
434
|
+
project: Optional[pulumi.Input[str]] = None,
|
435
|
+
resource_type_selector: Optional[pulumi.Input[str]] = None,
|
436
|
+
__props__=None):
|
437
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
438
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
439
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
440
|
+
if opts.id is None:
|
441
|
+
if __props__ is not None:
|
442
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
443
|
+
__props__ = KeyHandleArgs.__new__(KeyHandleArgs)
|
444
|
+
|
445
|
+
if location is None and not opts.urn:
|
446
|
+
raise TypeError("Missing required property 'location'")
|
447
|
+
__props__.__dict__["location"] = location
|
448
|
+
__props__.__dict__["name"] = name
|
449
|
+
__props__.__dict__["project"] = project
|
450
|
+
if resource_type_selector is None and not opts.urn:
|
451
|
+
raise TypeError("Missing required property 'resource_type_selector'")
|
452
|
+
__props__.__dict__["resource_type_selector"] = resource_type_selector
|
453
|
+
__props__.__dict__["kms_key"] = None
|
454
|
+
super(KeyHandle, __self__).__init__(
|
455
|
+
'gcp:kms/keyHandle:KeyHandle',
|
456
|
+
resource_name,
|
457
|
+
__props__,
|
458
|
+
opts)
|
459
|
+
|
460
|
+
@staticmethod
|
461
|
+
def get(resource_name: str,
|
462
|
+
id: pulumi.Input[str],
|
463
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
464
|
+
kms_key: Optional[pulumi.Input[str]] = None,
|
465
|
+
location: Optional[pulumi.Input[str]] = None,
|
466
|
+
name: Optional[pulumi.Input[str]] = None,
|
467
|
+
project: Optional[pulumi.Input[str]] = None,
|
468
|
+
resource_type_selector: Optional[pulumi.Input[str]] = None) -> 'KeyHandle':
|
469
|
+
"""
|
470
|
+
Get an existing KeyHandle resource's state with the given name, id, and optional extra
|
471
|
+
properties used to qualify the lookup.
|
472
|
+
|
473
|
+
:param str resource_name: The unique name of the resulting resource.
|
474
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
475
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
476
|
+
:param pulumi.Input[str] kms_key: A reference to a Cloud KMS CryptoKey that can be used for CMEK in the requested
|
477
|
+
product/project/location, for example
|
478
|
+
`projects/1/locations/us-east1/keyRings/foo/cryptoKeys/bar-ffffff`
|
479
|
+
:param pulumi.Input[str] location: The location for the KeyHandle.
|
480
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
481
|
+
|
482
|
+
|
483
|
+
- - -
|
484
|
+
:param pulumi.Input[str] name: The resource name for the KeyHandle.
|
485
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
486
|
+
If it is not provided, the provider project is used.
|
487
|
+
:param pulumi.Input[str] resource_type_selector: Selector of the resource type where we want to protect resources.
|
488
|
+
For example, `storage.googleapis.com/Bucket OR compute.googleapis.com/*`
|
489
|
+
"""
|
490
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
491
|
+
|
492
|
+
__props__ = _KeyHandleState.__new__(_KeyHandleState)
|
493
|
+
|
494
|
+
__props__.__dict__["kms_key"] = kms_key
|
495
|
+
__props__.__dict__["location"] = location
|
496
|
+
__props__.__dict__["name"] = name
|
497
|
+
__props__.__dict__["project"] = project
|
498
|
+
__props__.__dict__["resource_type_selector"] = resource_type_selector
|
499
|
+
return KeyHandle(resource_name, opts=opts, __props__=__props__)
|
500
|
+
|
501
|
+
@property
|
502
|
+
@pulumi.getter(name="kmsKey")
|
503
|
+
def kms_key(self) -> pulumi.Output[str]:
|
504
|
+
"""
|
505
|
+
A reference to a Cloud KMS CryptoKey that can be used for CMEK in the requested
|
506
|
+
product/project/location, for example
|
507
|
+
`projects/1/locations/us-east1/keyRings/foo/cryptoKeys/bar-ffffff`
|
508
|
+
"""
|
509
|
+
return pulumi.get(self, "kms_key")
|
510
|
+
|
511
|
+
@property
|
512
|
+
@pulumi.getter
|
513
|
+
def location(self) -> pulumi.Output[str]:
|
514
|
+
"""
|
515
|
+
The location for the KeyHandle.
|
516
|
+
A full list of valid locations can be found by running `gcloud kms locations list`.
|
517
|
+
|
518
|
+
|
519
|
+
- - -
|
520
|
+
"""
|
521
|
+
return pulumi.get(self, "location")
|
522
|
+
|
523
|
+
@property
|
524
|
+
@pulumi.getter
|
525
|
+
def name(self) -> pulumi.Output[str]:
|
526
|
+
"""
|
527
|
+
The resource name for the KeyHandle.
|
528
|
+
"""
|
529
|
+
return pulumi.get(self, "name")
|
530
|
+
|
531
|
+
@property
|
532
|
+
@pulumi.getter
|
533
|
+
def project(self) -> pulumi.Output[str]:
|
534
|
+
"""
|
535
|
+
The ID of the project in which the resource belongs.
|
536
|
+
If it is not provided, the provider project is used.
|
537
|
+
"""
|
538
|
+
return pulumi.get(self, "project")
|
539
|
+
|
540
|
+
@property
|
541
|
+
@pulumi.getter(name="resourceTypeSelector")
|
542
|
+
def resource_type_selector(self) -> pulumi.Output[str]:
|
543
|
+
"""
|
544
|
+
Selector of the resource type where we want to protect resources.
|
545
|
+
For example, `storage.googleapis.com/Bucket OR compute.googleapis.com/*`
|
546
|
+
"""
|
547
|
+
return pulumi.get(self, "resource_type_selector")
|
548
|
+
|
pulumi_gcp/logging/__init__.py
CHANGED
@@ -13,12 +13,16 @@ from .folder_exclusion import *
|
|
13
13
|
from .folder_settings import *
|
14
14
|
from .folder_sink import *
|
15
15
|
from .get_folder_settings import *
|
16
|
+
from .get_log_view_iam_policy import *
|
16
17
|
from .get_organization_settings import *
|
17
18
|
from .get_project_cmek_settings import *
|
18
19
|
from .get_project_settings import *
|
19
20
|
from .get_sink import *
|
20
21
|
from .linked_dataset import *
|
21
22
|
from .log_view import *
|
23
|
+
from .log_view_iam_binding import *
|
24
|
+
from .log_view_iam_member import *
|
25
|
+
from .log_view_iam_policy import *
|
22
26
|
from .metric import *
|
23
27
|
from .organization_bucket_config import *
|
24
28
|
from .organization_exclusion import *
|
pulumi_gcp/logging/_inputs.py
CHANGED
@@ -19,6 +19,8 @@ __all__ = [
|
|
19
19
|
'FolderSinkBigqueryOptionsArgs',
|
20
20
|
'FolderSinkExclusionArgs',
|
21
21
|
'LinkedDatasetBigqueryDatasetArgs',
|
22
|
+
'LogViewIamBindingConditionArgs',
|
23
|
+
'LogViewIamMemberConditionArgs',
|
22
24
|
'MetricBucketOptionsArgs',
|
23
25
|
'MetricBucketOptionsExplicitBucketsArgs',
|
24
26
|
'MetricBucketOptionsExponentialBucketsArgs',
|
@@ -530,6 +532,104 @@ class LinkedDatasetBigqueryDatasetArgs:
|
|
530
532
|
pulumi.set(self, "dataset_id", value)
|
531
533
|
|
532
534
|
|
535
|
+
@pulumi.input_type
|
536
|
+
class LogViewIamBindingConditionArgs:
|
537
|
+
def __init__(__self__, *,
|
538
|
+
expression: pulumi.Input[str],
|
539
|
+
title: pulumi.Input[str],
|
540
|
+
description: Optional[pulumi.Input[str]] = None):
|
541
|
+
"""
|
542
|
+
:param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
|
543
|
+
:param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
|
544
|
+
"""
|
545
|
+
pulumi.set(__self__, "expression", expression)
|
546
|
+
pulumi.set(__self__, "title", title)
|
547
|
+
if description is not None:
|
548
|
+
pulumi.set(__self__, "description", description)
|
549
|
+
|
550
|
+
@property
|
551
|
+
@pulumi.getter
|
552
|
+
def expression(self) -> pulumi.Input[str]:
|
553
|
+
"""
|
554
|
+
Textual representation of an expression in Common Expression Language syntax.
|
555
|
+
"""
|
556
|
+
return pulumi.get(self, "expression")
|
557
|
+
|
558
|
+
@expression.setter
|
559
|
+
def expression(self, value: pulumi.Input[str]):
|
560
|
+
pulumi.set(self, "expression", value)
|
561
|
+
|
562
|
+
@property
|
563
|
+
@pulumi.getter
|
564
|
+
def title(self) -> pulumi.Input[str]:
|
565
|
+
"""
|
566
|
+
A title for the expression, i.e. a short string describing its purpose.
|
567
|
+
"""
|
568
|
+
return pulumi.get(self, "title")
|
569
|
+
|
570
|
+
@title.setter
|
571
|
+
def title(self, value: pulumi.Input[str]):
|
572
|
+
pulumi.set(self, "title", value)
|
573
|
+
|
574
|
+
@property
|
575
|
+
@pulumi.getter
|
576
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
577
|
+
return pulumi.get(self, "description")
|
578
|
+
|
579
|
+
@description.setter
|
580
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
581
|
+
pulumi.set(self, "description", value)
|
582
|
+
|
583
|
+
|
584
|
+
@pulumi.input_type
|
585
|
+
class LogViewIamMemberConditionArgs:
|
586
|
+
def __init__(__self__, *,
|
587
|
+
expression: pulumi.Input[str],
|
588
|
+
title: pulumi.Input[str],
|
589
|
+
description: Optional[pulumi.Input[str]] = None):
|
590
|
+
"""
|
591
|
+
:param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
|
592
|
+
:param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
|
593
|
+
"""
|
594
|
+
pulumi.set(__self__, "expression", expression)
|
595
|
+
pulumi.set(__self__, "title", title)
|
596
|
+
if description is not None:
|
597
|
+
pulumi.set(__self__, "description", description)
|
598
|
+
|
599
|
+
@property
|
600
|
+
@pulumi.getter
|
601
|
+
def expression(self) -> pulumi.Input[str]:
|
602
|
+
"""
|
603
|
+
Textual representation of an expression in Common Expression Language syntax.
|
604
|
+
"""
|
605
|
+
return pulumi.get(self, "expression")
|
606
|
+
|
607
|
+
@expression.setter
|
608
|
+
def expression(self, value: pulumi.Input[str]):
|
609
|
+
pulumi.set(self, "expression", value)
|
610
|
+
|
611
|
+
@property
|
612
|
+
@pulumi.getter
|
613
|
+
def title(self) -> pulumi.Input[str]:
|
614
|
+
"""
|
615
|
+
A title for the expression, i.e. a short string describing its purpose.
|
616
|
+
"""
|
617
|
+
return pulumi.get(self, "title")
|
618
|
+
|
619
|
+
@title.setter
|
620
|
+
def title(self, value: pulumi.Input[str]):
|
621
|
+
pulumi.set(self, "title", value)
|
622
|
+
|
623
|
+
@property
|
624
|
+
@pulumi.getter
|
625
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
626
|
+
return pulumi.get(self, "description")
|
627
|
+
|
628
|
+
@description.setter
|
629
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
630
|
+
pulumi.set(self, "description", value)
|
631
|
+
|
632
|
+
|
533
633
|
@pulumi.input_type
|
534
634
|
class MetricBucketOptionsArgs:
|
535
635
|
def __init__(__self__, *,
|