pulumi-azure-native 2.68.0a1729267188__py3-none-any.whl → 2.68.0a1729544032__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.
Potentially problematic release.
This version of pulumi-azure-native might be problematic. Click here for more details.
- pulumi_azure_native/__init__.py +21 -0
- pulumi_azure_native/pulumi-plugin.json +1 -1
- pulumi_azure_native/secretsynccontroller/__init__.py +22 -0
- pulumi_azure_native/secretsynccontroller/_enums.py +38 -0
- pulumi_azure_native/secretsynccontroller/_inputs.py +134 -0
- pulumi_azure_native/secretsynccontroller/azure_key_vault_secret_provider_class.py +389 -0
- pulumi_azure_native/secretsynccontroller/get_azure_key_vault_secret_provider_class.py +243 -0
- pulumi_azure_native/secretsynccontroller/get_secret_sync.py +271 -0
- pulumi_azure_native/secretsynccontroller/outputs.py +367 -0
- pulumi_azure_native/secretsynccontroller/secret_sync.py +429 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/__init__.py +14 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/_enums.py +38 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/_inputs.py +134 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/azure_key_vault_secret_provider_class.py +387 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/get_azure_key_vault_secret_provider_class.py +241 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/get_secret_sync.py +269 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/outputs.py +367 -0
- pulumi_azure_native/secretsynccontroller/v20240821preview/secret_sync.py +427 -0
- {pulumi_azure_native-2.68.0a1729267188.dist-info → pulumi_azure_native-2.68.0a1729544032.dist-info}/METADATA +1 -1
- {pulumi_azure_native-2.68.0a1729267188.dist-info → pulumi_azure_native-2.68.0a1729544032.dist-info}/RECORD +22 -6
- {pulumi_azure_native-2.68.0a1729267188.dist-info → pulumi_azure_native-2.68.0a1729544032.dist-info}/WHEEL +0 -0
- {pulumi_azure_native-2.68.0a1729267188.dist-info → pulumi_azure_native-2.68.0a1729544032.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from .. import _utilities
|
|
16
|
+
from . import outputs
|
|
17
|
+
from ._enums import *
|
|
18
|
+
from ._inputs import *
|
|
19
|
+
|
|
20
|
+
__all__ = ['SecretSyncArgs', 'SecretSync']
|
|
21
|
+
|
|
22
|
+
@pulumi.input_type
|
|
23
|
+
class SecretSyncArgs:
|
|
24
|
+
def __init__(__self__, *,
|
|
25
|
+
kubernetes_secret_type: pulumi.Input[Union[str, 'KubernetesSecretType']],
|
|
26
|
+
object_secret_mapping: pulumi.Input[Sequence[pulumi.Input['KubernetesSecretObjectMappingArgs']]],
|
|
27
|
+
resource_group_name: pulumi.Input[str],
|
|
28
|
+
secret_provider_class_name: pulumi.Input[str],
|
|
29
|
+
service_account_name: pulumi.Input[str],
|
|
30
|
+
extended_location: Optional[pulumi.Input['AzureResourceManagerCommonTypesExtendedLocationArgs']] = None,
|
|
31
|
+
force_synchronization: Optional[pulumi.Input[str]] = None,
|
|
32
|
+
location: Optional[pulumi.Input[str]] = None,
|
|
33
|
+
secret_sync_name: Optional[pulumi.Input[str]] = None,
|
|
34
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
|
|
35
|
+
"""
|
|
36
|
+
The set of arguments for constructing a SecretSync resource.
|
|
37
|
+
:param pulumi.Input[Union[str, 'KubernetesSecretType']] kubernetes_secret_type: Type specifies the type of the Kubernetes secret object, e.g. "Opaque" or"kubernetes.io/tls". The controller must have permission to create secrets of the specified type.
|
|
38
|
+
:param pulumi.Input[Sequence[pulumi.Input['KubernetesSecretObjectMappingArgs']]] object_secret_mapping: An array of SecretObjectData that maps secret data from the external secret provider to the Kubernetes secret. Each entry specifies the source secret in the external provider and the corresponding key in the Kubernetes secret.
|
|
39
|
+
:param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive.
|
|
40
|
+
:param pulumi.Input[str] secret_provider_class_name: SecretProviderClassName specifies the name of the SecretProviderClass resource, which contains the information needed to access the cloud provider secret store.
|
|
41
|
+
:param pulumi.Input[str] service_account_name: ServiceAccountName specifies the name of the service account used to access the cloud provider secret store. The audience field in the service account token must be passed as parameter in the controller configuration. The audience is used when requesting a token from the API server for the service account; the supported audiences are defined by each provider.
|
|
42
|
+
:param pulumi.Input['AzureResourceManagerCommonTypesExtendedLocationArgs'] extended_location: The complex type of the extended location.
|
|
43
|
+
:param pulumi.Input[str] force_synchronization: ForceSynchronization can be used to force the secret synchronization. The secret synchronization is triggered by changing the value in this field. This field is not used to resolve synchronization conflicts.
|
|
44
|
+
:param pulumi.Input[str] location: The geo-location where the resource lives
|
|
45
|
+
:param pulumi.Input[str] secret_sync_name: The name of the SecretSync
|
|
46
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags.
|
|
47
|
+
"""
|
|
48
|
+
pulumi.set(__self__, "kubernetes_secret_type", kubernetes_secret_type)
|
|
49
|
+
pulumi.set(__self__, "object_secret_mapping", object_secret_mapping)
|
|
50
|
+
pulumi.set(__self__, "resource_group_name", resource_group_name)
|
|
51
|
+
pulumi.set(__self__, "secret_provider_class_name", secret_provider_class_name)
|
|
52
|
+
pulumi.set(__self__, "service_account_name", service_account_name)
|
|
53
|
+
if extended_location is not None:
|
|
54
|
+
pulumi.set(__self__, "extended_location", extended_location)
|
|
55
|
+
if force_synchronization is not None:
|
|
56
|
+
pulumi.set(__self__, "force_synchronization", force_synchronization)
|
|
57
|
+
if location is not None:
|
|
58
|
+
pulumi.set(__self__, "location", location)
|
|
59
|
+
if secret_sync_name is not None:
|
|
60
|
+
pulumi.set(__self__, "secret_sync_name", secret_sync_name)
|
|
61
|
+
if tags is not None:
|
|
62
|
+
pulumi.set(__self__, "tags", tags)
|
|
63
|
+
|
|
64
|
+
@property
|
|
65
|
+
@pulumi.getter(name="kubernetesSecretType")
|
|
66
|
+
def kubernetes_secret_type(self) -> pulumi.Input[Union[str, 'KubernetesSecretType']]:
|
|
67
|
+
"""
|
|
68
|
+
Type specifies the type of the Kubernetes secret object, e.g. "Opaque" or"kubernetes.io/tls". The controller must have permission to create secrets of the specified type.
|
|
69
|
+
"""
|
|
70
|
+
return pulumi.get(self, "kubernetes_secret_type")
|
|
71
|
+
|
|
72
|
+
@kubernetes_secret_type.setter
|
|
73
|
+
def kubernetes_secret_type(self, value: pulumi.Input[Union[str, 'KubernetesSecretType']]):
|
|
74
|
+
pulumi.set(self, "kubernetes_secret_type", value)
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
@pulumi.getter(name="objectSecretMapping")
|
|
78
|
+
def object_secret_mapping(self) -> pulumi.Input[Sequence[pulumi.Input['KubernetesSecretObjectMappingArgs']]]:
|
|
79
|
+
"""
|
|
80
|
+
An array of SecretObjectData that maps secret data from the external secret provider to the Kubernetes secret. Each entry specifies the source secret in the external provider and the corresponding key in the Kubernetes secret.
|
|
81
|
+
"""
|
|
82
|
+
return pulumi.get(self, "object_secret_mapping")
|
|
83
|
+
|
|
84
|
+
@object_secret_mapping.setter
|
|
85
|
+
def object_secret_mapping(self, value: pulumi.Input[Sequence[pulumi.Input['KubernetesSecretObjectMappingArgs']]]):
|
|
86
|
+
pulumi.set(self, "object_secret_mapping", value)
|
|
87
|
+
|
|
88
|
+
@property
|
|
89
|
+
@pulumi.getter(name="resourceGroupName")
|
|
90
|
+
def resource_group_name(self) -> pulumi.Input[str]:
|
|
91
|
+
"""
|
|
92
|
+
The name of the resource group. The name is case insensitive.
|
|
93
|
+
"""
|
|
94
|
+
return pulumi.get(self, "resource_group_name")
|
|
95
|
+
|
|
96
|
+
@resource_group_name.setter
|
|
97
|
+
def resource_group_name(self, value: pulumi.Input[str]):
|
|
98
|
+
pulumi.set(self, "resource_group_name", value)
|
|
99
|
+
|
|
100
|
+
@property
|
|
101
|
+
@pulumi.getter(name="secretProviderClassName")
|
|
102
|
+
def secret_provider_class_name(self) -> pulumi.Input[str]:
|
|
103
|
+
"""
|
|
104
|
+
SecretProviderClassName specifies the name of the SecretProviderClass resource, which contains the information needed to access the cloud provider secret store.
|
|
105
|
+
"""
|
|
106
|
+
return pulumi.get(self, "secret_provider_class_name")
|
|
107
|
+
|
|
108
|
+
@secret_provider_class_name.setter
|
|
109
|
+
def secret_provider_class_name(self, value: pulumi.Input[str]):
|
|
110
|
+
pulumi.set(self, "secret_provider_class_name", value)
|
|
111
|
+
|
|
112
|
+
@property
|
|
113
|
+
@pulumi.getter(name="serviceAccountName")
|
|
114
|
+
def service_account_name(self) -> pulumi.Input[str]:
|
|
115
|
+
"""
|
|
116
|
+
ServiceAccountName specifies the name of the service account used to access the cloud provider secret store. The audience field in the service account token must be passed as parameter in the controller configuration. The audience is used when requesting a token from the API server for the service account; the supported audiences are defined by each provider.
|
|
117
|
+
"""
|
|
118
|
+
return pulumi.get(self, "service_account_name")
|
|
119
|
+
|
|
120
|
+
@service_account_name.setter
|
|
121
|
+
def service_account_name(self, value: pulumi.Input[str]):
|
|
122
|
+
pulumi.set(self, "service_account_name", value)
|
|
123
|
+
|
|
124
|
+
@property
|
|
125
|
+
@pulumi.getter(name="extendedLocation")
|
|
126
|
+
def extended_location(self) -> Optional[pulumi.Input['AzureResourceManagerCommonTypesExtendedLocationArgs']]:
|
|
127
|
+
"""
|
|
128
|
+
The complex type of the extended location.
|
|
129
|
+
"""
|
|
130
|
+
return pulumi.get(self, "extended_location")
|
|
131
|
+
|
|
132
|
+
@extended_location.setter
|
|
133
|
+
def extended_location(self, value: Optional[pulumi.Input['AzureResourceManagerCommonTypesExtendedLocationArgs']]):
|
|
134
|
+
pulumi.set(self, "extended_location", value)
|
|
135
|
+
|
|
136
|
+
@property
|
|
137
|
+
@pulumi.getter(name="forceSynchronization")
|
|
138
|
+
def force_synchronization(self) -> Optional[pulumi.Input[str]]:
|
|
139
|
+
"""
|
|
140
|
+
ForceSynchronization can be used to force the secret synchronization. The secret synchronization is triggered by changing the value in this field. This field is not used to resolve synchronization conflicts.
|
|
141
|
+
"""
|
|
142
|
+
return pulumi.get(self, "force_synchronization")
|
|
143
|
+
|
|
144
|
+
@force_synchronization.setter
|
|
145
|
+
def force_synchronization(self, value: Optional[pulumi.Input[str]]):
|
|
146
|
+
pulumi.set(self, "force_synchronization", value)
|
|
147
|
+
|
|
148
|
+
@property
|
|
149
|
+
@pulumi.getter
|
|
150
|
+
def location(self) -> Optional[pulumi.Input[str]]:
|
|
151
|
+
"""
|
|
152
|
+
The geo-location where the resource lives
|
|
153
|
+
"""
|
|
154
|
+
return pulumi.get(self, "location")
|
|
155
|
+
|
|
156
|
+
@location.setter
|
|
157
|
+
def location(self, value: Optional[pulumi.Input[str]]):
|
|
158
|
+
pulumi.set(self, "location", value)
|
|
159
|
+
|
|
160
|
+
@property
|
|
161
|
+
@pulumi.getter(name="secretSyncName")
|
|
162
|
+
def secret_sync_name(self) -> Optional[pulumi.Input[str]]:
|
|
163
|
+
"""
|
|
164
|
+
The name of the SecretSync
|
|
165
|
+
"""
|
|
166
|
+
return pulumi.get(self, "secret_sync_name")
|
|
167
|
+
|
|
168
|
+
@secret_sync_name.setter
|
|
169
|
+
def secret_sync_name(self, value: Optional[pulumi.Input[str]]):
|
|
170
|
+
pulumi.set(self, "secret_sync_name", value)
|
|
171
|
+
|
|
172
|
+
@property
|
|
173
|
+
@pulumi.getter
|
|
174
|
+
def tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
|
175
|
+
"""
|
|
176
|
+
Resource tags.
|
|
177
|
+
"""
|
|
178
|
+
return pulumi.get(self, "tags")
|
|
179
|
+
|
|
180
|
+
@tags.setter
|
|
181
|
+
def tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
|
182
|
+
pulumi.set(self, "tags", value)
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
class SecretSync(pulumi.CustomResource):
|
|
186
|
+
@overload
|
|
187
|
+
def __init__(__self__,
|
|
188
|
+
resource_name: str,
|
|
189
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
190
|
+
extended_location: Optional[pulumi.Input[Union['AzureResourceManagerCommonTypesExtendedLocationArgs', 'AzureResourceManagerCommonTypesExtendedLocationArgsDict']]] = None,
|
|
191
|
+
force_synchronization: Optional[pulumi.Input[str]] = None,
|
|
192
|
+
kubernetes_secret_type: Optional[pulumi.Input[Union[str, 'KubernetesSecretType']]] = None,
|
|
193
|
+
location: Optional[pulumi.Input[str]] = None,
|
|
194
|
+
object_secret_mapping: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesSecretObjectMappingArgs', 'KubernetesSecretObjectMappingArgsDict']]]]] = None,
|
|
195
|
+
resource_group_name: Optional[pulumi.Input[str]] = None,
|
|
196
|
+
secret_provider_class_name: Optional[pulumi.Input[str]] = None,
|
|
197
|
+
secret_sync_name: Optional[pulumi.Input[str]] = None,
|
|
198
|
+
service_account_name: Optional[pulumi.Input[str]] = None,
|
|
199
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
200
|
+
__props__=None):
|
|
201
|
+
"""
|
|
202
|
+
The SecretSync resource.
|
|
203
|
+
Azure REST API version: 2024-08-21-preview.
|
|
204
|
+
|
|
205
|
+
:param str resource_name: The name of the resource.
|
|
206
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
207
|
+
:param pulumi.Input[Union['AzureResourceManagerCommonTypesExtendedLocationArgs', 'AzureResourceManagerCommonTypesExtendedLocationArgsDict']] extended_location: The complex type of the extended location.
|
|
208
|
+
:param pulumi.Input[str] force_synchronization: ForceSynchronization can be used to force the secret synchronization. The secret synchronization is triggered by changing the value in this field. This field is not used to resolve synchronization conflicts.
|
|
209
|
+
:param pulumi.Input[Union[str, 'KubernetesSecretType']] kubernetes_secret_type: Type specifies the type of the Kubernetes secret object, e.g. "Opaque" or"kubernetes.io/tls". The controller must have permission to create secrets of the specified type.
|
|
210
|
+
:param pulumi.Input[str] location: The geo-location where the resource lives
|
|
211
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['KubernetesSecretObjectMappingArgs', 'KubernetesSecretObjectMappingArgsDict']]]] object_secret_mapping: An array of SecretObjectData that maps secret data from the external secret provider to the Kubernetes secret. Each entry specifies the source secret in the external provider and the corresponding key in the Kubernetes secret.
|
|
212
|
+
:param pulumi.Input[str] resource_group_name: The name of the resource group. The name is case insensitive.
|
|
213
|
+
:param pulumi.Input[str] secret_provider_class_name: SecretProviderClassName specifies the name of the SecretProviderClass resource, which contains the information needed to access the cloud provider secret store.
|
|
214
|
+
:param pulumi.Input[str] secret_sync_name: The name of the SecretSync
|
|
215
|
+
:param pulumi.Input[str] service_account_name: ServiceAccountName specifies the name of the service account used to access the cloud provider secret store. The audience field in the service account token must be passed as parameter in the controller configuration. The audience is used when requesting a token from the API server for the service account; the supported audiences are defined by each provider.
|
|
216
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] tags: Resource tags.
|
|
217
|
+
"""
|
|
218
|
+
...
|
|
219
|
+
@overload
|
|
220
|
+
def __init__(__self__,
|
|
221
|
+
resource_name: str,
|
|
222
|
+
args: SecretSyncArgs,
|
|
223
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
224
|
+
"""
|
|
225
|
+
The SecretSync resource.
|
|
226
|
+
Azure REST API version: 2024-08-21-preview.
|
|
227
|
+
|
|
228
|
+
:param str resource_name: The name of the resource.
|
|
229
|
+
:param SecretSyncArgs args: The arguments to use to populate this resource's properties.
|
|
230
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
231
|
+
"""
|
|
232
|
+
...
|
|
233
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
234
|
+
resource_args, opts = _utilities.get_resource_args_opts(SecretSyncArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
235
|
+
if resource_args is not None:
|
|
236
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
237
|
+
else:
|
|
238
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
239
|
+
|
|
240
|
+
def _internal_init(__self__,
|
|
241
|
+
resource_name: str,
|
|
242
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
243
|
+
extended_location: Optional[pulumi.Input[Union['AzureResourceManagerCommonTypesExtendedLocationArgs', 'AzureResourceManagerCommonTypesExtendedLocationArgsDict']]] = None,
|
|
244
|
+
force_synchronization: Optional[pulumi.Input[str]] = None,
|
|
245
|
+
kubernetes_secret_type: Optional[pulumi.Input[Union[str, 'KubernetesSecretType']]] = None,
|
|
246
|
+
location: Optional[pulumi.Input[str]] = None,
|
|
247
|
+
object_secret_mapping: Optional[pulumi.Input[Sequence[pulumi.Input[Union['KubernetesSecretObjectMappingArgs', 'KubernetesSecretObjectMappingArgsDict']]]]] = None,
|
|
248
|
+
resource_group_name: Optional[pulumi.Input[str]] = None,
|
|
249
|
+
secret_provider_class_name: Optional[pulumi.Input[str]] = None,
|
|
250
|
+
secret_sync_name: Optional[pulumi.Input[str]] = None,
|
|
251
|
+
service_account_name: Optional[pulumi.Input[str]] = None,
|
|
252
|
+
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
|
|
253
|
+
__props__=None):
|
|
254
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
255
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
256
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
257
|
+
if opts.id is None:
|
|
258
|
+
if __props__ is not None:
|
|
259
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
260
|
+
__props__ = SecretSyncArgs.__new__(SecretSyncArgs)
|
|
261
|
+
|
|
262
|
+
__props__.__dict__["extended_location"] = extended_location
|
|
263
|
+
__props__.__dict__["force_synchronization"] = force_synchronization
|
|
264
|
+
if kubernetes_secret_type is None and not opts.urn:
|
|
265
|
+
raise TypeError("Missing required property 'kubernetes_secret_type'")
|
|
266
|
+
__props__.__dict__["kubernetes_secret_type"] = kubernetes_secret_type
|
|
267
|
+
__props__.__dict__["location"] = location
|
|
268
|
+
if object_secret_mapping is None and not opts.urn:
|
|
269
|
+
raise TypeError("Missing required property 'object_secret_mapping'")
|
|
270
|
+
__props__.__dict__["object_secret_mapping"] = object_secret_mapping
|
|
271
|
+
if resource_group_name is None and not opts.urn:
|
|
272
|
+
raise TypeError("Missing required property 'resource_group_name'")
|
|
273
|
+
__props__.__dict__["resource_group_name"] = resource_group_name
|
|
274
|
+
if secret_provider_class_name is None and not opts.urn:
|
|
275
|
+
raise TypeError("Missing required property 'secret_provider_class_name'")
|
|
276
|
+
__props__.__dict__["secret_provider_class_name"] = secret_provider_class_name
|
|
277
|
+
__props__.__dict__["secret_sync_name"] = secret_sync_name
|
|
278
|
+
if service_account_name is None and not opts.urn:
|
|
279
|
+
raise TypeError("Missing required property 'service_account_name'")
|
|
280
|
+
__props__.__dict__["service_account_name"] = service_account_name
|
|
281
|
+
__props__.__dict__["tags"] = tags
|
|
282
|
+
__props__.__dict__["name"] = None
|
|
283
|
+
__props__.__dict__["provisioning_state"] = None
|
|
284
|
+
__props__.__dict__["status"] = None
|
|
285
|
+
__props__.__dict__["system_data"] = None
|
|
286
|
+
__props__.__dict__["type"] = None
|
|
287
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="azure-native:secretsynccontroller/v20240821preview:SecretSync")])
|
|
288
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
|
289
|
+
super(SecretSync, __self__).__init__(
|
|
290
|
+
'azure-native:secretsynccontroller:SecretSync',
|
|
291
|
+
resource_name,
|
|
292
|
+
__props__,
|
|
293
|
+
opts)
|
|
294
|
+
|
|
295
|
+
@staticmethod
|
|
296
|
+
def get(resource_name: str,
|
|
297
|
+
id: pulumi.Input[str],
|
|
298
|
+
opts: Optional[pulumi.ResourceOptions] = None) -> 'SecretSync':
|
|
299
|
+
"""
|
|
300
|
+
Get an existing SecretSync resource's state with the given name, id, and optional extra
|
|
301
|
+
properties used to qualify the lookup.
|
|
302
|
+
|
|
303
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
304
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
305
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
306
|
+
"""
|
|
307
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
308
|
+
|
|
309
|
+
__props__ = SecretSyncArgs.__new__(SecretSyncArgs)
|
|
310
|
+
|
|
311
|
+
__props__.__dict__["extended_location"] = None
|
|
312
|
+
__props__.__dict__["force_synchronization"] = None
|
|
313
|
+
__props__.__dict__["kubernetes_secret_type"] = None
|
|
314
|
+
__props__.__dict__["location"] = None
|
|
315
|
+
__props__.__dict__["name"] = None
|
|
316
|
+
__props__.__dict__["object_secret_mapping"] = None
|
|
317
|
+
__props__.__dict__["provisioning_state"] = None
|
|
318
|
+
__props__.__dict__["secret_provider_class_name"] = None
|
|
319
|
+
__props__.__dict__["service_account_name"] = None
|
|
320
|
+
__props__.__dict__["status"] = None
|
|
321
|
+
__props__.__dict__["system_data"] = None
|
|
322
|
+
__props__.__dict__["tags"] = None
|
|
323
|
+
__props__.__dict__["type"] = None
|
|
324
|
+
return SecretSync(resource_name, opts=opts, __props__=__props__)
|
|
325
|
+
|
|
326
|
+
@property
|
|
327
|
+
@pulumi.getter(name="extendedLocation")
|
|
328
|
+
def extended_location(self) -> pulumi.Output[Optional['outputs.AzureResourceManagerCommonTypesExtendedLocationResponse']]:
|
|
329
|
+
"""
|
|
330
|
+
The complex type of the extended location.
|
|
331
|
+
"""
|
|
332
|
+
return pulumi.get(self, "extended_location")
|
|
333
|
+
|
|
334
|
+
@property
|
|
335
|
+
@pulumi.getter(name="forceSynchronization")
|
|
336
|
+
def force_synchronization(self) -> pulumi.Output[Optional[str]]:
|
|
337
|
+
"""
|
|
338
|
+
ForceSynchronization can be used to force the secret synchronization. The secret synchronization is triggered by changing the value in this field. This field is not used to resolve synchronization conflicts.
|
|
339
|
+
"""
|
|
340
|
+
return pulumi.get(self, "force_synchronization")
|
|
341
|
+
|
|
342
|
+
@property
|
|
343
|
+
@pulumi.getter(name="kubernetesSecretType")
|
|
344
|
+
def kubernetes_secret_type(self) -> pulumi.Output[str]:
|
|
345
|
+
"""
|
|
346
|
+
Type specifies the type of the Kubernetes secret object, e.g. "Opaque" or"kubernetes.io/tls". The controller must have permission to create secrets of the specified type.
|
|
347
|
+
"""
|
|
348
|
+
return pulumi.get(self, "kubernetes_secret_type")
|
|
349
|
+
|
|
350
|
+
@property
|
|
351
|
+
@pulumi.getter
|
|
352
|
+
def location(self) -> pulumi.Output[str]:
|
|
353
|
+
"""
|
|
354
|
+
The geo-location where the resource lives
|
|
355
|
+
"""
|
|
356
|
+
return pulumi.get(self, "location")
|
|
357
|
+
|
|
358
|
+
@property
|
|
359
|
+
@pulumi.getter
|
|
360
|
+
def name(self) -> pulumi.Output[str]:
|
|
361
|
+
"""
|
|
362
|
+
The name of the resource
|
|
363
|
+
"""
|
|
364
|
+
return pulumi.get(self, "name")
|
|
365
|
+
|
|
366
|
+
@property
|
|
367
|
+
@pulumi.getter(name="objectSecretMapping")
|
|
368
|
+
def object_secret_mapping(self) -> pulumi.Output[Sequence['outputs.KubernetesSecretObjectMappingResponse']]:
|
|
369
|
+
"""
|
|
370
|
+
An array of SecretObjectData that maps secret data from the external secret provider to the Kubernetes secret. Each entry specifies the source secret in the external provider and the corresponding key in the Kubernetes secret.
|
|
371
|
+
"""
|
|
372
|
+
return pulumi.get(self, "object_secret_mapping")
|
|
373
|
+
|
|
374
|
+
@property
|
|
375
|
+
@pulumi.getter(name="provisioningState")
|
|
376
|
+
def provisioning_state(self) -> pulumi.Output[str]:
|
|
377
|
+
"""
|
|
378
|
+
Provisioning state of the SecretSync instance.
|
|
379
|
+
"""
|
|
380
|
+
return pulumi.get(self, "provisioning_state")
|
|
381
|
+
|
|
382
|
+
@property
|
|
383
|
+
@pulumi.getter(name="secretProviderClassName")
|
|
384
|
+
def secret_provider_class_name(self) -> pulumi.Output[str]:
|
|
385
|
+
"""
|
|
386
|
+
SecretProviderClassName specifies the name of the SecretProviderClass resource, which contains the information needed to access the cloud provider secret store.
|
|
387
|
+
"""
|
|
388
|
+
return pulumi.get(self, "secret_provider_class_name")
|
|
389
|
+
|
|
390
|
+
@property
|
|
391
|
+
@pulumi.getter(name="serviceAccountName")
|
|
392
|
+
def service_account_name(self) -> pulumi.Output[str]:
|
|
393
|
+
"""
|
|
394
|
+
ServiceAccountName specifies the name of the service account used to access the cloud provider secret store. The audience field in the service account token must be passed as parameter in the controller configuration. The audience is used when requesting a token from the API server for the service account; the supported audiences are defined by each provider.
|
|
395
|
+
"""
|
|
396
|
+
return pulumi.get(self, "service_account_name")
|
|
397
|
+
|
|
398
|
+
@property
|
|
399
|
+
@pulumi.getter
|
|
400
|
+
def status(self) -> pulumi.Output['outputs.SecretSyncStatusResponse']:
|
|
401
|
+
"""
|
|
402
|
+
SecretSyncStatus defines the observed state of the secret synchronization process.
|
|
403
|
+
"""
|
|
404
|
+
return pulumi.get(self, "status")
|
|
405
|
+
|
|
406
|
+
@property
|
|
407
|
+
@pulumi.getter(name="systemData")
|
|
408
|
+
def system_data(self) -> pulumi.Output['outputs.SystemDataResponse']:
|
|
409
|
+
"""
|
|
410
|
+
Azure Resource Manager metadata containing createdBy and modifiedBy information.
|
|
411
|
+
"""
|
|
412
|
+
return pulumi.get(self, "system_data")
|
|
413
|
+
|
|
414
|
+
@property
|
|
415
|
+
@pulumi.getter
|
|
416
|
+
def tags(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
|
|
417
|
+
"""
|
|
418
|
+
Resource tags.
|
|
419
|
+
"""
|
|
420
|
+
return pulumi.get(self, "tags")
|
|
421
|
+
|
|
422
|
+
@property
|
|
423
|
+
@pulumi.getter
|
|
424
|
+
def type(self) -> pulumi.Output[str]:
|
|
425
|
+
"""
|
|
426
|
+
The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
|
|
427
|
+
"""
|
|
428
|
+
return pulumi.get(self, "type")
|
|
429
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
from ... import _utilities
|
|
6
|
+
import typing
|
|
7
|
+
# Export this package's modules as members:
|
|
8
|
+
from ._enums import *
|
|
9
|
+
from .azure_key_vault_secret_provider_class import *
|
|
10
|
+
from .get_azure_key_vault_secret_provider_class import *
|
|
11
|
+
from .get_secret_sync import *
|
|
12
|
+
from .secret_sync import *
|
|
13
|
+
from ._inputs import *
|
|
14
|
+
from . import outputs
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
from enum import Enum
|
|
6
|
+
|
|
7
|
+
__all__ = [
|
|
8
|
+
'ExtendedLocationType',
|
|
9
|
+
'KubernetesSecretType',
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ExtendedLocationType(str, Enum):
|
|
14
|
+
"""
|
|
15
|
+
The type of the extended location.
|
|
16
|
+
"""
|
|
17
|
+
EDGE_ZONE = "EdgeZone"
|
|
18
|
+
"""
|
|
19
|
+
Azure Edge Zones location type
|
|
20
|
+
"""
|
|
21
|
+
CUSTOM_LOCATION = "CustomLocation"
|
|
22
|
+
"""
|
|
23
|
+
Azure Custom Locations type
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class KubernetesSecretType(str, Enum):
|
|
28
|
+
"""
|
|
29
|
+
Type specifies the type of the Kubernetes secret object, e.g. "Opaque" or"kubernetes.io/tls". The controller must have permission to create secrets of the specified type.
|
|
30
|
+
"""
|
|
31
|
+
OPAQUE = "Opaque"
|
|
32
|
+
"""
|
|
33
|
+
Opaque is the default secret type.
|
|
34
|
+
"""
|
|
35
|
+
TLS = "kubernetes.io/tls"
|
|
36
|
+
"""
|
|
37
|
+
The kubernetes.io/tls secret type is for storing a certificate and its associated key that are typically used for TLS.
|
|
38
|
+
"""
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by pulumi-language-python. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import sys
|
|
8
|
+
import pulumi
|
|
9
|
+
import pulumi.runtime
|
|
10
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
11
|
+
if sys.version_info >= (3, 11):
|
|
12
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
13
|
+
else:
|
|
14
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
15
|
+
from ... import _utilities
|
|
16
|
+
from ._enums import *
|
|
17
|
+
|
|
18
|
+
__all__ = [
|
|
19
|
+
'AzureResourceManagerCommonTypesExtendedLocationArgs',
|
|
20
|
+
'AzureResourceManagerCommonTypesExtendedLocationArgsDict',
|
|
21
|
+
'KubernetesSecretObjectMappingArgs',
|
|
22
|
+
'KubernetesSecretObjectMappingArgsDict',
|
|
23
|
+
]
|
|
24
|
+
|
|
25
|
+
MYPY = False
|
|
26
|
+
|
|
27
|
+
if not MYPY:
|
|
28
|
+
class AzureResourceManagerCommonTypesExtendedLocationArgsDict(TypedDict):
|
|
29
|
+
"""
|
|
30
|
+
The complex type of the extended location.
|
|
31
|
+
"""
|
|
32
|
+
name: pulumi.Input[str]
|
|
33
|
+
"""
|
|
34
|
+
The name of the extended location.
|
|
35
|
+
"""
|
|
36
|
+
type: pulumi.Input[Union[str, 'ExtendedLocationType']]
|
|
37
|
+
"""
|
|
38
|
+
The type of the extended location.
|
|
39
|
+
"""
|
|
40
|
+
elif False:
|
|
41
|
+
AzureResourceManagerCommonTypesExtendedLocationArgsDict: TypeAlias = Mapping[str, Any]
|
|
42
|
+
|
|
43
|
+
@pulumi.input_type
|
|
44
|
+
class AzureResourceManagerCommonTypesExtendedLocationArgs:
|
|
45
|
+
def __init__(__self__, *,
|
|
46
|
+
name: pulumi.Input[str],
|
|
47
|
+
type: pulumi.Input[Union[str, 'ExtendedLocationType']]):
|
|
48
|
+
"""
|
|
49
|
+
The complex type of the extended location.
|
|
50
|
+
:param pulumi.Input[str] name: The name of the extended location.
|
|
51
|
+
:param pulumi.Input[Union[str, 'ExtendedLocationType']] type: The type of the extended location.
|
|
52
|
+
"""
|
|
53
|
+
pulumi.set(__self__, "name", name)
|
|
54
|
+
pulumi.set(__self__, "type", type)
|
|
55
|
+
|
|
56
|
+
@property
|
|
57
|
+
@pulumi.getter
|
|
58
|
+
def name(self) -> pulumi.Input[str]:
|
|
59
|
+
"""
|
|
60
|
+
The name of the extended location.
|
|
61
|
+
"""
|
|
62
|
+
return pulumi.get(self, "name")
|
|
63
|
+
|
|
64
|
+
@name.setter
|
|
65
|
+
def name(self, value: pulumi.Input[str]):
|
|
66
|
+
pulumi.set(self, "name", value)
|
|
67
|
+
|
|
68
|
+
@property
|
|
69
|
+
@pulumi.getter
|
|
70
|
+
def type(self) -> pulumi.Input[Union[str, 'ExtendedLocationType']]:
|
|
71
|
+
"""
|
|
72
|
+
The type of the extended location.
|
|
73
|
+
"""
|
|
74
|
+
return pulumi.get(self, "type")
|
|
75
|
+
|
|
76
|
+
@type.setter
|
|
77
|
+
def type(self, value: pulumi.Input[Union[str, 'ExtendedLocationType']]):
|
|
78
|
+
pulumi.set(self, "type", value)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
if not MYPY:
|
|
82
|
+
class KubernetesSecretObjectMappingArgsDict(TypedDict):
|
|
83
|
+
"""
|
|
84
|
+
Properties defining the mapping between a cloud secret store object and a Kubernetes Secret.
|
|
85
|
+
"""
|
|
86
|
+
source_path: pulumi.Input[str]
|
|
87
|
+
"""
|
|
88
|
+
SourcePath is the identifier for the secret data as defined by the external secret provider. This is the key or path to the secret in the provider's system, which gets mounted to a specific path in the pod. The value should match the name of the secret as specified in the SecretProviderClass's objects array.
|
|
89
|
+
"""
|
|
90
|
+
target_key: pulumi.Input[str]
|
|
91
|
+
"""
|
|
92
|
+
TargetKey is the key in the Kubernetes secret's data field where the secret value will be stored. This key is used to reference the secret data within Kubernetes, and it should be unique within the secret.
|
|
93
|
+
"""
|
|
94
|
+
elif False:
|
|
95
|
+
KubernetesSecretObjectMappingArgsDict: TypeAlias = Mapping[str, Any]
|
|
96
|
+
|
|
97
|
+
@pulumi.input_type
|
|
98
|
+
class KubernetesSecretObjectMappingArgs:
|
|
99
|
+
def __init__(__self__, *,
|
|
100
|
+
source_path: pulumi.Input[str],
|
|
101
|
+
target_key: pulumi.Input[str]):
|
|
102
|
+
"""
|
|
103
|
+
Properties defining the mapping between a cloud secret store object and a Kubernetes Secret.
|
|
104
|
+
:param pulumi.Input[str] source_path: SourcePath is the identifier for the secret data as defined by the external secret provider. This is the key or path to the secret in the provider's system, which gets mounted to a specific path in the pod. The value should match the name of the secret as specified in the SecretProviderClass's objects array.
|
|
105
|
+
:param pulumi.Input[str] target_key: TargetKey is the key in the Kubernetes secret's data field where the secret value will be stored. This key is used to reference the secret data within Kubernetes, and it should be unique within the secret.
|
|
106
|
+
"""
|
|
107
|
+
pulumi.set(__self__, "source_path", source_path)
|
|
108
|
+
pulumi.set(__self__, "target_key", target_key)
|
|
109
|
+
|
|
110
|
+
@property
|
|
111
|
+
@pulumi.getter(name="sourcePath")
|
|
112
|
+
def source_path(self) -> pulumi.Input[str]:
|
|
113
|
+
"""
|
|
114
|
+
SourcePath is the identifier for the secret data as defined by the external secret provider. This is the key or path to the secret in the provider's system, which gets mounted to a specific path in the pod. The value should match the name of the secret as specified in the SecretProviderClass's objects array.
|
|
115
|
+
"""
|
|
116
|
+
return pulumi.get(self, "source_path")
|
|
117
|
+
|
|
118
|
+
@source_path.setter
|
|
119
|
+
def source_path(self, value: pulumi.Input[str]):
|
|
120
|
+
pulumi.set(self, "source_path", value)
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
@pulumi.getter(name="targetKey")
|
|
124
|
+
def target_key(self) -> pulumi.Input[str]:
|
|
125
|
+
"""
|
|
126
|
+
TargetKey is the key in the Kubernetes secret's data field where the secret value will be stored. This key is used to reference the secret data within Kubernetes, and it should be unique within the secret.
|
|
127
|
+
"""
|
|
128
|
+
return pulumi.get(self, "target_key")
|
|
129
|
+
|
|
130
|
+
@target_key.setter
|
|
131
|
+
def target_key(self, value: pulumi.Input[str]):
|
|
132
|
+
pulumi.set(self, "target_key", value)
|
|
133
|
+
|
|
134
|
+
|