pulumi-aiven 6.38.0a1747372094__py3-none-any.whl → 6.38.0a1747647727__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-aiven might be problematic. Click here for more details.

Files changed (31) hide show
  1. pulumi_aiven/__init__.py +9 -0
  2. pulumi_aiven/_inputs.py +1302 -160
  3. pulumi_aiven/clickhouse_grant.py +18 -0
  4. pulumi_aiven/get_external_identity.py +5 -5
  5. pulumi_aiven/get_open_search.py +7 -7
  6. pulumi_aiven/get_open_search_acl_config.py +7 -7
  7. pulumi_aiven/get_open_search_acl_rule.py +19 -19
  8. pulumi_aiven/get_opensearch_security_plugin_config.py +7 -7
  9. pulumi_aiven/get_opensearch_user.py +13 -13
  10. pulumi_aiven/get_organization.py +24 -6
  11. pulumi_aiven/get_organization_address.py +52 -29
  12. pulumi_aiven/get_organization_billing_group.py +38 -15
  13. pulumi_aiven/get_organization_billing_group_list.py +40 -12
  14. pulumi_aiven/get_organization_project.py +50 -14
  15. pulumi_aiven/governance_access.py +418 -0
  16. pulumi_aiven/open_search.py +17 -19
  17. pulumi_aiven/open_search_acl_config.py +29 -41
  18. pulumi_aiven/open_search_acl_rule.py +47 -47
  19. pulumi_aiven/opensearch_security_plugin_config.py +14 -42
  20. pulumi_aiven/opensearch_user.py +32 -32
  21. pulumi_aiven/organization.py +24 -19
  22. pulumi_aiven/organization_address.py +102 -96
  23. pulumi_aiven/organization_application_user.py +9 -0
  24. pulumi_aiven/organization_billing_group.py +66 -60
  25. pulumi_aiven/organization_project.py +111 -62
  26. pulumi_aiven/outputs.py +1039 -189
  27. pulumi_aiven/pulumi-plugin.json +1 -1
  28. {pulumi_aiven-6.38.0a1747372094.dist-info → pulumi_aiven-6.38.0a1747647727.dist-info}/METADATA +1 -1
  29. {pulumi_aiven-6.38.0a1747372094.dist-info → pulumi_aiven-6.38.0a1747647727.dist-info}/RECORD +31 -30
  30. {pulumi_aiven-6.38.0a1747372094.dist-info → pulumi_aiven-6.38.0a1747647727.dist-info}/WHEEL +0 -0
  31. {pulumi_aiven-6.38.0a1747372094.dist-info → pulumi_aiven-6.38.0a1747647727.dist-info}/top_level.txt +0 -0
@@ -15,6 +15,7 @@ else:
15
15
  from typing_extensions import NotRequired, TypedDict, TypeAlias
16
16
  from . import _utilities
17
17
  from . import outputs
18
+ from ._inputs import *
18
19
 
