pulumi-gcp 7.5.0a1704347630__py3-none-any.whl → 7.6.0__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 +99 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +40 -0
- pulumi_gcp/bigqueryanalyticshub/listing.py +117 -3
- pulumi_gcp/bigqueryanalyticshub/outputs.py +49 -0
- pulumi_gcp/clouddeploy/__init__.py +1 -0
- pulumi_gcp/clouddeploy/_inputs.py +239 -0
- pulumi_gcp/clouddeploy/automation.py +1103 -0
- pulumi_gcp/clouddeploy/outputs.py +246 -0
- pulumi_gcp/clouddomains/__init__.py +10 -0
- pulumi_gcp/clouddomains/_inputs.py +1098 -0
- pulumi_gcp/clouddomains/outputs.py +1156 -0
- pulumi_gcp/clouddomains/registration.py +1068 -0
- pulumi_gcp/cloudrunv2/job.py +4 -4
- pulumi_gcp/composer/_inputs.py +79 -1
- pulumi_gcp/composer/outputs.py +131 -4
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +180 -0
- pulumi_gcp/compute/get_instance_template.py +11 -1
- pulumi_gcp/compute/get_region_instance_template.py +11 -1
- pulumi_gcp/compute/get_reservation.py +212 -0
- pulumi_gcp/compute/instance_template.py +47 -0
- pulumi_gcp/compute/network_firewall_policy.py +20 -22
- pulumi_gcp/compute/outputs.py +325 -0
- pulumi_gcp/compute/region_instance_template.py +47 -0
- pulumi_gcp/compute/region_network_firewall_policy.py +31 -35
- pulumi_gcp/compute/router_peer.py +54 -0
- pulumi_gcp/compute/vpn_tunnel.py +8 -4
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +23 -0
- pulumi_gcp/container/aws_node_pool.py +7 -7
- pulumi_gcp/container/cluster.py +68 -14
- pulumi_gcp/container/get_cluster.py +11 -1
- pulumi_gcp/container/outputs.py +49 -0
- pulumi_gcp/dataflow/pipeline.py +1 -1
- pulumi_gcp/dataproc/_inputs.py +413 -39
- pulumi_gcp/dataproc/metastore_service.py +63 -0
- pulumi_gcp/dataproc/outputs.py +461 -39
- pulumi_gcp/dns/__init__.py +1 -0
- pulumi_gcp/dns/_inputs.py +94 -0
- pulumi_gcp/dns/get_managed_zones.py +89 -0
- pulumi_gcp/dns/outputs.py +62 -0
- pulumi_gcp/edgecontainer/vpn_connection.py +10 -10
- pulumi_gcp/filestore/__init__.py +1 -0
- pulumi_gcp/filestore/get_instance.py +258 -0
- pulumi_gcp/filestore/instance.py +7 -7
- pulumi_gcp/filestore/outputs.py +126 -0
- pulumi_gcp/gkebackup/backup_plan.py +24 -8
- pulumi_gcp/gkebackup/restore_plan.py +36 -12
- pulumi_gcp/gkebackup/restore_plan_iam_binding.py +36 -12
- pulumi_gcp/gkebackup/restore_plan_iam_member.py +36 -12
- pulumi_gcp/gkebackup/restore_plan_iam_policy.py +36 -12
- pulumi_gcp/gkehub/_inputs.py +502 -2
- pulumi_gcp/gkehub/feature.py +34 -0
- pulumi_gcp/gkehub/feature_membership.py +177 -0
- pulumi_gcp/gkehub/membership.py +18 -6
- pulumi_gcp/gkehub/outputs.py +502 -2
- pulumi_gcp/gkeonprem/_inputs.py +21 -25
- pulumi_gcp/gkeonprem/outputs.py +34 -25
- pulumi_gcp/gkeonprem/v_mware_node_pool.py +34 -0
- pulumi_gcp/integrationconnectors/__init__.py +1 -0
- pulumi_gcp/integrationconnectors/endpoint_attachment.py +669 -0
- pulumi_gcp/kms/_inputs.py +42 -0
- pulumi_gcp/kms/crypto_key.py +36 -0
- pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
- pulumi_gcp/kms/outputs.py +62 -0
- pulumi_gcp/logging/__init__.py +2 -0
- pulumi_gcp/logging/folder_settings.py +490 -0
- pulumi_gcp/logging/folder_sink.py +21 -21
- pulumi_gcp/logging/organization_settings.py +484 -0
- pulumi_gcp/logging/organization_sink.py +21 -21
- pulumi_gcp/logging/project_sink.py +7 -14
- pulumi_gcp/netapp/__init__.py +3 -0
- pulumi_gcp/netapp/active_directory.py +1413 -0
- pulumi_gcp/netapp/backup_vault.py +593 -0
- pulumi_gcp/netapp/kmsconfig.py +649 -0
- pulumi_gcp/orgpolicy/policy.py +28 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +29 -37
- pulumi_gcp/serviceaccount/account.py +47 -0
- pulumi_gcp/servicenetworking/connection.py +55 -1
- pulumi_gcp/sql/database_instance.py +2 -2
- pulumi_gcp/sql/ssl_cert.py +1 -1
- pulumi_gcp/sql/user.py +7 -7
- pulumi_gcp/storage/transfer_job.py +24 -5
- pulumi_gcp/vertex/__init__.py +3 -0
- pulumi_gcp/vertex/_inputs.py +339 -0
- pulumi_gcp/vertex/ai_feature_group.py +710 -0
- pulumi_gcp/vertex/ai_feature_online_store.py +962 -0
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +804 -0
- pulumi_gcp/vertex/outputs.py +406 -0
- pulumi_gcp/vmwareengine/__init__.py +2 -0
- pulumi_gcp/vmwareengine/_inputs.py +84 -0
- pulumi_gcp/vmwareengine/external_access_rule.py +947 -0
- pulumi_gcp/vmwareengine/get_external_access_rule.py +245 -0
- pulumi_gcp/vmwareengine/outputs.py +146 -0
- pulumi_gcp/workflows/workflow.py +7 -7
- {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/RECORD +101 -82
- {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1413 @@
|
|
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__ = ['ActiveDirectoryArgs', 'ActiveDirectory']
|
13
|
+
|
14
|
+
@pulumi.input_type
|
15
|
+
class ActiveDirectoryArgs:
|
16
|
+
def __init__(__self__, *,
|
17
|
+
dns: pulumi.Input[str],
|
18
|
+
domain: pulumi.Input[str],
|
19
|
+
location: pulumi.Input[str],
|
20
|
+
net_bios_prefix: pulumi.Input[str],
|
21
|
+
password: pulumi.Input[str],
|
22
|
+
username: pulumi.Input[str],
|
23
|
+
aes_encryption: Optional[pulumi.Input[bool]] = None,
|
24
|
+
backup_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
25
|
+
description: Optional[pulumi.Input[str]] = None,
|
26
|
+
encrypt_dc_connections: Optional[pulumi.Input[bool]] = None,
|
27
|
+
kdc_hostname: Optional[pulumi.Input[str]] = None,
|
28
|
+
kdc_ip: Optional[pulumi.Input[str]] = None,
|
29
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
30
|
+
ldap_signing: Optional[pulumi.Input[bool]] = None,
|
31
|
+
name: Optional[pulumi.Input[str]] = None,
|
32
|
+
nfs_users_with_ldap: Optional[pulumi.Input[bool]] = None,
|
33
|
+
organizational_unit: Optional[pulumi.Input[str]] = None,
|
34
|
+
project: Optional[pulumi.Input[str]] = None,
|
35
|
+
security_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
36
|
+
site: Optional[pulumi.Input[str]] = None):
|
37
|
+
"""
|
38
|
+
The set of arguments for constructing a ActiveDirectory resource.
|
39
|
+
:param pulumi.Input[str] dns: Comma separated list of DNS server IP addresses for the Active Directory domain.
|
40
|
+
:param pulumi.Input[str] domain: Fully qualified domain name for the Active Directory domain.
|
41
|
+
:param pulumi.Input[str] location: Name of the region for the policy to apply to.
|
42
|
+
:param pulumi.Input[str] net_bios_prefix: NetBIOS name prefix of the server to be created.
|
43
|
+
A five-character random ID is generated automatically, for example, -6f9a, and appended to the prefix. The full UNC share path will have the following format:
|
44
|
+
`\\\\NetBIOS_PREFIX-ABCD.DOMAIN_NAME\\SHARE_NAME`
|
45
|
+
:param pulumi.Input[str] password: Password for specified username. Note - Manual changes done to the password will not be detected. Terraform will not
|
46
|
+
re-apply the password, unless you use a new password in Terraform.
|
47
|
+
:param pulumi.Input[str] username: Username for the Active Directory account with permissions to create the compute account within the specified organizational unit.
|
48
|
+
:param pulumi.Input[bool] aes_encryption: Enables AES-128 and AES-256 encryption for Kerberos-based communication with Active Directory.
|
49
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] backup_operators: Domain user/group accounts to be added to the Backup Operators group of the SMB service. The Backup Operators group allows members to backup and restore files regardless of whether they have read or write access to the files. Comma-separated list.
|
50
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
51
|
+
:param pulumi.Input[bool] encrypt_dc_connections: If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.
|
52
|
+
:param pulumi.Input[str] kdc_hostname: Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1
|
53
|
+
:param pulumi.Input[str] kdc_ip: IP address of the Active Directory server used as Kerberos Key Distribution Center.
|
54
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
|
55
|
+
|
56
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
57
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
58
|
+
:param pulumi.Input[bool] ldap_signing: Specifies whether or not the LDAP traffic needs to be signed.
|
59
|
+
:param pulumi.Input[str] name: The resource name of the Active Directory pool. Needs to be unique per location.
|
60
|
+
|
61
|
+
|
62
|
+
- - -
|
63
|
+
:param pulumi.Input[bool] nfs_users_with_ldap: Local UNIX users on clients without valid user information in Active Directory are blocked from access to LDAP enabled volumes.
|
64
|
+
This option can be used to temporarily switch such volumes to AUTH_SYS authentication (user ID + 1-16 groups).
|
65
|
+
:param pulumi.Input[str] organizational_unit: Name of the Organizational Unit where you intend to create the computer account for NetApp Volumes.
|
66
|
+
Defaults to `CN=Computers` if left empty.
|
67
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
68
|
+
If it is not provided, the provider project is used.
|
69
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_operators: Domain accounts that require elevated privileges such as `SeSecurityPrivilege` to manage security logs. Comma-separated list.
|
70
|
+
:param pulumi.Input[str] site: Specifies an Active Directory site to manage domain controller selection.
|
71
|
+
Use when Active Directory domain controllers in multiple regions are configured. Defaults to `Default-First-Site-Name` if left empty.
|
72
|
+
"""
|
73
|
+
pulumi.set(__self__, "dns", dns)
|
74
|
+
pulumi.set(__self__, "domain", domain)
|
75
|
+
pulumi.set(__self__, "location", location)
|
76
|
+
pulumi.set(__self__, "net_bios_prefix", net_bios_prefix)
|
77
|
+
pulumi.set(__self__, "password", password)
|
78
|
+
pulumi.set(__self__, "username", username)
|
79
|
+
if aes_encryption is not None:
|
80
|
+
pulumi.set(__self__, "aes_encryption", aes_encryption)
|
81
|
+
if backup_operators is not None:
|
82
|
+
pulumi.set(__self__, "backup_operators", backup_operators)
|
83
|
+
if description is not None:
|
84
|
+
pulumi.set(__self__, "description", description)
|
85
|
+
if encrypt_dc_connections is not None:
|
86
|
+
pulumi.set(__self__, "encrypt_dc_connections", encrypt_dc_connections)
|
87
|
+
if kdc_hostname is not None:
|
88
|
+
pulumi.set(__self__, "kdc_hostname", kdc_hostname)
|
89
|
+
if kdc_ip is not None:
|
90
|
+
pulumi.set(__self__, "kdc_ip", kdc_ip)
|
91
|
+
if labels is not None:
|
92
|
+
pulumi.set(__self__, "labels", labels)
|
93
|
+
if ldap_signing is not None:
|
94
|
+
pulumi.set(__self__, "ldap_signing", ldap_signing)
|
95
|
+
if name is not None:
|
96
|
+
pulumi.set(__self__, "name", name)
|
97
|
+
if nfs_users_with_ldap is not None:
|
98
|
+
pulumi.set(__self__, "nfs_users_with_ldap", nfs_users_with_ldap)
|
99
|
+
if organizational_unit is not None:
|
100
|
+
pulumi.set(__self__, "organizational_unit", organizational_unit)
|
101
|
+
if project is not None:
|
102
|
+
pulumi.set(__self__, "project", project)
|
103
|
+
if security_operators is not None:
|
104
|
+
pulumi.set(__self__, "security_operators", security_operators)
|
105
|
+
if site is not None:
|
106
|
+
pulumi.set(__self__, "site", site)
|
107
|
+
|
108
|
+
@property
|
109
|
+
@pulumi.getter
|
110
|
+
def dns(self) -> pulumi.Input[str]:
|
111
|
+
"""
|
112
|
+
Comma separated list of DNS server IP addresses for the Active Directory domain.
|
113
|
+
"""
|
114
|
+
return pulumi.get(self, "dns")
|
115
|
+
|
116
|
+
@dns.setter
|
117
|
+
def dns(self, value: pulumi.Input[str]):
|
118
|
+
pulumi.set(self, "dns", value)
|
119
|
+
|
120
|
+
@property
|
121
|
+
@pulumi.getter
|
122
|
+
def domain(self) -> pulumi.Input[str]:
|
123
|
+
"""
|
124
|
+
Fully qualified domain name for the Active Directory domain.
|
125
|
+
"""
|
126
|
+
return pulumi.get(self, "domain")
|
127
|
+
|
128
|
+
@domain.setter
|
129
|
+
def domain(self, value: pulumi.Input[str]):
|
130
|
+
pulumi.set(self, "domain", value)
|
131
|
+
|
132
|
+
@property
|
133
|
+
@pulumi.getter
|
134
|
+
def location(self) -> pulumi.Input[str]:
|
135
|
+
"""
|
136
|
+
Name of the region for the policy to apply to.
|
137
|
+
"""
|
138
|
+
return pulumi.get(self, "location")
|
139
|
+
|
140
|
+
@location.setter
|
141
|
+
def location(self, value: pulumi.Input[str]):
|
142
|
+
pulumi.set(self, "location", value)
|
143
|
+
|
144
|
+
@property
|
145
|
+
@pulumi.getter(name="netBiosPrefix")
|
146
|
+
def net_bios_prefix(self) -> pulumi.Input[str]:
|
147
|
+
"""
|
148
|
+
NetBIOS name prefix of the server to be created.
|
149
|
+
A five-character random ID is generated automatically, for example, -6f9a, and appended to the prefix. The full UNC share path will have the following format:
|
150
|
+
`\\\\NetBIOS_PREFIX-ABCD.DOMAIN_NAME\\SHARE_NAME`
|
151
|
+
"""
|
152
|
+
return pulumi.get(self, "net_bios_prefix")
|
153
|
+
|
154
|
+
@net_bios_prefix.setter
|
155
|
+
def net_bios_prefix(self, value: pulumi.Input[str]):
|
156
|
+
pulumi.set(self, "net_bios_prefix", value)
|
157
|
+
|
158
|
+
@property
|
159
|
+
@pulumi.getter
|
160
|
+
def password(self) -> pulumi.Input[str]:
|
161
|
+
"""
|
162
|
+
Password for specified username. Note - Manual changes done to the password will not be detected. Terraform will not
|
163
|
+
re-apply the password, unless you use a new password in Terraform.
|
164
|
+
"""
|
165
|
+
return pulumi.get(self, "password")
|
166
|
+
|
167
|
+
@password.setter
|
168
|
+
def password(self, value: pulumi.Input[str]):
|
169
|
+
pulumi.set(self, "password", value)
|
170
|
+
|
171
|
+
@property
|
172
|
+
@pulumi.getter
|
173
|
+
def username(self) -> pulumi.Input[str]:
|
174
|
+
"""
|
175
|
+
Username for the Active Directory account with permissions to create the compute account within the specified organizational unit.
|
176
|
+
"""
|
177
|
+
return pulumi.get(self, "username")
|
178
|
+
|
179
|
+
@username.setter
|
180
|
+
def username(self, value: pulumi.Input[str]):
|
181
|
+
pulumi.set(self, "username", value)
|
182
|
+
|
183
|
+
@property
|
184
|
+
@pulumi.getter(name="aesEncryption")
|
185
|
+
def aes_encryption(self) -> Optional[pulumi.Input[bool]]:
|
186
|
+
"""
|
187
|
+
Enables AES-128 and AES-256 encryption for Kerberos-based communication with Active Directory.
|
188
|
+
"""
|
189
|
+
return pulumi.get(self, "aes_encryption")
|
190
|
+
|
191
|
+
@aes_encryption.setter
|
192
|
+
def aes_encryption(self, value: Optional[pulumi.Input[bool]]):
|
193
|
+
pulumi.set(self, "aes_encryption", value)
|
194
|
+
|
195
|
+
@property
|
196
|
+
@pulumi.getter(name="backupOperators")
|
197
|
+
def backup_operators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
198
|
+
"""
|
199
|
+
Domain user/group accounts to be added to the Backup Operators group of the SMB service. The Backup Operators group allows members to backup and restore files regardless of whether they have read or write access to the files. Comma-separated list.
|
200
|
+
"""
|
201
|
+
return pulumi.get(self, "backup_operators")
|
202
|
+
|
203
|
+
@backup_operators.setter
|
204
|
+
def backup_operators(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
205
|
+
pulumi.set(self, "backup_operators", value)
|
206
|
+
|
207
|
+
@property
|
208
|
+
@pulumi.getter
|
209
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
210
|
+
"""
|
211
|
+
An optional description of this resource.
|
212
|
+
"""
|
213
|
+
return pulumi.get(self, "description")
|
214
|
+
|
215
|
+
@description.setter
|
216
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
217
|
+
pulumi.set(self, "description", value)
|
218
|
+
|
219
|
+
@property
|
220
|
+
@pulumi.getter(name="encryptDcConnections")
|
221
|
+
def encrypt_dc_connections(self) -> Optional[pulumi.Input[bool]]:
|
222
|
+
"""
|
223
|
+
If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.
|
224
|
+
"""
|
225
|
+
return pulumi.get(self, "encrypt_dc_connections")
|
226
|
+
|
227
|
+
@encrypt_dc_connections.setter
|
228
|
+
def encrypt_dc_connections(self, value: Optional[pulumi.Input[bool]]):
|
229
|
+
pulumi.set(self, "encrypt_dc_connections", value)
|
230
|
+
|
231
|
+
@property
|
232
|
+
@pulumi.getter(name="kdcHostname")
|
233
|
+
def kdc_hostname(self) -> Optional[pulumi.Input[str]]:
|
234
|
+
"""
|
235
|
+
Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1
|
236
|
+
"""
|
237
|
+
return pulumi.get(self, "kdc_hostname")
|
238
|
+
|
239
|
+
@kdc_hostname.setter
|
240
|
+
def kdc_hostname(self, value: Optional[pulumi.Input[str]]):
|
241
|
+
pulumi.set(self, "kdc_hostname", value)
|
242
|
+
|
243
|
+
@property
|
244
|
+
@pulumi.getter(name="kdcIp")
|
245
|
+
def kdc_ip(self) -> Optional[pulumi.Input[str]]:
|
246
|
+
"""
|
247
|
+
IP address of the Active Directory server used as Kerberos Key Distribution Center.
|
248
|
+
"""
|
249
|
+
return pulumi.get(self, "kdc_ip")
|
250
|
+
|
251
|
+
@kdc_ip.setter
|
252
|
+
def kdc_ip(self, value: Optional[pulumi.Input[str]]):
|
253
|
+
pulumi.set(self, "kdc_ip", value)
|
254
|
+
|
255
|
+
@property
|
256
|
+
@pulumi.getter
|
257
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
258
|
+
"""
|
259
|
+
Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
|
260
|
+
|
261
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
262
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
263
|
+
"""
|
264
|
+
return pulumi.get(self, "labels")
|
265
|
+
|
266
|
+
@labels.setter
|
267
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
268
|
+
pulumi.set(self, "labels", value)
|
269
|
+
|
270
|
+
@property
|
271
|
+
@pulumi.getter(name="ldapSigning")
|
272
|
+
def ldap_signing(self) -> Optional[pulumi.Input[bool]]:
|
273
|
+
"""
|
274
|
+
Specifies whether or not the LDAP traffic needs to be signed.
|
275
|
+
"""
|
276
|
+
return pulumi.get(self, "ldap_signing")
|
277
|
+
|
278
|
+
@ldap_signing.setter
|
279
|
+
def ldap_signing(self, value: Optional[pulumi.Input[bool]]):
|
280
|
+
pulumi.set(self, "ldap_signing", value)
|
281
|
+
|
282
|
+
@property
|
283
|
+
@pulumi.getter
|
284
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
285
|
+
"""
|
286
|
+
The resource name of the Active Directory pool. Needs to be unique per location.
|
287
|
+
|
288
|
+
|
289
|
+
- - -
|
290
|
+
"""
|
291
|
+
return pulumi.get(self, "name")
|
292
|
+
|
293
|
+
@name.setter
|
294
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
295
|
+
pulumi.set(self, "name", value)
|
296
|
+
|
297
|
+
@property
|
298
|
+
@pulumi.getter(name="nfsUsersWithLdap")
|
299
|
+
def nfs_users_with_ldap(self) -> Optional[pulumi.Input[bool]]:
|
300
|
+
"""
|
301
|
+
Local UNIX users on clients without valid user information in Active Directory are blocked from access to LDAP enabled volumes.
|
302
|
+
This option can be used to temporarily switch such volumes to AUTH_SYS authentication (user ID + 1-16 groups).
|
303
|
+
"""
|
304
|
+
return pulumi.get(self, "nfs_users_with_ldap")
|
305
|
+
|
306
|
+
@nfs_users_with_ldap.setter
|
307
|
+
def nfs_users_with_ldap(self, value: Optional[pulumi.Input[bool]]):
|
308
|
+
pulumi.set(self, "nfs_users_with_ldap", value)
|
309
|
+
|
310
|
+
@property
|
311
|
+
@pulumi.getter(name="organizationalUnit")
|
312
|
+
def organizational_unit(self) -> Optional[pulumi.Input[str]]:
|
313
|
+
"""
|
314
|
+
Name of the Organizational Unit where you intend to create the computer account for NetApp Volumes.
|
315
|
+
Defaults to `CN=Computers` if left empty.
|
316
|
+
"""
|
317
|
+
return pulumi.get(self, "organizational_unit")
|
318
|
+
|
319
|
+
@organizational_unit.setter
|
320
|
+
def organizational_unit(self, value: Optional[pulumi.Input[str]]):
|
321
|
+
pulumi.set(self, "organizational_unit", value)
|
322
|
+
|
323
|
+
@property
|
324
|
+
@pulumi.getter
|
325
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
326
|
+
"""
|
327
|
+
The ID of the project in which the resource belongs.
|
328
|
+
If it is not provided, the provider project is used.
|
329
|
+
"""
|
330
|
+
return pulumi.get(self, "project")
|
331
|
+
|
332
|
+
@project.setter
|
333
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
334
|
+
pulumi.set(self, "project", value)
|
335
|
+
|
336
|
+
@property
|
337
|
+
@pulumi.getter(name="securityOperators")
|
338
|
+
def security_operators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
339
|
+
"""
|
340
|
+
Domain accounts that require elevated privileges such as `SeSecurityPrivilege` to manage security logs. Comma-separated list.
|
341
|
+
"""
|
342
|
+
return pulumi.get(self, "security_operators")
|
343
|
+
|
344
|
+
@security_operators.setter
|
345
|
+
def security_operators(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
346
|
+
pulumi.set(self, "security_operators", value)
|
347
|
+
|
348
|
+
@property
|
349
|
+
@pulumi.getter
|
350
|
+
def site(self) -> Optional[pulumi.Input[str]]:
|
351
|
+
"""
|
352
|
+
Specifies an Active Directory site to manage domain controller selection.
|
353
|
+
Use when Active Directory domain controllers in multiple regions are configured. Defaults to `Default-First-Site-Name` if left empty.
|
354
|
+
"""
|
355
|
+
return pulumi.get(self, "site")
|
356
|
+
|
357
|
+
@site.setter
|
358
|
+
def site(self, value: Optional[pulumi.Input[str]]):
|
359
|
+
pulumi.set(self, "site", value)
|
360
|
+
|
361
|
+
|
362
|
+
@pulumi.input_type
|
363
|
+
class _ActiveDirectoryState:
|
364
|
+
def __init__(__self__, *,
|
365
|
+
aes_encryption: Optional[pulumi.Input[bool]] = None,
|
366
|
+
backup_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
367
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
368
|
+
description: Optional[pulumi.Input[str]] = None,
|
369
|
+
dns: Optional[pulumi.Input[str]] = None,
|
370
|
+
domain: Optional[pulumi.Input[str]] = None,
|
371
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
372
|
+
encrypt_dc_connections: Optional[pulumi.Input[bool]] = None,
|
373
|
+
kdc_hostname: Optional[pulumi.Input[str]] = None,
|
374
|
+
kdc_ip: Optional[pulumi.Input[str]] = None,
|
375
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
376
|
+
ldap_signing: Optional[pulumi.Input[bool]] = None,
|
377
|
+
location: Optional[pulumi.Input[str]] = None,
|
378
|
+
name: Optional[pulumi.Input[str]] = None,
|
379
|
+
net_bios_prefix: Optional[pulumi.Input[str]] = None,
|
380
|
+
nfs_users_with_ldap: Optional[pulumi.Input[bool]] = None,
|
381
|
+
organizational_unit: Optional[pulumi.Input[str]] = None,
|
382
|
+
password: Optional[pulumi.Input[str]] = None,
|
383
|
+
project: Optional[pulumi.Input[str]] = None,
|
384
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
385
|
+
security_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
386
|
+
site: Optional[pulumi.Input[str]] = None,
|
387
|
+
state: Optional[pulumi.Input[str]] = None,
|
388
|
+
state_details: Optional[pulumi.Input[str]] = None,
|
389
|
+
username: Optional[pulumi.Input[str]] = None):
|
390
|
+
"""
|
391
|
+
Input properties used for looking up and filtering ActiveDirectory resources.
|
392
|
+
:param pulumi.Input[bool] aes_encryption: Enables AES-128 and AES-256 encryption for Kerberos-based communication with Active Directory.
|
393
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] backup_operators: Domain user/group accounts to be added to the Backup Operators group of the SMB service. The Backup Operators group allows members to backup and restore files regardless of whether they have read or write access to the files. Comma-separated list.
|
394
|
+
:param pulumi.Input[str] create_time: Create time of the active directory. A timestamp in RFC3339 UTC "Zulu" format. Examples: "2023-06-22T09:13:01.617Z".
|
395
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
396
|
+
:param pulumi.Input[str] dns: Comma separated list of DNS server IP addresses for the Active Directory domain.
|
397
|
+
:param pulumi.Input[str] domain: Fully qualified domain name for the Active Directory domain.
|
398
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
399
|
+
:param pulumi.Input[bool] encrypt_dc_connections: If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.
|
400
|
+
:param pulumi.Input[str] kdc_hostname: Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1
|
401
|
+
:param pulumi.Input[str] kdc_ip: IP address of the Active Directory server used as Kerberos Key Distribution Center.
|
402
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
|
403
|
+
|
404
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
405
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
406
|
+
:param pulumi.Input[bool] ldap_signing: Specifies whether or not the LDAP traffic needs to be signed.
|
407
|
+
:param pulumi.Input[str] location: Name of the region for the policy to apply to.
|
408
|
+
:param pulumi.Input[str] name: The resource name of the Active Directory pool. Needs to be unique per location.
|
409
|
+
|
410
|
+
|
411
|
+
- - -
|
412
|
+
:param pulumi.Input[str] net_bios_prefix: NetBIOS name prefix of the server to be created.
|
413
|
+
A five-character random ID is generated automatically, for example, -6f9a, and appended to the prefix. The full UNC share path will have the following format:
|
414
|
+
`\\\\NetBIOS_PREFIX-ABCD.DOMAIN_NAME\\SHARE_NAME`
|
415
|
+
:param pulumi.Input[bool] nfs_users_with_ldap: Local UNIX users on clients without valid user information in Active Directory are blocked from access to LDAP enabled volumes.
|
416
|
+
This option can be used to temporarily switch such volumes to AUTH_SYS authentication (user ID + 1-16 groups).
|
417
|
+
:param pulumi.Input[str] organizational_unit: Name of the Organizational Unit where you intend to create the computer account for NetApp Volumes.
|
418
|
+
Defaults to `CN=Computers` if left empty.
|
419
|
+
:param pulumi.Input[str] password: Password for specified username. Note - Manual changes done to the password will not be detected. Terraform will not
|
420
|
+
re-apply the password, unless you use a new password in Terraform.
|
421
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
422
|
+
If it is not provided, the provider project is used.
|
423
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
424
|
+
and default labels configured on the provider.
|
425
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_operators: Domain accounts that require elevated privileges such as `SeSecurityPrivilege` to manage security logs. Comma-separated list.
|
426
|
+
:param pulumi.Input[str] site: Specifies an Active Directory site to manage domain controller selection.
|
427
|
+
Use when Active Directory domain controllers in multiple regions are configured. Defaults to `Default-First-Site-Name` if left empty.
|
428
|
+
:param pulumi.Input[str] state: The state of the Active Directory policy (not the Active Directory itself).
|
429
|
+
:param pulumi.Input[str] state_details: The state details of the Active Directory.
|
430
|
+
:param pulumi.Input[str] username: Username for the Active Directory account with permissions to create the compute account within the specified organizational unit.
|
431
|
+
"""
|
432
|
+
if aes_encryption is not None:
|
433
|
+
pulumi.set(__self__, "aes_encryption", aes_encryption)
|
434
|
+
if backup_operators is not None:
|
435
|
+
pulumi.set(__self__, "backup_operators", backup_operators)
|
436
|
+
if create_time is not None:
|
437
|
+
pulumi.set(__self__, "create_time", create_time)
|
438
|
+
if description is not None:
|
439
|
+
pulumi.set(__self__, "description", description)
|
440
|
+
if dns is not None:
|
441
|
+
pulumi.set(__self__, "dns", dns)
|
442
|
+
if domain is not None:
|
443
|
+
pulumi.set(__self__, "domain", domain)
|
444
|
+
if effective_labels is not None:
|
445
|
+
pulumi.set(__self__, "effective_labels", effective_labels)
|
446
|
+
if encrypt_dc_connections is not None:
|
447
|
+
pulumi.set(__self__, "encrypt_dc_connections", encrypt_dc_connections)
|
448
|
+
if kdc_hostname is not None:
|
449
|
+
pulumi.set(__self__, "kdc_hostname", kdc_hostname)
|
450
|
+
if kdc_ip is not None:
|
451
|
+
pulumi.set(__self__, "kdc_ip", kdc_ip)
|
452
|
+
if labels is not None:
|
453
|
+
pulumi.set(__self__, "labels", labels)
|
454
|
+
if ldap_signing is not None:
|
455
|
+
pulumi.set(__self__, "ldap_signing", ldap_signing)
|
456
|
+
if location is not None:
|
457
|
+
pulumi.set(__self__, "location", location)
|
458
|
+
if name is not None:
|
459
|
+
pulumi.set(__self__, "name", name)
|
460
|
+
if net_bios_prefix is not None:
|
461
|
+
pulumi.set(__self__, "net_bios_prefix", net_bios_prefix)
|
462
|
+
if nfs_users_with_ldap is not None:
|
463
|
+
pulumi.set(__self__, "nfs_users_with_ldap", nfs_users_with_ldap)
|
464
|
+
if organizational_unit is not None:
|
465
|
+
pulumi.set(__self__, "organizational_unit", organizational_unit)
|
466
|
+
if password is not None:
|
467
|
+
pulumi.set(__self__, "password", password)
|
468
|
+
if project is not None:
|
469
|
+
pulumi.set(__self__, "project", project)
|
470
|
+
if pulumi_labels is not None:
|
471
|
+
pulumi.set(__self__, "pulumi_labels", pulumi_labels)
|
472
|
+
if security_operators is not None:
|
473
|
+
pulumi.set(__self__, "security_operators", security_operators)
|
474
|
+
if site is not None:
|
475
|
+
pulumi.set(__self__, "site", site)
|
476
|
+
if state is not None:
|
477
|
+
pulumi.set(__self__, "state", state)
|
478
|
+
if state_details is not None:
|
479
|
+
pulumi.set(__self__, "state_details", state_details)
|
480
|
+
if username is not None:
|
481
|
+
pulumi.set(__self__, "username", username)
|
482
|
+
|
483
|
+
@property
|
484
|
+
@pulumi.getter(name="aesEncryption")
|
485
|
+
def aes_encryption(self) -> Optional[pulumi.Input[bool]]:
|
486
|
+
"""
|
487
|
+
Enables AES-128 and AES-256 encryption for Kerberos-based communication with Active Directory.
|
488
|
+
"""
|
489
|
+
return pulumi.get(self, "aes_encryption")
|
490
|
+
|
491
|
+
@aes_encryption.setter
|
492
|
+
def aes_encryption(self, value: Optional[pulumi.Input[bool]]):
|
493
|
+
pulumi.set(self, "aes_encryption", value)
|
494
|
+
|
495
|
+
@property
|
496
|
+
@pulumi.getter(name="backupOperators")
|
497
|
+
def backup_operators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
498
|
+
"""
|
499
|
+
Domain user/group accounts to be added to the Backup Operators group of the SMB service. The Backup Operators group allows members to backup and restore files regardless of whether they have read or write access to the files. Comma-separated list.
|
500
|
+
"""
|
501
|
+
return pulumi.get(self, "backup_operators")
|
502
|
+
|
503
|
+
@backup_operators.setter
|
504
|
+
def backup_operators(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
505
|
+
pulumi.set(self, "backup_operators", value)
|
506
|
+
|
507
|
+
@property
|
508
|
+
@pulumi.getter(name="createTime")
|
509
|
+
def create_time(self) -> Optional[pulumi.Input[str]]:
|
510
|
+
"""
|
511
|
+
Create time of the active directory. A timestamp in RFC3339 UTC "Zulu" format. Examples: "2023-06-22T09:13:01.617Z".
|
512
|
+
"""
|
513
|
+
return pulumi.get(self, "create_time")
|
514
|
+
|
515
|
+
@create_time.setter
|
516
|
+
def create_time(self, value: Optional[pulumi.Input[str]]):
|
517
|
+
pulumi.set(self, "create_time", value)
|
518
|
+
|
519
|
+
@property
|
520
|
+
@pulumi.getter
|
521
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
522
|
+
"""
|
523
|
+
An optional description of this resource.
|
524
|
+
"""
|
525
|
+
return pulumi.get(self, "description")
|
526
|
+
|
527
|
+
@description.setter
|
528
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
529
|
+
pulumi.set(self, "description", value)
|
530
|
+
|
531
|
+
@property
|
532
|
+
@pulumi.getter
|
533
|
+
def dns(self) -> Optional[pulumi.Input[str]]:
|
534
|
+
"""
|
535
|
+
Comma separated list of DNS server IP addresses for the Active Directory domain.
|
536
|
+
"""
|
537
|
+
return pulumi.get(self, "dns")
|
538
|
+
|
539
|
+
@dns.setter
|
540
|
+
def dns(self, value: Optional[pulumi.Input[str]]):
|
541
|
+
pulumi.set(self, "dns", value)
|
542
|
+
|
543
|
+
@property
|
544
|
+
@pulumi.getter
|
545
|
+
def domain(self) -> Optional[pulumi.Input[str]]:
|
546
|
+
"""
|
547
|
+
Fully qualified domain name for the Active Directory domain.
|
548
|
+
"""
|
549
|
+
return pulumi.get(self, "domain")
|
550
|
+
|
551
|
+
@domain.setter
|
552
|
+
def domain(self, value: Optional[pulumi.Input[str]]):
|
553
|
+
pulumi.set(self, "domain", value)
|
554
|
+
|
555
|
+
@property
|
556
|
+
@pulumi.getter(name="effectiveLabels")
|
557
|
+
def effective_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
558
|
+
"""
|
559
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
560
|
+
"""
|
561
|
+
return pulumi.get(self, "effective_labels")
|
562
|
+
|
563
|
+
@effective_labels.setter
|
564
|
+
def effective_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
565
|
+
pulumi.set(self, "effective_labels", value)
|
566
|
+
|
567
|
+
@property
|
568
|
+
@pulumi.getter(name="encryptDcConnections")
|
569
|
+
def encrypt_dc_connections(self) -> Optional[pulumi.Input[bool]]:
|
570
|
+
"""
|
571
|
+
If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.
|
572
|
+
"""
|
573
|
+
return pulumi.get(self, "encrypt_dc_connections")
|
574
|
+
|
575
|
+
@encrypt_dc_connections.setter
|
576
|
+
def encrypt_dc_connections(self, value: Optional[pulumi.Input[bool]]):
|
577
|
+
pulumi.set(self, "encrypt_dc_connections", value)
|
578
|
+
|
579
|
+
@property
|
580
|
+
@pulumi.getter(name="kdcHostname")
|
581
|
+
def kdc_hostname(self) -> Optional[pulumi.Input[str]]:
|
582
|
+
"""
|
583
|
+
Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1
|
584
|
+
"""
|
585
|
+
return pulumi.get(self, "kdc_hostname")
|
586
|
+
|
587
|
+
@kdc_hostname.setter
|
588
|
+
def kdc_hostname(self, value: Optional[pulumi.Input[str]]):
|
589
|
+
pulumi.set(self, "kdc_hostname", value)
|
590
|
+
|
591
|
+
@property
|
592
|
+
@pulumi.getter(name="kdcIp")
|
593
|
+
def kdc_ip(self) -> Optional[pulumi.Input[str]]:
|
594
|
+
"""
|
595
|
+
IP address of the Active Directory server used as Kerberos Key Distribution Center.
|
596
|
+
"""
|
597
|
+
return pulumi.get(self, "kdc_ip")
|
598
|
+
|
599
|
+
@kdc_ip.setter
|
600
|
+
def kdc_ip(self, value: Optional[pulumi.Input[str]]):
|
601
|
+
pulumi.set(self, "kdc_ip", value)
|
602
|
+
|
603
|
+
@property
|
604
|
+
@pulumi.getter
|
605
|
+
def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
606
|
+
"""
|
607
|
+
Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
|
608
|
+
|
609
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
610
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
611
|
+
"""
|
612
|
+
return pulumi.get(self, "labels")
|
613
|
+
|
614
|
+
@labels.setter
|
615
|
+
def labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
616
|
+
pulumi.set(self, "labels", value)
|
617
|
+
|
618
|
+
@property
|
619
|
+
@pulumi.getter(name="ldapSigning")
|
620
|
+
def ldap_signing(self) -> Optional[pulumi.Input[bool]]:
|
621
|
+
"""
|
622
|
+
Specifies whether or not the LDAP traffic needs to be signed.
|
623
|
+
"""
|
624
|
+
return pulumi.get(self, "ldap_signing")
|
625
|
+
|
626
|
+
@ldap_signing.setter
|
627
|
+
def ldap_signing(self, value: Optional[pulumi.Input[bool]]):
|
628
|
+
pulumi.set(self, "ldap_signing", value)
|
629
|
+
|
630
|
+
@property
|
631
|
+
@pulumi.getter
|
632
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
633
|
+
"""
|
634
|
+
Name of the region for the policy to apply to.
|
635
|
+
"""
|
636
|
+
return pulumi.get(self, "location")
|
637
|
+
|
638
|
+
@location.setter
|
639
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
640
|
+
pulumi.set(self, "location", value)
|
641
|
+
|
642
|
+
@property
|
643
|
+
@pulumi.getter
|
644
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
645
|
+
"""
|
646
|
+
The resource name of the Active Directory pool. Needs to be unique per location.
|
647
|
+
|
648
|
+
|
649
|
+
- - -
|
650
|
+
"""
|
651
|
+
return pulumi.get(self, "name")
|
652
|
+
|
653
|
+
@name.setter
|
654
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
655
|
+
pulumi.set(self, "name", value)
|
656
|
+
|
657
|
+
@property
|
658
|
+
@pulumi.getter(name="netBiosPrefix")
|
659
|
+
def net_bios_prefix(self) -> Optional[pulumi.Input[str]]:
|
660
|
+
"""
|
661
|
+
NetBIOS name prefix of the server to be created.
|
662
|
+
A five-character random ID is generated automatically, for example, -6f9a, and appended to the prefix. The full UNC share path will have the following format:
|
663
|
+
`\\\\NetBIOS_PREFIX-ABCD.DOMAIN_NAME\\SHARE_NAME`
|
664
|
+
"""
|
665
|
+
return pulumi.get(self, "net_bios_prefix")
|
666
|
+
|
667
|
+
@net_bios_prefix.setter
|
668
|
+
def net_bios_prefix(self, value: Optional[pulumi.Input[str]]):
|
669
|
+
pulumi.set(self, "net_bios_prefix", value)
|
670
|
+
|
671
|
+
@property
|
672
|
+
@pulumi.getter(name="nfsUsersWithLdap")
|
673
|
+
def nfs_users_with_ldap(self) -> Optional[pulumi.Input[bool]]:
|
674
|
+
"""
|
675
|
+
Local UNIX users on clients without valid user information in Active Directory are blocked from access to LDAP enabled volumes.
|
676
|
+
This option can be used to temporarily switch such volumes to AUTH_SYS authentication (user ID + 1-16 groups).
|
677
|
+
"""
|
678
|
+
return pulumi.get(self, "nfs_users_with_ldap")
|
679
|
+
|
680
|
+
@nfs_users_with_ldap.setter
|
681
|
+
def nfs_users_with_ldap(self, value: Optional[pulumi.Input[bool]]):
|
682
|
+
pulumi.set(self, "nfs_users_with_ldap", value)
|
683
|
+
|
684
|
+
@property
|
685
|
+
@pulumi.getter(name="organizationalUnit")
|
686
|
+
def organizational_unit(self) -> Optional[pulumi.Input[str]]:
|
687
|
+
"""
|
688
|
+
Name of the Organizational Unit where you intend to create the computer account for NetApp Volumes.
|
689
|
+
Defaults to `CN=Computers` if left empty.
|
690
|
+
"""
|
691
|
+
return pulumi.get(self, "organizational_unit")
|
692
|
+
|
693
|
+
@organizational_unit.setter
|
694
|
+
def organizational_unit(self, value: Optional[pulumi.Input[str]]):
|
695
|
+
pulumi.set(self, "organizational_unit", value)
|
696
|
+
|
697
|
+
@property
|
698
|
+
@pulumi.getter
|
699
|
+
def password(self) -> Optional[pulumi.Input[str]]:
|
700
|
+
"""
|
701
|
+
Password for specified username. Note - Manual changes done to the password will not be detected. Terraform will not
|
702
|
+
re-apply the password, unless you use a new password in Terraform.
|
703
|
+
"""
|
704
|
+
return pulumi.get(self, "password")
|
705
|
+
|
706
|
+
@password.setter
|
707
|
+
def password(self, value: Optional[pulumi.Input[str]]):
|
708
|
+
pulumi.set(self, "password", value)
|
709
|
+
|
710
|
+
@property
|
711
|
+
@pulumi.getter
|
712
|
+
def project(self) -> Optional[pulumi.Input[str]]:
|
713
|
+
"""
|
714
|
+
The ID of the project in which the resource belongs.
|
715
|
+
If it is not provided, the provider project is used.
|
716
|
+
"""
|
717
|
+
return pulumi.get(self, "project")
|
718
|
+
|
719
|
+
@project.setter
|
720
|
+
def project(self, value: Optional[pulumi.Input[str]]):
|
721
|
+
pulumi.set(self, "project", value)
|
722
|
+
|
723
|
+
@property
|
724
|
+
@pulumi.getter(name="pulumiLabels")
|
725
|
+
def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
726
|
+
"""
|
727
|
+
The combination of labels configured directly on the resource
|
728
|
+
and default labels configured on the provider.
|
729
|
+
"""
|
730
|
+
return pulumi.get(self, "pulumi_labels")
|
731
|
+
|
732
|
+
@pulumi_labels.setter
|
733
|
+
def pulumi_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
734
|
+
pulumi.set(self, "pulumi_labels", value)
|
735
|
+
|
736
|
+
@property
|
737
|
+
@pulumi.getter(name="securityOperators")
|
738
|
+
def security_operators(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
739
|
+
"""
|
740
|
+
Domain accounts that require elevated privileges such as `SeSecurityPrivilege` to manage security logs. Comma-separated list.
|
741
|
+
"""
|
742
|
+
return pulumi.get(self, "security_operators")
|
743
|
+
|
744
|
+
@security_operators.setter
|
745
|
+
def security_operators(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
746
|
+
pulumi.set(self, "security_operators", value)
|
747
|
+
|
748
|
+
@property
|
749
|
+
@pulumi.getter
|
750
|
+
def site(self) -> Optional[pulumi.Input[str]]:
|
751
|
+
"""
|
752
|
+
Specifies an Active Directory site to manage domain controller selection.
|
753
|
+
Use when Active Directory domain controllers in multiple regions are configured. Defaults to `Default-First-Site-Name` if left empty.
|
754
|
+
"""
|
755
|
+
return pulumi.get(self, "site")
|
756
|
+
|
757
|
+
@site.setter
|
758
|
+
def site(self, value: Optional[pulumi.Input[str]]):
|
759
|
+
pulumi.set(self, "site", value)
|
760
|
+
|
761
|
+
@property
|
762
|
+
@pulumi.getter
|
763
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
764
|
+
"""
|
765
|
+
The state of the Active Directory policy (not the Active Directory itself).
|
766
|
+
"""
|
767
|
+
return pulumi.get(self, "state")
|
768
|
+
|
769
|
+
@state.setter
|
770
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
771
|
+
pulumi.set(self, "state", value)
|
772
|
+
|
773
|
+
@property
|
774
|
+
@pulumi.getter(name="stateDetails")
|
775
|
+
def state_details(self) -> Optional[pulumi.Input[str]]:
|
776
|
+
"""
|
777
|
+
The state details of the Active Directory.
|
778
|
+
"""
|
779
|
+
return pulumi.get(self, "state_details")
|
780
|
+
|
781
|
+
@state_details.setter
|
782
|
+
def state_details(self, value: Optional[pulumi.Input[str]]):
|
783
|
+
pulumi.set(self, "state_details", value)
|
784
|
+
|
785
|
+
@property
|
786
|
+
@pulumi.getter
|
787
|
+
def username(self) -> Optional[pulumi.Input[str]]:
|
788
|
+
"""
|
789
|
+
Username for the Active Directory account with permissions to create the compute account within the specified organizational unit.
|
790
|
+
"""
|
791
|
+
return pulumi.get(self, "username")
|
792
|
+
|
793
|
+
@username.setter
|
794
|
+
def username(self, value: Optional[pulumi.Input[str]]):
|
795
|
+
pulumi.set(self, "username", value)
|
796
|
+
|
797
|
+
|
798
|
+
class ActiveDirectory(pulumi.CustomResource):
|
799
|
+
@overload
|
800
|
+
def __init__(__self__,
|
801
|
+
resource_name: str,
|
802
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
803
|
+
aes_encryption: Optional[pulumi.Input[bool]] = None,
|
804
|
+
backup_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
805
|
+
description: Optional[pulumi.Input[str]] = None,
|
806
|
+
dns: Optional[pulumi.Input[str]] = None,
|
807
|
+
domain: Optional[pulumi.Input[str]] = None,
|
808
|
+
encrypt_dc_connections: Optional[pulumi.Input[bool]] = None,
|
809
|
+
kdc_hostname: Optional[pulumi.Input[str]] = None,
|
810
|
+
kdc_ip: Optional[pulumi.Input[str]] = None,
|
811
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
812
|
+
ldap_signing: Optional[pulumi.Input[bool]] = None,
|
813
|
+
location: Optional[pulumi.Input[str]] = None,
|
814
|
+
name: Optional[pulumi.Input[str]] = None,
|
815
|
+
net_bios_prefix: Optional[pulumi.Input[str]] = None,
|
816
|
+
nfs_users_with_ldap: Optional[pulumi.Input[bool]] = None,
|
817
|
+
organizational_unit: Optional[pulumi.Input[str]] = None,
|
818
|
+
password: Optional[pulumi.Input[str]] = None,
|
819
|
+
project: Optional[pulumi.Input[str]] = None,
|
820
|
+
security_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
821
|
+
site: Optional[pulumi.Input[str]] = None,
|
822
|
+
username: Optional[pulumi.Input[str]] = None,
|
823
|
+
__props__=None):
|
824
|
+
"""
|
825
|
+
ActiveDirectory is the public representation of the active directory config.
|
826
|
+
|
827
|
+
To get more information about activeDirectory, see:
|
828
|
+
|
829
|
+
* [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.activeDirectories)
|
830
|
+
* How-to Guides
|
831
|
+
* [Official Documentation](https://cloud.google.com/netapp/volumes/docs/configure-and-use/active-directory/about-ad)
|
832
|
+
|
833
|
+
## Example Usage
|
834
|
+
### Netapp Active Directory Full
|
835
|
+
|
836
|
+
```python
|
837
|
+
import pulumi
|
838
|
+
import pulumi_gcp as gcp
|
839
|
+
|
840
|
+
test_active_directory_full = gcp.netapp.ActiveDirectory("testActiveDirectoryFull",
|
841
|
+
location="us-central1",
|
842
|
+
domain="ad.internal",
|
843
|
+
dns="172.30.64.3",
|
844
|
+
net_bios_prefix="smbserver",
|
845
|
+
username="user",
|
846
|
+
password="pass",
|
847
|
+
aes_encryption=False,
|
848
|
+
backup_operators=[
|
849
|
+
"test1",
|
850
|
+
"test2",
|
851
|
+
],
|
852
|
+
description="ActiveDirectory is the public representation of the active directory config.",
|
853
|
+
encrypt_dc_connections=False,
|
854
|
+
kdc_hostname="hostname",
|
855
|
+
kdc_ip="10.10.0.11",
|
856
|
+
labels={
|
857
|
+
"foo": "bar",
|
858
|
+
},
|
859
|
+
ldap_signing=False,
|
860
|
+
nfs_users_with_ldap=False,
|
861
|
+
organizational_unit="CN=Computers",
|
862
|
+
security_operators=[
|
863
|
+
"test1",
|
864
|
+
"test2",
|
865
|
+
],
|
866
|
+
site="test-site")
|
867
|
+
```
|
868
|
+
|
869
|
+
## Import
|
870
|
+
|
871
|
+
activeDirectory can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}` * `{{project}}/{{location}}/{{name}}` * `{{location}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import activeDirectory using one of the formats above. For exampletf import {
|
872
|
+
|
873
|
+
id = "projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}"
|
874
|
+
|
875
|
+
to = google_netapp_active_directory.default }
|
876
|
+
|
877
|
+
```sh
|
878
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), activeDirectory can be imported using one of the formats above. For example
|
879
|
+
```
|
880
|
+
|
881
|
+
```sh
|
882
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory default projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}
|
883
|
+
```
|
884
|
+
|
885
|
+
```sh
|
886
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory default {{project}}/{{location}}/{{name}}
|
887
|
+
```
|
888
|
+
|
889
|
+
```sh
|
890
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory default {{location}}/{{name}}
|
891
|
+
```
|
892
|
+
|
893
|
+
:param str resource_name: The name of the resource.
|
894
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
895
|
+
:param pulumi.Input[bool] aes_encryption: Enables AES-128 and AES-256 encryption for Kerberos-based communication with Active Directory.
|
896
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] backup_operators: Domain user/group accounts to be added to the Backup Operators group of the SMB service. The Backup Operators group allows members to backup and restore files regardless of whether they have read or write access to the files. Comma-separated list.
|
897
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
898
|
+
:param pulumi.Input[str] dns: Comma separated list of DNS server IP addresses for the Active Directory domain.
|
899
|
+
:param pulumi.Input[str] domain: Fully qualified domain name for the Active Directory domain.
|
900
|
+
:param pulumi.Input[bool] encrypt_dc_connections: If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.
|
901
|
+
:param pulumi.Input[str] kdc_hostname: Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1
|
902
|
+
:param pulumi.Input[str] kdc_ip: IP address of the Active Directory server used as Kerberos Key Distribution Center.
|
903
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
|
904
|
+
|
905
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
906
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
907
|
+
:param pulumi.Input[bool] ldap_signing: Specifies whether or not the LDAP traffic needs to be signed.
|
908
|
+
:param pulumi.Input[str] location: Name of the region for the policy to apply to.
|
909
|
+
:param pulumi.Input[str] name: The resource name of the Active Directory pool. Needs to be unique per location.
|
910
|
+
|
911
|
+
|
912
|
+
- - -
|
913
|
+
:param pulumi.Input[str] net_bios_prefix: NetBIOS name prefix of the server to be created.
|
914
|
+
A five-character random ID is generated automatically, for example, -6f9a, and appended to the prefix. The full UNC share path will have the following format:
|
915
|
+
`\\\\NetBIOS_PREFIX-ABCD.DOMAIN_NAME\\SHARE_NAME`
|
916
|
+
:param pulumi.Input[bool] nfs_users_with_ldap: Local UNIX users on clients without valid user information in Active Directory are blocked from access to LDAP enabled volumes.
|
917
|
+
This option can be used to temporarily switch such volumes to AUTH_SYS authentication (user ID + 1-16 groups).
|
918
|
+
:param pulumi.Input[str] organizational_unit: Name of the Organizational Unit where you intend to create the computer account for NetApp Volumes.
|
919
|
+
Defaults to `CN=Computers` if left empty.
|
920
|
+
:param pulumi.Input[str] password: Password for specified username. Note - Manual changes done to the password will not be detected. Terraform will not
|
921
|
+
re-apply the password, unless you use a new password in Terraform.
|
922
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
923
|
+
If it is not provided, the provider project is used.
|
924
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_operators: Domain accounts that require elevated privileges such as `SeSecurityPrivilege` to manage security logs. Comma-separated list.
|
925
|
+
:param pulumi.Input[str] site: Specifies an Active Directory site to manage domain controller selection.
|
926
|
+
Use when Active Directory domain controllers in multiple regions are configured. Defaults to `Default-First-Site-Name` if left empty.
|
927
|
+
:param pulumi.Input[str] username: Username for the Active Directory account with permissions to create the compute account within the specified organizational unit.
|
928
|
+
"""
|
929
|
+
...
|
930
|
+
@overload
|
931
|
+
def __init__(__self__,
|
932
|
+
resource_name: str,
|
933
|
+
args: ActiveDirectoryArgs,
|
934
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
935
|
+
"""
|
936
|
+
ActiveDirectory is the public representation of the active directory config.
|
937
|
+
|
938
|
+
To get more information about activeDirectory, see:
|
939
|
+
|
940
|
+
* [API documentation](https://cloud.google.com/netapp/volumes/docs/reference/rest/v1/projects.locations.activeDirectories)
|
941
|
+
* How-to Guides
|
942
|
+
* [Official Documentation](https://cloud.google.com/netapp/volumes/docs/configure-and-use/active-directory/about-ad)
|
943
|
+
|
944
|
+
## Example Usage
|
945
|
+
### Netapp Active Directory Full
|
946
|
+
|
947
|
+
```python
|
948
|
+
import pulumi
|
949
|
+
import pulumi_gcp as gcp
|
950
|
+
|
951
|
+
test_active_directory_full = gcp.netapp.ActiveDirectory("testActiveDirectoryFull",
|
952
|
+
location="us-central1",
|
953
|
+
domain="ad.internal",
|
954
|
+
dns="172.30.64.3",
|
955
|
+
net_bios_prefix="smbserver",
|
956
|
+
username="user",
|
957
|
+
password="pass",
|
958
|
+
aes_encryption=False,
|
959
|
+
backup_operators=[
|
960
|
+
"test1",
|
961
|
+
"test2",
|
962
|
+
],
|
963
|
+
description="ActiveDirectory is the public representation of the active directory config.",
|
964
|
+
encrypt_dc_connections=False,
|
965
|
+
kdc_hostname="hostname",
|
966
|
+
kdc_ip="10.10.0.11",
|
967
|
+
labels={
|
968
|
+
"foo": "bar",
|
969
|
+
},
|
970
|
+
ldap_signing=False,
|
971
|
+
nfs_users_with_ldap=False,
|
972
|
+
organizational_unit="CN=Computers",
|
973
|
+
security_operators=[
|
974
|
+
"test1",
|
975
|
+
"test2",
|
976
|
+
],
|
977
|
+
site="test-site")
|
978
|
+
```
|
979
|
+
|
980
|
+
## Import
|
981
|
+
|
982
|
+
activeDirectory can be imported using any of these accepted formats* `projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}` * `{{project}}/{{location}}/{{name}}` * `{{location}}/{{name}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import activeDirectory using one of the formats above. For exampletf import {
|
983
|
+
|
984
|
+
id = "projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}"
|
985
|
+
|
986
|
+
to = google_netapp_active_directory.default }
|
987
|
+
|
988
|
+
```sh
|
989
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), activeDirectory can be imported using one of the formats above. For example
|
990
|
+
```
|
991
|
+
|
992
|
+
```sh
|
993
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory default projects/{{project}}/locations/{{location}}/activeDirectories/{{name}}
|
994
|
+
```
|
995
|
+
|
996
|
+
```sh
|
997
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory default {{project}}/{{location}}/{{name}}
|
998
|
+
```
|
999
|
+
|
1000
|
+
```sh
|
1001
|
+
$ pulumi import gcp:netapp/activeDirectory:ActiveDirectory default {{location}}/{{name}}
|
1002
|
+
```
|
1003
|
+
|
1004
|
+
:param str resource_name: The name of the resource.
|
1005
|
+
:param ActiveDirectoryArgs args: The arguments to use to populate this resource's properties.
|
1006
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1007
|
+
"""
|
1008
|
+
...
|
1009
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
1010
|
+
resource_args, opts = _utilities.get_resource_args_opts(ActiveDirectoryArgs, pulumi.ResourceOptions, *args, **kwargs)
|
1011
|
+
if resource_args is not None:
|
1012
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
1013
|
+
else:
|
1014
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
1015
|
+
|
1016
|
+
def _internal_init(__self__,
|
1017
|
+
resource_name: str,
|
1018
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1019
|
+
aes_encryption: Optional[pulumi.Input[bool]] = None,
|
1020
|
+
backup_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1021
|
+
description: Optional[pulumi.Input[str]] = None,
|
1022
|
+
dns: Optional[pulumi.Input[str]] = None,
|
1023
|
+
domain: Optional[pulumi.Input[str]] = None,
|
1024
|
+
encrypt_dc_connections: Optional[pulumi.Input[bool]] = None,
|
1025
|
+
kdc_hostname: Optional[pulumi.Input[str]] = None,
|
1026
|
+
kdc_ip: Optional[pulumi.Input[str]] = None,
|
1027
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1028
|
+
ldap_signing: Optional[pulumi.Input[bool]] = None,
|
1029
|
+
location: Optional[pulumi.Input[str]] = None,
|
1030
|
+
name: Optional[pulumi.Input[str]] = None,
|
1031
|
+
net_bios_prefix: Optional[pulumi.Input[str]] = None,
|
1032
|
+
nfs_users_with_ldap: Optional[pulumi.Input[bool]] = None,
|
1033
|
+
organizational_unit: Optional[pulumi.Input[str]] = None,
|
1034
|
+
password: Optional[pulumi.Input[str]] = None,
|
1035
|
+
project: Optional[pulumi.Input[str]] = None,
|
1036
|
+
security_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1037
|
+
site: Optional[pulumi.Input[str]] = None,
|
1038
|
+
username: Optional[pulumi.Input[str]] = None,
|
1039
|
+
__props__=None):
|
1040
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
1041
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
1042
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
1043
|
+
if opts.id is None:
|
1044
|
+
if __props__ is not None:
|
1045
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
1046
|
+
__props__ = ActiveDirectoryArgs.__new__(ActiveDirectoryArgs)
|
1047
|
+
|
1048
|
+
__props__.__dict__["aes_encryption"] = aes_encryption
|
1049
|
+
__props__.__dict__["backup_operators"] = backup_operators
|
1050
|
+
__props__.__dict__["description"] = description
|
1051
|
+
if dns is None and not opts.urn:
|
1052
|
+
raise TypeError("Missing required property 'dns'")
|
1053
|
+
__props__.__dict__["dns"] = dns
|
1054
|
+
if domain is None and not opts.urn:
|
1055
|
+
raise TypeError("Missing required property 'domain'")
|
1056
|
+
__props__.__dict__["domain"] = domain
|
1057
|
+
__props__.__dict__["encrypt_dc_connections"] = encrypt_dc_connections
|
1058
|
+
__props__.__dict__["kdc_hostname"] = kdc_hostname
|
1059
|
+
__props__.__dict__["kdc_ip"] = kdc_ip
|
1060
|
+
__props__.__dict__["labels"] = labels
|
1061
|
+
__props__.__dict__["ldap_signing"] = ldap_signing
|
1062
|
+
if location is None and not opts.urn:
|
1063
|
+
raise TypeError("Missing required property 'location'")
|
1064
|
+
__props__.__dict__["location"] = location
|
1065
|
+
__props__.__dict__["name"] = name
|
1066
|
+
if net_bios_prefix is None and not opts.urn:
|
1067
|
+
raise TypeError("Missing required property 'net_bios_prefix'")
|
1068
|
+
__props__.__dict__["net_bios_prefix"] = net_bios_prefix
|
1069
|
+
__props__.__dict__["nfs_users_with_ldap"] = nfs_users_with_ldap
|
1070
|
+
__props__.__dict__["organizational_unit"] = organizational_unit
|
1071
|
+
if password is None and not opts.urn:
|
1072
|
+
raise TypeError("Missing required property 'password'")
|
1073
|
+
__props__.__dict__["password"] = None if password is None else pulumi.Output.secret(password)
|
1074
|
+
__props__.__dict__["project"] = project
|
1075
|
+
__props__.__dict__["security_operators"] = security_operators
|
1076
|
+
__props__.__dict__["site"] = site
|
1077
|
+
if username is None and not opts.urn:
|
1078
|
+
raise TypeError("Missing required property 'username'")
|
1079
|
+
__props__.__dict__["username"] = username
|
1080
|
+
__props__.__dict__["create_time"] = None
|
1081
|
+
__props__.__dict__["effective_labels"] = None
|
1082
|
+
__props__.__dict__["pulumi_labels"] = None
|
1083
|
+
__props__.__dict__["state"] = None
|
1084
|
+
__props__.__dict__["state_details"] = None
|
1085
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["effectiveLabels", "password", "pulumiLabels"])
|
1086
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
1087
|
+
super(ActiveDirectory, __self__).__init__(
|
1088
|
+
'gcp:netapp/activeDirectory:ActiveDirectory',
|
1089
|
+
resource_name,
|
1090
|
+
__props__,
|
1091
|
+
opts)
|
1092
|
+
|
1093
|
+
@staticmethod
|
1094
|
+
def get(resource_name: str,
|
1095
|
+
id: pulumi.Input[str],
|
1096
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
1097
|
+
aes_encryption: Optional[pulumi.Input[bool]] = None,
|
1098
|
+
backup_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1099
|
+
create_time: Optional[pulumi.Input[str]] = None,
|
1100
|
+
description: Optional[pulumi.Input[str]] = None,
|
1101
|
+
dns: Optional[pulumi.Input[str]] = None,
|
1102
|
+
domain: Optional[pulumi.Input[str]] = None,
|
1103
|
+
effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1104
|
+
encrypt_dc_connections: Optional[pulumi.Input[bool]] = None,
|
1105
|
+
kdc_hostname: Optional[pulumi.Input[str]] = None,
|
1106
|
+
kdc_ip: Optional[pulumi.Input[str]] = None,
|
1107
|
+
labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1108
|
+
ldap_signing: Optional[pulumi.Input[bool]] = None,
|
1109
|
+
location: Optional[pulumi.Input[str]] = None,
|
1110
|
+
name: Optional[pulumi.Input[str]] = None,
|
1111
|
+
net_bios_prefix: Optional[pulumi.Input[str]] = None,
|
1112
|
+
nfs_users_with_ldap: Optional[pulumi.Input[bool]] = None,
|
1113
|
+
organizational_unit: Optional[pulumi.Input[str]] = None,
|
1114
|
+
password: Optional[pulumi.Input[str]] = None,
|
1115
|
+
project: Optional[pulumi.Input[str]] = None,
|
1116
|
+
pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
1117
|
+
security_operators: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1118
|
+
site: Optional[pulumi.Input[str]] = None,
|
1119
|
+
state: Optional[pulumi.Input[str]] = None,
|
1120
|
+
state_details: Optional[pulumi.Input[str]] = None,
|
1121
|
+
username: Optional[pulumi.Input[str]] = None) -> 'ActiveDirectory':
|
1122
|
+
"""
|
1123
|
+
Get an existing ActiveDirectory resource's state with the given name, id, and optional extra
|
1124
|
+
properties used to qualify the lookup.
|
1125
|
+
|
1126
|
+
:param str resource_name: The unique name of the resulting resource.
|
1127
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
1128
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
1129
|
+
:param pulumi.Input[bool] aes_encryption: Enables AES-128 and AES-256 encryption for Kerberos-based communication with Active Directory.
|
1130
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] backup_operators: Domain user/group accounts to be added to the Backup Operators group of the SMB service. The Backup Operators group allows members to backup and restore files regardless of whether they have read or write access to the files. Comma-separated list.
|
1131
|
+
:param pulumi.Input[str] create_time: Create time of the active directory. A timestamp in RFC3339 UTC "Zulu" format. Examples: "2023-06-22T09:13:01.617Z".
|
1132
|
+
:param pulumi.Input[str] description: An optional description of this resource.
|
1133
|
+
:param pulumi.Input[str] dns: Comma separated list of DNS server IP addresses for the Active Directory domain.
|
1134
|
+
:param pulumi.Input[str] domain: Fully qualified domain name for the Active Directory domain.
|
1135
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
1136
|
+
:param pulumi.Input[bool] encrypt_dc_connections: If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.
|
1137
|
+
:param pulumi.Input[str] kdc_hostname: Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1
|
1138
|
+
:param pulumi.Input[str] kdc_ip: IP address of the Active Directory server used as Kerberos Key Distribution Center.
|
1139
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
|
1140
|
+
|
1141
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1142
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1143
|
+
:param pulumi.Input[bool] ldap_signing: Specifies whether or not the LDAP traffic needs to be signed.
|
1144
|
+
:param pulumi.Input[str] location: Name of the region for the policy to apply to.
|
1145
|
+
:param pulumi.Input[str] name: The resource name of the Active Directory pool. Needs to be unique per location.
|
1146
|
+
|
1147
|
+
|
1148
|
+
- - -
|
1149
|
+
:param pulumi.Input[str] net_bios_prefix: NetBIOS name prefix of the server to be created.
|
1150
|
+
A five-character random ID is generated automatically, for example, -6f9a, and appended to the prefix. The full UNC share path will have the following format:
|
1151
|
+
`\\\\NetBIOS_PREFIX-ABCD.DOMAIN_NAME\\SHARE_NAME`
|
1152
|
+
:param pulumi.Input[bool] nfs_users_with_ldap: Local UNIX users on clients without valid user information in Active Directory are blocked from access to LDAP enabled volumes.
|
1153
|
+
This option can be used to temporarily switch such volumes to AUTH_SYS authentication (user ID + 1-16 groups).
|
1154
|
+
:param pulumi.Input[str] organizational_unit: Name of the Organizational Unit where you intend to create the computer account for NetApp Volumes.
|
1155
|
+
Defaults to `CN=Computers` if left empty.
|
1156
|
+
:param pulumi.Input[str] password: Password for specified username. Note - Manual changes done to the password will not be detected. Terraform will not
|
1157
|
+
re-apply the password, unless you use a new password in Terraform.
|
1158
|
+
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
1159
|
+
If it is not provided, the provider project is used.
|
1160
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
|
1161
|
+
and default labels configured on the provider.
|
1162
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] security_operators: Domain accounts that require elevated privileges such as `SeSecurityPrivilege` to manage security logs. Comma-separated list.
|
1163
|
+
:param pulumi.Input[str] site: Specifies an Active Directory site to manage domain controller selection.
|
1164
|
+
Use when Active Directory domain controllers in multiple regions are configured. Defaults to `Default-First-Site-Name` if left empty.
|
1165
|
+
:param pulumi.Input[str] state: The state of the Active Directory policy (not the Active Directory itself).
|
1166
|
+
:param pulumi.Input[str] state_details: The state details of the Active Directory.
|
1167
|
+
:param pulumi.Input[str] username: Username for the Active Directory account with permissions to create the compute account within the specified organizational unit.
|
1168
|
+
"""
|
1169
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
1170
|
+
|
1171
|
+
__props__ = _ActiveDirectoryState.__new__(_ActiveDirectoryState)
|
1172
|
+
|
1173
|
+
__props__.__dict__["aes_encryption"] = aes_encryption
|
1174
|
+
__props__.__dict__["backup_operators"] = backup_operators
|
1175
|
+
__props__.__dict__["create_time"] = create_time
|
1176
|
+
__props__.__dict__["description"] = description
|
1177
|
+
__props__.__dict__["dns"] = dns
|
1178
|
+
__props__.__dict__["domain"] = domain
|
1179
|
+
__props__.__dict__["effective_labels"] = effective_labels
|
1180
|
+
__props__.__dict__["encrypt_dc_connections"] = encrypt_dc_connections
|
1181
|
+
__props__.__dict__["kdc_hostname"] = kdc_hostname
|
1182
|
+
__props__.__dict__["kdc_ip"] = kdc_ip
|
1183
|
+
__props__.__dict__["labels"] = labels
|
1184
|
+
__props__.__dict__["ldap_signing"] = ldap_signing
|
1185
|
+
__props__.__dict__["location"] = location
|
1186
|
+
__props__.__dict__["name"] = name
|
1187
|
+
__props__.__dict__["net_bios_prefix"] = net_bios_prefix
|
1188
|
+
__props__.__dict__["nfs_users_with_ldap"] = nfs_users_with_ldap
|
1189
|
+
__props__.__dict__["organizational_unit"] = organizational_unit
|
1190
|
+
__props__.__dict__["password"] = password
|
1191
|
+
__props__.__dict__["project"] = project
|
1192
|
+
__props__.__dict__["pulumi_labels"] = pulumi_labels
|
1193
|
+
__props__.__dict__["security_operators"] = security_operators
|
1194
|
+
__props__.__dict__["site"] = site
|
1195
|
+
__props__.__dict__["state"] = state
|
1196
|
+
__props__.__dict__["state_details"] = state_details
|
1197
|
+
__props__.__dict__["username"] = username
|
1198
|
+
return ActiveDirectory(resource_name, opts=opts, __props__=__props__)
|
1199
|
+
|
1200
|
+
@property
|
1201
|
+
@pulumi.getter(name="aesEncryption")
|
1202
|
+
def aes_encryption(self) -> pulumi.Output[Optional[bool]]:
|
1203
|
+
"""
|
1204
|
+
Enables AES-128 and AES-256 encryption for Kerberos-based communication with Active Directory.
|
1205
|
+
"""
|
1206
|
+
return pulumi.get(self, "aes_encryption")
|
1207
|
+
|
1208
|
+
@property
|
1209
|
+
@pulumi.getter(name="backupOperators")
|
1210
|
+
def backup_operators(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1211
|
+
"""
|
1212
|
+
Domain user/group accounts to be added to the Backup Operators group of the SMB service. The Backup Operators group allows members to backup and restore files regardless of whether they have read or write access to the files. Comma-separated list.
|
1213
|
+
"""
|
1214
|
+
return pulumi.get(self, "backup_operators")
|
1215
|
+
|
1216
|
+
@property
|
1217
|
+
@pulumi.getter(name="createTime")
|
1218
|
+
def create_time(self) -> pulumi.Output[str]:
|
1219
|
+
"""
|
1220
|
+
Create time of the active directory. A timestamp in RFC3339 UTC "Zulu" format. Examples: "2023-06-22T09:13:01.617Z".
|
1221
|
+
"""
|
1222
|
+
return pulumi.get(self, "create_time")
|
1223
|
+
|
1224
|
+
@property
|
1225
|
+
@pulumi.getter
|
1226
|
+
def description(self) -> pulumi.Output[Optional[str]]:
|
1227
|
+
"""
|
1228
|
+
An optional description of this resource.
|
1229
|
+
"""
|
1230
|
+
return pulumi.get(self, "description")
|
1231
|
+
|
1232
|
+
@property
|
1233
|
+
@pulumi.getter
|
1234
|
+
def dns(self) -> pulumi.Output[str]:
|
1235
|
+
"""
|
1236
|
+
Comma separated list of DNS server IP addresses for the Active Directory domain.
|
1237
|
+
"""
|
1238
|
+
return pulumi.get(self, "dns")
|
1239
|
+
|
1240
|
+
@property
|
1241
|
+
@pulumi.getter
|
1242
|
+
def domain(self) -> pulumi.Output[str]:
|
1243
|
+
"""
|
1244
|
+
Fully qualified domain name for the Active Directory domain.
|
1245
|
+
"""
|
1246
|
+
return pulumi.get(self, "domain")
|
1247
|
+
|
1248
|
+
@property
|
1249
|
+
@pulumi.getter(name="effectiveLabels")
|
1250
|
+
def effective_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
1251
|
+
"""
|
1252
|
+
All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
|
1253
|
+
"""
|
1254
|
+
return pulumi.get(self, "effective_labels")
|
1255
|
+
|
1256
|
+
@property
|
1257
|
+
@pulumi.getter(name="encryptDcConnections")
|
1258
|
+
def encrypt_dc_connections(self) -> pulumi.Output[Optional[bool]]:
|
1259
|
+
"""
|
1260
|
+
If enabled, traffic between the SMB server to Domain Controller (DC) will be encrypted.
|
1261
|
+
"""
|
1262
|
+
return pulumi.get(self, "encrypt_dc_connections")
|
1263
|
+
|
1264
|
+
@property
|
1265
|
+
@pulumi.getter(name="kdcHostname")
|
1266
|
+
def kdc_hostname(self) -> pulumi.Output[Optional[str]]:
|
1267
|
+
"""
|
1268
|
+
Hostname of the Active Directory server used as Kerberos Key Distribution Center. Only requried for volumes using kerberized NFSv4.1
|
1269
|
+
"""
|
1270
|
+
return pulumi.get(self, "kdc_hostname")
|
1271
|
+
|
1272
|
+
@property
|
1273
|
+
@pulumi.getter(name="kdcIp")
|
1274
|
+
def kdc_ip(self) -> pulumi.Output[Optional[str]]:
|
1275
|
+
"""
|
1276
|
+
IP address of the Active Directory server used as Kerberos Key Distribution Center.
|
1277
|
+
"""
|
1278
|
+
return pulumi.get(self, "kdc_ip")
|
1279
|
+
|
1280
|
+
@property
|
1281
|
+
@pulumi.getter
|
1282
|
+
def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
1283
|
+
"""
|
1284
|
+
Labels as key value pairs. Example: `{ "owner": "Bob", "department": "finance", "purpose": "testing" }`.
|
1285
|
+
|
1286
|
+
**Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
|
1287
|
+
Please refer to the field `effective_labels` for all of the labels present on the resource.
|
1288
|
+
"""
|
1289
|
+
return pulumi.get(self, "labels")
|
1290
|
+
|
1291
|
+
@property
|
1292
|
+
@pulumi.getter(name="ldapSigning")
|
1293
|
+
def ldap_signing(self) -> pulumi.Output[Optional[bool]]:
|
1294
|
+
"""
|
1295
|
+
Specifies whether or not the LDAP traffic needs to be signed.
|
1296
|
+
"""
|
1297
|
+
return pulumi.get(self, "ldap_signing")
|
1298
|
+
|
1299
|
+
@property
|
1300
|
+
@pulumi.getter
|
1301
|
+
def location(self) -> pulumi.Output[str]:
|
1302
|
+
"""
|
1303
|
+
Name of the region for the policy to apply to.
|
1304
|
+
"""
|
1305
|
+
return pulumi.get(self, "location")
|
1306
|
+
|
1307
|
+
@property
|
1308
|
+
@pulumi.getter
|
1309
|
+
def name(self) -> pulumi.Output[str]:
|
1310
|
+
"""
|
1311
|
+
The resource name of the Active Directory pool. Needs to be unique per location.
|
1312
|
+
|
1313
|
+
|
1314
|
+
- - -
|
1315
|
+
"""
|
1316
|
+
return pulumi.get(self, "name")
|
1317
|
+
|
1318
|
+
@property
|
1319
|
+
@pulumi.getter(name="netBiosPrefix")
|
1320
|
+
def net_bios_prefix(self) -> pulumi.Output[str]:
|
1321
|
+
"""
|
1322
|
+
NetBIOS name prefix of the server to be created.
|
1323
|
+
A five-character random ID is generated automatically, for example, -6f9a, and appended to the prefix. The full UNC share path will have the following format:
|
1324
|
+
`\\\\NetBIOS_PREFIX-ABCD.DOMAIN_NAME\\SHARE_NAME`
|
1325
|
+
"""
|
1326
|
+
return pulumi.get(self, "net_bios_prefix")
|
1327
|
+
|
1328
|
+
@property
|
1329
|
+
@pulumi.getter(name="nfsUsersWithLdap")
|
1330
|
+
def nfs_users_with_ldap(self) -> pulumi.Output[Optional[bool]]:
|
1331
|
+
"""
|
1332
|
+
Local UNIX users on clients without valid user information in Active Directory are blocked from access to LDAP enabled volumes.
|
1333
|
+
This option can be used to temporarily switch such volumes to AUTH_SYS authentication (user ID + 1-16 groups).
|
1334
|
+
"""
|
1335
|
+
return pulumi.get(self, "nfs_users_with_ldap")
|
1336
|
+
|
1337
|
+
@property
|
1338
|
+
@pulumi.getter(name="organizationalUnit")
|
1339
|
+
def organizational_unit(self) -> pulumi.Output[str]:
|
1340
|
+
"""
|
1341
|
+
Name of the Organizational Unit where you intend to create the computer account for NetApp Volumes.
|
1342
|
+
Defaults to `CN=Computers` if left empty.
|
1343
|
+
"""
|
1344
|
+
return pulumi.get(self, "organizational_unit")
|
1345
|
+
|
1346
|
+
@property
|
1347
|
+
@pulumi.getter
|
1348
|
+
def password(self) -> pulumi.Output[str]:
|
1349
|
+
"""
|
1350
|
+
Password for specified username. Note - Manual changes done to the password will not be detected. Terraform will not
|
1351
|
+
re-apply the password, unless you use a new password in Terraform.
|
1352
|
+
"""
|
1353
|
+
return pulumi.get(self, "password")
|
1354
|
+
|
1355
|
+
@property
|
1356
|
+
@pulumi.getter
|
1357
|
+
def project(self) -> pulumi.Output[str]:
|
1358
|
+
"""
|
1359
|
+
The ID of the project in which the resource belongs.
|
1360
|
+
If it is not provided, the provider project is used.
|
1361
|
+
"""
|
1362
|
+
return pulumi.get(self, "project")
|
1363
|
+
|
1364
|
+
@property
|
1365
|
+
@pulumi.getter(name="pulumiLabels")
|
1366
|
+
def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
|
1367
|
+
"""
|
1368
|
+
The combination of labels configured directly on the resource
|
1369
|
+
and default labels configured on the provider.
|
1370
|
+
"""
|
1371
|
+
return pulumi.get(self, "pulumi_labels")
|
1372
|
+
|
1373
|
+
@property
|
1374
|
+
@pulumi.getter(name="securityOperators")
|
1375
|
+
def security_operators(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1376
|
+
"""
|
1377
|
+
Domain accounts that require elevated privileges such as `SeSecurityPrivilege` to manage security logs. Comma-separated list.
|
1378
|
+
"""
|
1379
|
+
return pulumi.get(self, "security_operators")
|
1380
|
+
|
1381
|
+
@property
|
1382
|
+
@pulumi.getter
|
1383
|
+
def site(self) -> pulumi.Output[Optional[str]]:
|
1384
|
+
"""
|
1385
|
+
Specifies an Active Directory site to manage domain controller selection.
|
1386
|
+
Use when Active Directory domain controllers in multiple regions are configured. Defaults to `Default-First-Site-Name` if left empty.
|
1387
|
+
"""
|
1388
|
+
return pulumi.get(self, "site")
|
1389
|
+
|
1390
|
+
@property
|
1391
|
+
@pulumi.getter
|
1392
|
+
def state(self) -> pulumi.Output[str]:
|
1393
|
+
"""
|
1394
|
+
The state of the Active Directory policy (not the Active Directory itself).
|
1395
|
+
"""
|
1396
|
+
return pulumi.get(self, "state")
|
1397
|
+
|
1398
|
+
@property
|
1399
|
+
@pulumi.getter(name="stateDetails")
|
1400
|
+
def state_details(self) -> pulumi.Output[str]:
|
1401
|
+
"""
|
1402
|
+
The state details of the Active Directory.
|
1403
|
+
"""
|
1404
|
+
return pulumi.get(self, "state_details")
|
1405
|
+
|
1406
|
+
@property
|
1407
|
+
@pulumi.getter
|
1408
|
+
def username(self) -> pulumi.Output[str]:
|
1409
|
+
"""
|
1410
|
+
Username for the Active Directory account with permissions to create the compute account within the specified organizational unit.
|
1411
|
+
"""
|
1412
|
+
return pulumi.get(self, "username")
|
1413
|
+
|