19
20
  __all__ = [
20
21
  'GetOrganizationProjectResult',
@@ -28,7 +29,10 @@ class GetOrganizationProjectResult:
28
29
  """
29
30
  A collection of values returned by getOrganizationProject.
30
31
  """
31
- def __init__(__self__, billing_group_id=None, ca_cert=None, id=None, organization_id=None, parent_id=None, project_id=None, tags=None, technical_emails=None):
32
+ def __init__(__self__, base_port=None, billing_group_id=None, ca_cert=None, id=None, organization_id=None, parent_id=None, project_id=None, tags=None, technical_emails=None, timeouts=None):
33
+ if base_port and not isinstance(base_port, int):
34
+ raise TypeError("Expected argument 'base_port' to be a int")
35
+ pulumi.set(__self__, "base_port", base_port)
32
36
  if billing_group_id and not isinstance(billing_group_id, str):
33
37
  raise TypeError("Expected argument 'billing_group_id' to be a str")
34
38
  pulumi.set(__self__, "billing_group_id", billing_group_id)
@@ -53,12 +57,23 @@ class GetOrganizationProjectResult:
53
57
  if technical_emails and not isinstance(technical_emails, list):
54
58
  raise TypeError("Expected argument 'technical_emails' to be a list")
55
59
  pulumi.set(__self__, "technical_emails", technical_emails)
60
+ if timeouts and not isinstance(timeouts, dict):
61
+ raise TypeError("Expected argument 'timeouts' to be a dict")
62
+ pulumi.set(__self__, "timeouts", timeouts)
63
+
64
+ @property
65
+ @pulumi.getter(name="basePort")
66
+ def base_port(self) -> builtins.int:
67
+ """
68
+ Valid port number (1-65535) to use as a base for service port allocation.
69
+ """
70
+ return pulumi.get(self, "base_port")
56
71
 
57
72
  @property
58
73
  @pulumi.getter(name="billingGroupId")
59
74
  def billing_group_id(self) -> builtins.str:
60
75
  """
61
- Billing group ID to assign to the project.
76
+ Billing group ID to assign to the project. It's required when moving projects between organizations.
62
77
  """
63
78
  return pulumi.get(self, "billing_group_id")
64
79
 
@@ -66,7 +81,7 @@ class GetOrganizationProjectResult:
66
81
  @pulumi.getter(name="caCert")
67
82
  def ca_cert(self) -> builtins.str:
68
83
  """
69
- The CA certificate for the project. This is required for configuring clients that connect to certain services like Kafka.
84
+ PEM encoded certificate.
70
85
  """
71
86
  return pulumi.get(self, "ca_cert")
72
87
 
@@ -74,7 +89,7 @@ class GetOrganizationProjectResult:
74
89
  @pulumi.getter
75
90
  def id(self) -> builtins.str:
76
91
  """
77
- The provider-assigned unique ID for this managed resource.
92
+ Resource ID, a composite of `organization_id` and `project_id` IDs.
78
93
  """
79
94
  return pulumi.get(self, "id")
80
95
 
@@ -82,7 +97,7 @@ class GetOrganizationProjectResult:
82
97
  @pulumi.getter(name="organizationId")
83
98
  def organization_id(self) -> builtins.str:
84
99
  """
85
- ID of an organization. Changing this property forces recreation of the resource.
100
+ ID of an organization.
86
101
  """
87
102
  return pulumi.get(self, "organization_id")
88
103
 
@@ -98,13 +113,13 @@ class GetOrganizationProjectResult:
98
113
  @pulumi.getter(name="projectId")
99
114
  def project_id(self) -> builtins.str:
100
115
  """
101
- Unique identifier for the project that also serves as the project name.
116
+ The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource.
102
117
  """
103
118
  return pulumi.get(self, "project_id")
104
119
 
105
120
  @property
106
121
  @pulumi.getter
107
- def tags(self) -> Sequence['outputs.GetOrganizationProjectTagResult']:
122
+ def tags(self) -> Optional[Sequence['outputs.GetOrganizationProjectTagResult']]:
108
123
  """
109
124
  Tags are key-value pairs that allow you to categorize projects.
110
125
  """
@@ -118,6 +133,11 @@ class GetOrganizationProjectResult:
118
133
  """
119
134
  return pulumi.get(self, "technical_emails")
120
135
 
136
+ @property
137
+ @pulumi.getter
138
+ def timeouts(self) -> Optional['outputs.GetOrganizationProjectTimeoutsResult']:
139
+ return pulumi.get(self, "timeouts")
140
+
121
141
 
122
142
  class AwaitableGetOrganizationProjectResult(GetOrganizationProjectResult):
123
143
  # pylint: disable=using-constant-test
@@ -125,6 +145,7 @@ class AwaitableGetOrganizationProjectResult(GetOrganizationProjectResult):
125
145
  if False:
126
146
  yield self
127
147
  return GetOrganizationProjectResult(
148
+ base_port=self.base_port,
128
149
  billing_group_id=self.billing_group_id,
129
150
  ca_cert=self.ca_cert,
130
151
  id=self.id,
@@ -132,11 +153,14 @@ class AwaitableGetOrganizationProjectResult(GetOrganizationProjectResult):
132
153
  parent_id=self.parent_id,
133
154
  project_id=self.project_id,
134
155
  tags=self.tags,
135
- technical_emails=self.technical_emails)
156
+ technical_emails=self.technical_emails,
157
+ timeouts=self.timeouts)
136
158
 
137
159
 
138
160
  def get_organization_project(organization_id: Optional[builtins.str] = None,
139
161
  project_id: Optional[builtins.str] = None,
162
+ tags: Optional[Sequence[Union['GetOrganizationProjectTagArgs', 'GetOrganizationProjectTagArgsDict']]] = None,
163
+ timeouts: Optional[Union['GetOrganizationProjectTimeoutsArgs', 'GetOrganizationProjectTimeoutsArgsDict']] = None,
140
164
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrganizationProjectResult:
141
165
  """
142
166
  Gets information about an Aiven project.
@@ -155,16 +179,20 @@ def get_organization_project(organization_id: Optional[builtins.str] = None,
155
179
  ```
156
180
 
157
181
 
158
- :param builtins.str organization_id: ID of an organization. Changing this property forces recreation of the resource.
159
- :param builtins.str project_id: Unique identifier for the project that also serves as the project name.
182
+ :param builtins.str organization_id: ID of an organization.
183
+ :param builtins.str project_id: The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource.
184
+ :param Sequence[Union['GetOrganizationProjectTagArgs', 'GetOrganizationProjectTagArgsDict']] tags: Tags are key-value pairs that allow you to categorize projects.
160
185
  """
161
186
  __args__ = dict()
162
187
  __args__['organizationId'] = organization_id
163
188
  __args__['projectId'] = project_id
189
+ __args__['tags'] = tags
190
+ __args__['timeouts'] = timeouts
164
191
  opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
165
192
  __ret__ = pulumi.runtime.invoke('aiven:index/getOrganizationProject:getOrganizationProject', __args__, opts=opts, typ=GetOrganizationProjectResult).value
166
193
 
167
194
  return AwaitableGetOrganizationProjectResult(
195
+ base_port=pulumi.get(__ret__, 'base_port'),
168
196
  billing_group_id=pulumi.get(__ret__, 'billing_group_id'),
169
197
  ca_cert=pulumi.get(__ret__, 'ca_cert'),
170
198
  id=pulumi.get(__ret__, 'id'),
@@ -172,9 +200,12 @@ def get_organization_project(organization_id: Optional[builtins.str] = None,
172
200
  parent_id=pulumi.get(__ret__, 'parent_id'),
173
201
  project_id=pulumi.get(__ret__, 'project_id'),
174
202
  tags=pulumi.get(__ret__, 'tags'),
175
- technical_emails=pulumi.get(__ret__, 'technical_emails'))
203
+ technical_emails=pulumi.get(__ret__, 'technical_emails'),
204
+ timeouts=pulumi.get(__ret__, 'timeouts'))
176
205
  def get_organization_project_output(organization_id: Optional[pulumi.Input[builtins.str]] = None,
177
206
  project_id: Optional[pulumi.Input[builtins.str]] = None,
207
+ tags: Optional[pulumi.Input[Optional[Sequence[Union['GetOrganizationProjectTagArgs', 'GetOrganizationProjectTagArgsDict']]]]] = None,
208
+ timeouts: Optional[pulumi.Input[Optional[Union['GetOrganizationProjectTimeoutsArgs', 'GetOrganizationProjectTimeoutsArgsDict']]]] = None,
178
209
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationProjectResult]:
179
210
  """
180
211
  Gets information about an Aiven project.
@@ -193,15 +224,19 @@ def get_organization_project_output(organization_id: Optional[pulumi.Input[built
193
224
  ```
194
225
 
195
226
 
196
- :param builtins.str organization_id: ID of an organization. Changing this property forces recreation of the resource.
197
- :param builtins.str project_id: Unique identifier for the project that also serves as the project name.
227
+ :param builtins.str organization_id: ID of an organization.
228
+ :param builtins.str project_id: The name of the project. Names must be globally unique among all Aiven customers. Names must begin with a letter (a-z), and consist of letters, numbers, and dashes. It's recommended to use a random string or your organization name as a prefix or suffix. Changing this property forces recreation of the resource.
229
+ :param Sequence[Union['GetOrganizationProjectTagArgs', 'GetOrganizationProjectTagArgsDict']] tags: Tags are key-value pairs that allow you to categorize projects.
198
230
  """
199
231
  __args__ = dict()
200
232
  __args__['organizationId'] = organization_id
201
233
  __args__['projectId'] = project_id
234
+ __args__['tags'] = tags
235
+ __args__['timeouts'] = timeouts
202
236
  opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
203
237
  __ret__ = pulumi.runtime.invoke_output('aiven:index/getOrganizationProject:getOrganizationProject', __args__, opts=opts, typ=GetOrganizationProjectResult)
204
238
  return __ret__.apply(lambda __response__: GetOrganizationProjectResult(
239
+ base_port=pulumi.get(__response__, 'base_port'),
205
240
  billing_group_id=pulumi.get(__response__, 'billing_group_id'),
206
241
  ca_cert=pulumi.get(__response__, 'ca_cert'),
207
242
  id=pulumi.get(__response__, 'id'),
@@ -209,4 +244,5 @@ def get_organization_project_output(organization_id: Optional[pulumi.Input[built
209
244
  parent_id=pulumi.get(__response__, 'parent_id'),
210
245
  project_id=pulumi.get(__response__, 'project_id'),
211
246
  tags=pulumi.get(__response__, 'tags'),
212
- technical_emails=pulumi.get(__response__, 'technical_emails')))
247
+ technical_emails=pulumi.get(__response__, 'technical_emails'),
248
+ timeouts=pulumi.get(__response__, 'timeouts')))
@@ -0,0 +1,418 @@
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 builtins
6
+ import copy
7
+ import warnings
8
+ import sys
9
+ import pulumi
10
+ import pulumi.runtime
11
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
12
+ if sys.version_info >= (3, 11):
13
+ from typing import NotRequired, TypedDict, TypeAlias
14
+ else:
15
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
16
+ from . import _utilities
17
+ from . import outputs
18
+ from ._inputs import *
19
+
20
+ __all__ = ['GovernanceAccessArgs', 'GovernanceAccess']
21
+
22
+ @pulumi.input_type
23
+ class GovernanceAccessArgs:
24
+ def __init__(__self__, *,
25
+ access_data: pulumi.Input['GovernanceAccessAccessDataArgs'],
26
+ access_name: pulumi.Input[builtins.str],
27
+ access_type: pulumi.Input[builtins.str],
28
+ organization_id: pulumi.Input[builtins.str],
29
+ owner_user_group_id: Optional[pulumi.Input[builtins.str]] = None):
30
+ """
31
+ The set of arguments for constructing a GovernanceAccess resource.
32
+ :param pulumi.Input['GovernanceAccessAccessDataArgs'] access_data: Details of the access. Changing this property forces recreation of the resource.
33
+ :param pulumi.Input[builtins.str] access_name: The name to describe the access. Maximum length: `54`. Changing this property forces recreation of the resource.
34
+ :param pulumi.Input[builtins.str] access_type: The type of access. The possible value is `KAFKA`. Changing this property forces recreation of the resource.
35
+ :param pulumi.Input[builtins.str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
36
+ :param pulumi.Input[builtins.str] owner_user_group_id: The ID of the user group that owns the access. Maximum length: `54`. Changing this property forces recreation of the resource.
37
+ """
38
+ pulumi.set(__self__, "access_data", access_data)
39
+ pulumi.set(__self__, "access_name", access_name)
40
+ pulumi.set(__self__, "access_type", access_type)
41
+ pulumi.set(__self__, "organization_id", organization_id)
42
+ if owner_user_group_id is not None:
43
+ pulumi.set(__self__, "owner_user_group_id", owner_user_group_id)
44
+
45
+ @property
46
+ @pulumi.getter(name="accessData")
47
+ def access_data(self) -> pulumi.Input['GovernanceAccessAccessDataArgs']:
48
+ """
49
+ Details of the access. Changing this property forces recreation of the resource.
50
+ """
51
+ return pulumi.get(self, "access_data")
52
+
53
+ @access_data.setter
54
+ def access_data(self, value: pulumi.Input['GovernanceAccessAccessDataArgs']):
55
+ pulumi.set(self, "access_data", value)
56
+
57
+ @property
58
+ @pulumi.getter(name="accessName")
59
+ def access_name(self) -> pulumi.Input[builtins.str]:
60
+ """
61
+ The name to describe the access. Maximum length: `54`. Changing this property forces recreation of the resource.
62
+ """
63
+ return pulumi.get(self, "access_name")
64
+
65
+ @access_name.setter
66
+ def access_name(self, value: pulumi.Input[builtins.str]):
67
+ pulumi.set(self, "access_name", value)
68
+
69
+ @property
70
+ @pulumi.getter(name="accessType")
71
+ def access_type(self) -> pulumi.Input[builtins.str]:
72
+ """
73
+ The type of access. The possible value is `KAFKA`. Changing this property forces recreation of the resource.
74
+ """
75
+ return pulumi.get(self, "access_type")
76
+
77
+ @access_type.setter
78
+ def access_type(self, value: pulumi.Input[builtins.str]):
79
+ pulumi.set(self, "access_type", value)
80
+
81
+ @property
82
+ @pulumi.getter(name="organizationId")
83
+ def organization_id(self) -> pulumi.Input[builtins.str]:
84
+ """
85
+ The ID of the organization. Changing this property forces recreation of the resource.
86
+ """
87
+ return pulumi.get(self, "organization_id")
88
+
89
+ @organization_id.setter
90
+ def organization_id(self, value: pulumi.Input[builtins.str]):
91
+ pulumi.set(self, "organization_id", value)
92
+
93
+ @property
94
+ @pulumi.getter(name="ownerUserGroupId")
95
+ def owner_user_group_id(self) -> Optional[pulumi.Input[builtins.str]]:
96
+ """
97
+ The ID of the user group that owns the access. Maximum length: `54`. Changing this property forces recreation of the resource.
98
+ """
99
+ return pulumi.get(self, "owner_user_group_id")
100
+
101
+ @owner_user_group_id.setter
102
+ def owner_user_group_id(self, value: Optional[pulumi.Input[builtins.str]]):
103
+ pulumi.set(self, "owner_user_group_id", value)
104
+
105
+
106
+ @pulumi.input_type
107
+ class _GovernanceAccessState:
108
+ def __init__(__self__, *,
109
+ access_data: Optional[pulumi.Input['GovernanceAccessAccessDataArgs']] = None,
110
+ access_name: Optional[pulumi.Input[builtins.str]] = None,
111
+ access_type: Optional[pulumi.Input[builtins.str]] = None,
112
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
113
+ owner_user_group_id: Optional[pulumi.Input[builtins.str]] = None,
114
+ susbcription_id: Optional[pulumi.Input[builtins.str]] = None):
115
+ """
116
+ Input properties used for looking up and filtering GovernanceAccess resources.
117
+ :param pulumi.Input['GovernanceAccessAccessDataArgs'] access_data: Details of the access. Changing this property forces recreation of the resource.
118
+ :param pulumi.Input[builtins.str] access_name: The name to describe the access. Maximum length: `54`. Changing this property forces recreation of the resource.
119
+ :param pulumi.Input[builtins.str] access_type: The type of access. The possible value is `KAFKA`. Changing this property forces recreation of the resource.
120
+ :param pulumi.Input[builtins.str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
121
+ :param pulumi.Input[builtins.str] owner_user_group_id: The ID of the user group that owns the access. Maximum length: `54`. Changing this property forces recreation of the resource.
122
+ :param pulumi.Input[builtins.str] susbcription_id: The ID of the access.
123
+ """
124
+ if access_data is not None:
125
+ pulumi.set(__self__, "access_data", access_data)
126
+ if access_name is not None:
127
+ pulumi.set(__self__, "access_name", access_name)
128
+ if access_type is not None:
129
+ pulumi.set(__self__, "access_type", access_type)
130
+ if organization_id is not None:
131
+ pulumi.set(__self__, "organization_id", organization_id)
132
+ if owner_user_group_id is not None:
133
+ pulumi.set(__self__, "owner_user_group_id", owner_user_group_id)
134
+ if susbcription_id is not None:
135
+ pulumi.set(__self__, "susbcription_id", susbcription_id)
136
+
137
+ @property
138
+ @pulumi.getter(name="accessData")
139
+ def access_data(self) -> Optional[pulumi.Input['GovernanceAccessAccessDataArgs']]:
140
+ """
141
+ Details of the access. Changing this property forces recreation of the resource.
142
+ """
143
+ return pulumi.get(self, "access_data")
144
+
145
+ @access_data.setter
146
+ def access_data(self, value: Optional[pulumi.Input['GovernanceAccessAccessDataArgs']]):
147
+ pulumi.set(self, "access_data", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="accessName")
151
+ def access_name(self) -> Optional[pulumi.Input[builtins.str]]:
152
+ """
153
+ The name to describe the access. Maximum length: `54`. Changing this property forces recreation of the resource.
154
+ """
155
+ return pulumi.get(self, "access_name")
156
+
157
+ @access_name.setter
158
+ def access_name(self, value: Optional[pulumi.Input[builtins.str]]):
159
+ pulumi.set(self, "access_name", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="accessType")
163
+ def access_type(self) -> Optional[pulumi.Input[builtins.str]]:
164
+ """
165
+ The type of access. The possible value is `KAFKA`. Changing this property forces recreation of the resource.
166
+ """
167
+ return pulumi.get(self, "access_type")
168
+
169
+ @access_type.setter
170
+ def access_type(self, value: Optional[pulumi.Input[builtins.str]]):
171
+ pulumi.set(self, "access_type", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="organizationId")
175
+ def organization_id(self) -> Optional[pulumi.Input[builtins.str]]:
176
+ """
177
+ The ID of the organization. Changing this property forces recreation of the resource.
178
+ """
179
+ return pulumi.get(self, "organization_id")
180
+
181
+ @organization_id.setter
182
+ def organization_id(self, value: Optional[pulumi.Input[builtins.str]]):
183
+ pulumi.set(self, "organization_id", value)
184
+
185
+ @property
186
+ @pulumi.getter(name="ownerUserGroupId")
187
+ def owner_user_group_id(self) -> Optional[pulumi.Input[builtins.str]]:
188
+ """
189
+ The ID of the user group that owns the access. Maximum length: `54`. Changing this property forces recreation of the resource.
190
+ """
191
+ return pulumi.get(self, "owner_user_group_id")
192
+
193
+ @owner_user_group_id.setter
194
+ def owner_user_group_id(self, value: Optional[pulumi.Input[builtins.str]]):
195
+ pulumi.set(self, "owner_user_group_id", value)
196
+
197
+ @property
198
+ @pulumi.getter(name="susbcriptionId")
199
+ def susbcription_id(self) -> Optional[pulumi.Input[builtins.str]]:
200
+ """
201
+ The ID of the access.
202
+ """
203
+ return pulumi.get(self, "susbcription_id")
204
+
205
+ @susbcription_id.setter
206
+ def susbcription_id(self, value: Optional[pulumi.Input[builtins.str]]):
207
+ pulumi.set(self, "susbcription_id", value)
208
+
209
+
210
+ @pulumi.type_token("aiven:index/governanceAccess:GovernanceAccess")
211
+ class GovernanceAccess(pulumi.CustomResource):
212
+ @overload
213
+ def __init__(__self__,
214
+ resource_name: str,
215
+ opts: Optional[pulumi.ResourceOptions] = None,
216
+ access_data: Optional[pulumi.Input[Union['GovernanceAccessAccessDataArgs', 'GovernanceAccessAccessDataArgsDict']]] = None,
217
+ access_name: Optional[pulumi.Input[builtins.str]] = None,
218
+ access_type: Optional[pulumi.Input[builtins.str]] = None,
219
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
220
+ owner_user_group_id: Optional[pulumi.Input[builtins.str]] = None,
221
+ __props__=None):
222
+ """
223
+ ## Example Usage
224
+
225
+ ```python
226
+ import pulumi
227
+ import pulumi_aiven as aiven
228
+
229
+ example_access = aiven.GovernanceAccess("example_access",
230
+ organization_id=main["id"],
231
+ access_name="example-topic-access",
232
+ access_type="KAFKA",
233
+ access_data={
234
+ "project": example_project["project"],
235
+ "service_name": example_kafka["serviceName"],
236
+ "acls": [{
237
+ "resource_name": "example-topic",
238
+ "resource_type": "Topic",
239
+ "operation": "Read",
240
+ "permission_type": "ALLOW",
241
+ "host": "*",
242
+ }],
243
+ },
244
+ owner_user_group_id=example["groupId"])
245
+ ```
246
+
247
+ :param str resource_name: The name of the resource.
248
+ :param pulumi.ResourceOptions opts: Options for the resource.
249
+ :param pulumi.Input[Union['GovernanceAccessAccessDataArgs', 'GovernanceAccessAccessDataArgsDict']] access_data: Details of the access. Changing this property forces recreation of the resource.
250
+ :param pulumi.Input[builtins.str] access_name: The name to describe the access. Maximum length: `54`. Changing this property forces recreation of the resource.
251
+ :param pulumi.Input[builtins.str] access_type: The type of access. The possible value is `KAFKA`. Changing this property forces recreation of the resource.
252
+ :param pulumi.Input[builtins.str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
253
+ :param pulumi.Input[builtins.str] owner_user_group_id: The ID of the user group that owns the access. Maximum length: `54`. Changing this property forces recreation of the resource.
254
+ """
255
+ ...
256
+ @overload
257
+ def __init__(__self__,
258
+ resource_name: str,
259
+ args: GovernanceAccessArgs,
260
+ opts: Optional[pulumi.ResourceOptions] = None):
261
+ """
262
+ ## Example Usage
263
+
264
+ ```python
265
+ import pulumi
266
+ import pulumi_aiven as aiven
267
+
268
+ example_access = aiven.GovernanceAccess("example_access",
269
+ organization_id=main["id"],
270
+ access_name="example-topic-access",
271
+ access_type="KAFKA",
272
+ access_data={
273
+ "project": example_project["project"],
274
+ "service_name": example_kafka["serviceName"],
275
+ "acls": [{
276
+ "resource_name": "example-topic",
277
+ "resource_type": "Topic",
278
+ "operation": "Read",
279
+ "permission_type": "ALLOW",
280
+ "host": "*",
281
+ }],
282
+ },
283
+ owner_user_group_id=example["groupId"])
284
+ ```
285
+
286
+ :param str resource_name: The name of the resource.
287
+ :param GovernanceAccessArgs args: The arguments to use to populate this resource's properties.
288
+ :param pulumi.ResourceOptions opts: Options for the resource.
289
+ """
290
+ ...
291
+ def __init__(__self__, resource_name: str, *args, **kwargs):
292
+ resource_args, opts = _utilities.get_resource_args_opts(GovernanceAccessArgs, pulumi.ResourceOptions, *args, **kwargs)
293
+ if resource_args is not None:
294
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
295
+ else:
296
+ __self__._internal_init(resource_name, *args, **kwargs)
297
+
298
+ def _internal_init(__self__,
299
+ resource_name: str,
300
+ opts: Optional[pulumi.ResourceOptions] = None,
301
+ access_data: Optional[pulumi.Input[Union['GovernanceAccessAccessDataArgs', 'GovernanceAccessAccessDataArgsDict']]] = None,
302
+ access_name: Optional[pulumi.Input[builtins.str]] = None,
303
+ access_type: Optional[pulumi.Input[builtins.str]] = None,
304
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
305
+ owner_user_group_id: Optional[pulumi.Input[builtins.str]] = None,
306
+ __props__=None):
307
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
308
+ if not isinstance(opts, pulumi.ResourceOptions):
309
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
310
+ if opts.id is None:
311
+ if __props__ is not None:
312
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
313
+ __props__ = GovernanceAccessArgs.__new__(GovernanceAccessArgs)
314
+
315
+ if access_data is None and not opts.urn:
316
+ raise TypeError("Missing required property 'access_data'")
317
+ __props__.__dict__["access_data"] = access_data
318
+ if access_name is None and not opts.urn:
319
+ raise TypeError("Missing required property 'access_name'")
320
+ __props__.__dict__["access_name"] = access_name
321
+ if access_type is None and not opts.urn:
322
+ raise TypeError("Missing required property 'access_type'")
323
+ __props__.__dict__["access_type"] = access_type
324
+ if organization_id is None and not opts.urn:
325
+ raise TypeError("Missing required property 'organization_id'")
326
+ __props__.__dict__["organization_id"] = organization_id
327
+ __props__.__dict__["owner_user_group_id"] = owner_user_group_id
328
+ __props__.__dict__["susbcription_id"] = None
329
+ super(GovernanceAccess, __self__).__init__(
330
+ 'aiven:index/governanceAccess:GovernanceAccess',
331
+ resource_name,
332
+ __props__,
333
+ opts)
334
+
335
+ @staticmethod
336
+ def get(resource_name: str,
337
+ id: pulumi.Input[str],
338
+ opts: Optional[pulumi.ResourceOptions] = None,
339
+ access_data: Optional[pulumi.Input[Union['GovernanceAccessAccessDataArgs', 'GovernanceAccessAccessDataArgsDict']]] = None,
340
+ access_name: Optional[pulumi.Input[builtins.str]] = None,
341
+ access_type: Optional[pulumi.Input[builtins.str]] = None,
342
+ organization_id: Optional[pulumi.Input[builtins.str]] = None,
343
+ owner_user_group_id: Optional[pulumi.Input[builtins.str]] = None,
344
+ susbcription_id: Optional[pulumi.Input[builtins.str]] = None) -> 'GovernanceAccess':
345
+ """
346
+ Get an existing GovernanceAccess resource's state with the given name, id, and optional extra
347
+ properties used to qualify the lookup.
348
+
349
+ :param str resource_name: The unique name of the resulting resource.
350
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
351
+ :param pulumi.ResourceOptions opts: Options for the resource.
352
+ :param pulumi.Input[Union['GovernanceAccessAccessDataArgs', 'GovernanceAccessAccessDataArgsDict']] access_data: Details of the access. Changing this property forces recreation of the resource.
353
+ :param pulumi.Input[builtins.str] access_name: The name to describe the access. Maximum length: `54`. Changing this property forces recreation of the resource.
354
+ :param pulumi.Input[builtins.str] access_type: The type of access. The possible value is `KAFKA`. Changing this property forces recreation of the resource.
355
+ :param pulumi.Input[builtins.str] organization_id: The ID of the organization. Changing this property forces recreation of the resource.
356
+ :param pulumi.Input[builtins.str] owner_user_group_id: The ID of the user group that owns the access. Maximum length: `54`. Changing this property forces recreation of the resource.
357
+ :param pulumi.Input[builtins.str] susbcription_id: The ID of the access.
358
+ """
359
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
360
+
361
+ __props__ = _GovernanceAccessState.__new__(_GovernanceAccessState)
362
+
363
+ __props__.__dict__["access_data"] = access_data
364
+ __props__.__dict__["access_name"] = access_name
365
+ __props__.__dict__["access_type"] = access_type
366
+ __props__.__dict__["organization_id"] = organization_id
367
+ __props__.__dict__["owner_user_group_id"] = owner_user_group_id
368
+ __props__.__dict__["susbcription_id"] = susbcription_id
369
+ return GovernanceAccess(resource_name, opts=opts, __props__=__props__)
370
+
371
+ @property
372
+ @pulumi.getter(name="accessData")
373
+ def access_data(self) -> pulumi.Output['outputs.GovernanceAccessAccessData']:
374
+ """
375
+ Details of the access. Changing this property forces recreation of the resource.
376
+ """
377
+ return pulumi.get(self, "access_data")
378
+
379
+ @property
380
+ @pulumi.getter(name="accessName")
381
+ def access_name(self) -> pulumi.Output[builtins.str]:
382
+ """
383
+ The name to describe the access. Maximum length: `54`. Changing this property forces recreation of the resource.
384
+ """
385
+ return pulumi.get(self, "access_name")
386
+
387
+ @property
388
+ @pulumi.getter(name="accessType")
389
+ def access_type(self) -> pulumi.Output[builtins.str]:
390
+ """
391
+ The type of access. The possible value is `KAFKA`. Changing this property forces recreation of the resource.
392
+ """
393
+ return pulumi.get(self, "access_type")
394
+
395
+ @property
396
+ @pulumi.getter(name="organizationId")
397
+ def organization_id(self) -> pulumi.Output[builtins.str]:
398
+ """
399
+ The ID of the organization. Changing this property forces recreation of the resource.
400
+ """
401
+ return pulumi.get(self, "organization_id")
402
+
403
+ @property
404
+ @pulumi.getter(name="ownerUserGroupId")
405
+ def owner_user_group_id(self) -> pulumi.Output[Optional[builtins.str]]:
406
+ """
407
+ The ID of the user group that owns the access. Maximum length: `54`. Changing this property forces recreation of the resource.
408
+ """
409
+ return pulumi.get(self, "owner_user_group_id")
410
+
411
+ @property
412
+ @pulumi.getter(name="susbcriptionId")
413
+ def susbcription_id(self) -> pulumi.Output[builtins.str]:
414
+ """
415
+ The ID of the access.
416
+ """
417
+ return pulumi.get(self, "susbcription_id")
418
+