pulumi-aiven 6.37.0a1744182902__py3-none-any.whl → 6.38.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pulumi-aiven might be problematic. Click here for more details.

Files changed (135) hide show
  1. pulumi_aiven/__init__.py +30 -0
  2. pulumi_aiven/_inputs.py +1902 -172
  3. pulumi_aiven/account.py +1 -0
  4. pulumi_aiven/account_authentication.py +1 -0
  5. pulumi_aiven/account_team.py +1 -0
  6. pulumi_aiven/account_team_member.py +1 -0
  7. pulumi_aiven/account_team_project.py +1 -0
  8. pulumi_aiven/alloydbomni.py +8 -15
  9. pulumi_aiven/alloydbomni_database.py +1 -0
  10. pulumi_aiven/alloydbomni_user.py +1 -0
  11. pulumi_aiven/aws_org_vpc_peering_connection.py +1 -0
  12. pulumi_aiven/aws_privatelink.py +1 -0
  13. pulumi_aiven/aws_vpc_peering_connection.py +1 -0
  14. pulumi_aiven/azure_org_vpc_peering_connection.py +1 -0
  15. pulumi_aiven/azure_privatelink.py +1 -0
  16. pulumi_aiven/azure_privatelink_connection_approval.py +1 -0
  17. pulumi_aiven/azure_vpc_peering_connection.py +1 -0
  18. pulumi_aiven/billing_group.py +1 -0
  19. pulumi_aiven/cassandra.py +8 -15
  20. pulumi_aiven/cassandra_user.py +1 -0
  21. pulumi_aiven/clickhouse.py +8 -15
  22. pulumi_aiven/clickhouse_database.py +1 -0
  23. pulumi_aiven/clickhouse_grant.py +19 -0
  24. pulumi_aiven/clickhouse_role.py +1 -0
  25. pulumi_aiven/clickhouse_user.py +1 -0
  26. pulumi_aiven/connection_pool.py +1 -0
  27. pulumi_aiven/dragonfly.py +8 -15
  28. pulumi_aiven/flink.py +8 -15
  29. pulumi_aiven/flink_application.py +1 -0
  30. pulumi_aiven/flink_application_deployment.py +1 -0
  31. pulumi_aiven/flink_application_version.py +1 -0
  32. pulumi_aiven/flink_jar_application.py +1 -0
  33. pulumi_aiven/flink_jar_application_deployment.py +1 -0
  34. pulumi_aiven/flink_jar_application_version.py +1 -0
  35. pulumi_aiven/gcp_org_vpc_peering_connection.py +1 -0
  36. pulumi_aiven/gcp_privatelink.py +1 -0
  37. pulumi_aiven/gcp_privatelink_connection_approval.py +1 -0
  38. pulumi_aiven/gcp_vpc_peering_connection.py +1 -0
  39. pulumi_aiven/get_alloydbomni.py +1 -4
  40. pulumi_aiven/get_cassanda.py +1 -4
  41. pulumi_aiven/get_cassandra.py +1 -4
  42. pulumi_aiven/get_clickhouse.py +1 -4
  43. pulumi_aiven/get_dragonfly.py +1 -4
  44. pulumi_aiven/get_external_identity.py +5 -5
  45. pulumi_aiven/get_flink.py +1 -4
  46. pulumi_aiven/get_grafana.py +1 -4
  47. pulumi_aiven/get_kafka.py +1 -4
  48. pulumi_aiven/get_kafka_connect.py +1 -4
  49. pulumi_aiven/get_kafka_mirror_maker.py +1 -4
  50. pulumi_aiven/get_m3_aggregator.py +1 -4
  51. pulumi_aiven/get_m3_db.py +1 -4
  52. pulumi_aiven/get_my_sql.py +1 -4
  53. pulumi_aiven/get_open_search.py +8 -11
  54. pulumi_aiven/get_open_search_acl_config.py +7 -7
  55. pulumi_aiven/get_open_search_acl_rule.py +19 -19
  56. pulumi_aiven/get_opensearch_security_plugin_config.py +7 -7
  57. pulumi_aiven/get_opensearch_user.py +13 -13
  58. pulumi_aiven/get_organization.py +22 -4
  59. pulumi_aiven/get_organization_address.py +250 -0
  60. pulumi_aiven/get_organization_application_user.py +0 -20
  61. pulumi_aiven/get_organization_billing_group.py +264 -0
  62. pulumi_aiven/get_organization_billing_group_list.py +138 -0
  63. pulumi_aiven/get_organization_project.py +63 -13
  64. pulumi_aiven/get_organization_user_list.py +25 -13
  65. pulumi_aiven/get_pg.py +1 -4
  66. pulumi_aiven/get_redis.py +1 -4
  67. pulumi_aiven/get_service_component.py +15 -1
  68. pulumi_aiven/get_service_integration.py +2 -2
  69. pulumi_aiven/get_thanos.py +1 -4
  70. pulumi_aiven/get_valkey.py +1 -4
  71. pulumi_aiven/governance_access.py +418 -0
  72. pulumi_aiven/grafana.py +8 -15
  73. pulumi_aiven/influx_db.py +22 -15
  74. pulumi_aiven/influxdb_database.py +1 -0
  75. pulumi_aiven/influxdb_user.py +1 -0
  76. pulumi_aiven/kafka.py +8 -15
  77. pulumi_aiven/kafka_acl.py +1 -0
  78. pulumi_aiven/kafka_connect.py +8 -15
  79. pulumi_aiven/kafka_connector.py +1 -0
  80. pulumi_aiven/kafka_mirror_maker.py +8 -15
  81. pulumi_aiven/kafka_native_acl.py +2 -1
  82. pulumi_aiven/kafka_quota.py +1 -0
  83. pulumi_aiven/kafka_schema.py +1 -0
  84. pulumi_aiven/kafka_schema_configuration.py +1 -0
  85. pulumi_aiven/kafka_schema_registry_acl.py +1 -0
  86. pulumi_aiven/kafka_topic.py +1 -0
  87. pulumi_aiven/kafka_user.py +1 -0
  88. pulumi_aiven/m3_aggregator.py +8 -15
  89. pulumi_aiven/m3_db.py +8 -15
  90. pulumi_aiven/m3db_user.py +1 -0
  91. pulumi_aiven/mirror_maker_replication_flow.py +1 -0
  92. pulumi_aiven/my_sql.py +8 -15
  93. pulumi_aiven/mysql_database.py +1 -0
  94. pulumi_aiven/mysql_user.py +1 -0
  95. pulumi_aiven/open_search.py +25 -34
  96. pulumi_aiven/open_search_acl_config.py +30 -41
  97. pulumi_aiven/open_search_acl_rule.py +48 -47
  98. pulumi_aiven/opensearch_security_plugin_config.py +15 -42
  99. pulumi_aiven/opensearch_user.py +33 -32
  100. pulumi_aiven/organization.py +27 -21
  101. pulumi_aiven/organization_address.py +564 -0
  102. pulumi_aiven/organization_application_user.py +14 -4
  103. pulumi_aiven/organization_application_user_token.py +1 -0
  104. pulumi_aiven/organization_billing_group.py +652 -0
  105. pulumi_aiven/organization_group_project.py +1 -0
  106. pulumi_aiven/organization_permission.py +3 -2
  107. pulumi_aiven/organization_project.py +149 -68
  108. pulumi_aiven/organization_user.py +1 -0
  109. pulumi_aiven/organization_user_group.py +1 -0
  110. pulumi_aiven/organization_user_group_member.py +1 -32
  111. pulumi_aiven/organization_vpc.py +1 -0
  112. pulumi_aiven/organizational_unit.py +1 -0
  113. pulumi_aiven/outputs.py +1813 -198
  114. pulumi_aiven/pg.py +8 -15
  115. pulumi_aiven/pg_database.py +1 -0
  116. pulumi_aiven/pg_user.py +1 -0
  117. pulumi_aiven/project.py +1 -0
  118. pulumi_aiven/project_user.py +1 -0
  119. pulumi_aiven/project_vpc.py +1 -0
  120. pulumi_aiven/provider.py +21 -0
  121. pulumi_aiven/pulumi-plugin.json +1 -1
  122. pulumi_aiven/redis.py +8 -15
  123. pulumi_aiven/redis_user.py +1 -0
  124. pulumi_aiven/service_integration.py +5 -4
  125. pulumi_aiven/service_integration_endpoint.py +1 -0
  126. pulumi_aiven/static_ip.py +1 -0
  127. pulumi_aiven/thanos.py +8 -15
  128. pulumi_aiven/transit_gateway_vpc_attachment.py +1 -0
  129. pulumi_aiven/valkey.py +8 -15
  130. pulumi_aiven/valkey_user.py +1 -0
  131. {pulumi_aiven-6.37.0a1744182902.dist-info → pulumi_aiven-6.38.0.dist-info}/METADATA +3 -3
  132. pulumi_aiven-6.38.0.dist-info/RECORD +189 -0
  133. {pulumi_aiven-6.37.0a1744182902.dist-info → pulumi_aiven-6.38.0.dist-info}/WHEEL +1 -1
  134. pulumi_aiven-6.37.0a1744182902.dist-info/RECORD +0 -183
  135. {pulumi_aiven-6.37.0a1744182902.dist-info → pulumi_aiven-6.38.0.dist-info}/top_level.txt +0 -0
@@ -159,6 +159,7 @@ class _OrganizationPermissionState:
159
159
  pulumi.set(self, "resource_type", value)
160
160
 
161
161
 
162
+ @pulumi.type_token("aiven:index/organizationPermission:OrganizationPermission")
162
163
  class OrganizationPermission(pulumi.CustomResource):
163
164
  @overload
164
165
  def __init__(__self__,
@@ -188,7 +189,7 @@ class OrganizationPermission(pulumi.CustomResource):
188
189
  # Grant access to a specific project
189
190
  example_project_permissions = aiven.OrganizationPermission("example_project_permissions",
190
191
  organization_id=main["id"],
191
- resource_id=example_project["id"],
192
+ resource_id=example_project["project"],
192
193
  resource_type="project",
193
194
  permissions=[
194
195
  {
@@ -273,7 +274,7 @@ class OrganizationPermission(pulumi.CustomResource):
273
274
  # Grant access to a specific project
274
275
  example_project_permissions = aiven.OrganizationPermission("example_project_permissions",
275
276
  organization_id=main["id"],
276
- resource_id=example_project["id"],
277
+ resource_id=example_project["project"],
277
278
  resource_type="project",
278
279
  permissions=[
279
280
  {
@@ -24,34 +24,40 @@ class OrganizationProjectArgs:
24
24
  def __init__(__self__, *,
25
25
  billing_group_id: pulumi.Input[builtins.str],
26
26
  organization_id: pulumi.Input[builtins.str],
27
+ parent_id: pulumi.Input[builtins.str],
27
28
  project_id: pulumi.Input[builtins.str],
28
- parent_id: Optional[pulumi.Input[builtins.str]] = None,
29
+ base_port: Optional[pulumi.Input[builtins.int]] = None,
29
30
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]] = None,
30
- technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
31
+ technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
32
+ timeouts: Optional[pulumi.Input['OrganizationProjectTimeoutsArgs']] = None):
31
33
  """
32
34
  The set of arguments for constructing a OrganizationProject resource.
33
- :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project.
34
- :param pulumi.Input[builtins.str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
35
- :param pulumi.Input[builtins.str] project_id: Unique identifier for the project that also serves as the project name.
35
+ :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project. It's required when moving projects between organizations.
36
+ :param pulumi.Input[builtins.str] organization_id: ID of an organization. Maximum length: `36`.
36
37
  :param pulumi.Input[builtins.str] parent_id: Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.
38
+ :param pulumi.Input[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. Changing this property forces recreation of the resource.
39
+ :param pulumi.Input[builtins.int] base_port: Valid port number (1-65535) to use as a base for service port allocation.
37
40
  :param pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]] tags: Tags are key-value pairs that allow you to categorize projects.
38
41
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] technical_emails: The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.
39
42
  """
40
43
  pulumi.set(__self__, "billing_group_id", billing_group_id)
41
44
  pulumi.set(__self__, "organization_id", organization_id)
45
+ pulumi.set(__self__, "parent_id", parent_id)
42
46
  pulumi.set(__self__, "project_id", project_id)
43
- if parent_id is not None:
44
- pulumi.set(__self__, "parent_id", parent_id)
47
+ if base_port is not None:
48
+ pulumi.set(__self__, "base_port", base_port)
45
49
  if tags is not None:
46
50
  pulumi.set(__self__, "tags", tags)
47
51
  if technical_emails is not None:
48
52
  pulumi.set(__self__, "technical_emails", technical_emails)
53
+ if timeouts is not None:
54
+ pulumi.set(__self__, "timeouts", timeouts)
49
55
 
50
56
  @property
51
57
  @pulumi.getter(name="billingGroupId")
52
58
  def billing_group_id(self) -> pulumi.Input[builtins.str]:
53
59
  """
54
- Billing group ID to assign to the project.
60
+ Billing group ID to assign to the project. It's required when moving projects between organizations.
55
61
  """
56
62
  return pulumi.get(self, "billing_group_id")
57
63
 
@@ -63,7 +69,7 @@ class OrganizationProjectArgs:
63
69
  @pulumi.getter(name="organizationId")
64
70
  def organization_id(self) -> pulumi.Input[builtins.str]:
65
71
  """
66
- ID of an organization. Changing this property forces recreation of the resource.
72
+ ID of an organization. Maximum length: `36`.
67
73
  """
68
74
  return pulumi.get(self, "organization_id")
69
75
 
@@ -71,11 +77,23 @@ class OrganizationProjectArgs:
71
77
  def organization_id(self, value: pulumi.Input[builtins.str]):
72
78
  pulumi.set(self, "organization_id", value)
73
79
 
80
+ @property
81
+ @pulumi.getter(name="parentId")
82
+ def parent_id(self) -> pulumi.Input[builtins.str]:
83
+ """
84
+ Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.
85
+ """
86
+ return pulumi.get(self, "parent_id")
87
+
88
+ @parent_id.setter
89
+ def parent_id(self, value: pulumi.Input[builtins.str]):
90
+ pulumi.set(self, "parent_id", value)
91
+
74
92
  @property
75
93
  @pulumi.getter(name="projectId")
76
94
  def project_id(self) -> pulumi.Input[builtins.str]:
77
95
  """
78
- Unique identifier for the project that also serves as the project name.
96
+ 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. Changing this property forces recreation of the resource.
79
97
  """
80
98
  return pulumi.get(self, "project_id")
81
99
 
@@ -84,16 +102,16 @@ class OrganizationProjectArgs:
84
102
  pulumi.set(self, "project_id", value)
85
103
 
86
104
  @property
87
- @pulumi.getter(name="parentId")
88
- def parent_id(self) -> Optional[pulumi.Input[builtins.str]]:
105
+ @pulumi.getter(name="basePort")
106
+ def base_port(self) -> Optional[pulumi.Input[builtins.int]]:
89
107
  """
90
- Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.
108
+ Valid port number (1-65535) to use as a base for service port allocation.
91
109
  """
92
- return pulumi.get(self, "parent_id")
110
+ return pulumi.get(self, "base_port")
93
111
 
94
- @parent_id.setter
95
- def parent_id(self, value: Optional[pulumi.Input[builtins.str]]):
96
- pulumi.set(self, "parent_id", value)
112
+ @base_port.setter
113
+ def base_port(self, value: Optional[pulumi.Input[builtins.int]]):
114
+ pulumi.set(self, "base_port", value)
97
115
 
98
116
  @property
99
117
  @pulumi.getter
@@ -119,27 +137,45 @@ class OrganizationProjectArgs:
119
137
  def technical_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
120
138
  pulumi.set(self, "technical_emails", value)
121
139
 
140
+ @property
141
+ @pulumi.getter
142
+ def timeouts(self) -> Optional[pulumi.Input['OrganizationProjectTimeoutsArgs']]:
143
+ return pulumi.get(self, "timeouts")
144
+
145
+ @timeouts.setter
146
+ def timeouts(self, value: Optional[pulumi.Input['OrganizationProjectTimeoutsArgs']]):
147
+ pulumi.set(self, "timeouts", value)
148
+
122
149
 
123
150
  @pulumi.input_type
124
151
  class _OrganizationProjectState:
125
152
  def __init__(__self__, *,
153
+ base_port: Optional[pulumi.Input[builtins.int]] = None,
126
154
  billing_group_id: Optional[pulumi.Input[builtins.str]] = None,
155
+ ca_cert: Optional[pulumi.Input[builtins.str]] = None,
127
156
  organization_id: Optional[pulumi.Input[builtins.str]] = None,
128
157
  parent_id: Optional[pulumi.Input[builtins.str]] = None,
129
158
  project_id: Optional[pulumi.Input[builtins.str]] = None,
130
159
  tags: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]] = None,
131
- technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
160
+ technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
161
+ timeouts: Optional[pulumi.Input['OrganizationProjectTimeoutsArgs']] = None):
132
162
  """
133
163
  Input properties used for looking up and filtering OrganizationProject resources.
134
- :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project.
135
- :param pulumi.Input[builtins.str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
164
+ :param pulumi.Input[builtins.int] base_port: Valid port number (1-65535) to use as a base for service port allocation.
165
+ :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project. It's required when moving projects between organizations.
166
+ :param pulumi.Input[builtins.str] ca_cert: PEM encoded certificate.
167
+ :param pulumi.Input[builtins.str] organization_id: ID of an organization. Maximum length: `36`.
136
168
  :param pulumi.Input[builtins.str] parent_id: Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.
137
- :param pulumi.Input[builtins.str] project_id: Unique identifier for the project that also serves as the project name.
169
+ :param pulumi.Input[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. Changing this property forces recreation of the resource.
138
170
  :param pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]] tags: Tags are key-value pairs that allow you to categorize projects.
139
171
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] technical_emails: The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.
140
172
  """
173
+ if base_port is not None:
174
+ pulumi.set(__self__, "base_port", base_port)
141
175
  if billing_group_id is not None:
142
176
  pulumi.set(__self__, "billing_group_id", billing_group_id)
177
+ if ca_cert is not None:
178
+ pulumi.set(__self__, "ca_cert", ca_cert)
143
179
  if organization_id is not None:
144
180
  pulumi.set(__self__, "organization_id", organization_id)
145
181
  if parent_id is not None:
@@ -150,12 +186,26 @@ class _OrganizationProjectState:
150
186
  pulumi.set(__self__, "tags", tags)
151
187
  if technical_emails is not None:
152
188
  pulumi.set(__self__, "technical_emails", technical_emails)
189
+ if timeouts is not None:
190
+ pulumi.set(__self__, "timeouts", timeouts)
191
+
192
+ @property
193
+ @pulumi.getter(name="basePort")
194
+ def base_port(self) -> Optional[pulumi.Input[builtins.int]]:
195
+ """
196
+ Valid port number (1-65535) to use as a base for service port allocation.
197
+ """
198
+ return pulumi.get(self, "base_port")
199
+
200
+ @base_port.setter
201
+ def base_port(self, value: Optional[pulumi.Input[builtins.int]]):
202
+ pulumi.set(self, "base_port", value)
153
203
 
154
204
  @property
155
205
  @pulumi.getter(name="billingGroupId")
156
206
  def billing_group_id(self) -> Optional[pulumi.Input[builtins.str]]:
157
207
  """
158
- Billing group ID to assign to the project.
208
+ Billing group ID to assign to the project. It's required when moving projects between organizations.
159
209
  """
160
210
  return pulumi.get(self, "billing_group_id")
161
211
 
@@ -163,11 +213,23 @@ class _OrganizationProjectState:
163
213
  def billing_group_id(self, value: Optional[pulumi.Input[builtins.str]]):
164
214
  pulumi.set(self, "billing_group_id", value)
165
215
 
216
+ @property
217
+ @pulumi.getter(name="caCert")
218
+ def ca_cert(self) -> Optional[pulumi.Input[builtins.str]]:
219
+ """
220
+ PEM encoded certificate.
221
+ """
222
+ return pulumi.get(self, "ca_cert")
223
+
224
+ @ca_cert.setter
225
+ def ca_cert(self, value: Optional[pulumi.Input[builtins.str]]):
226
+ pulumi.set(self, "ca_cert", value)
227
+
166
228
  @property
167
229
  @pulumi.getter(name="organizationId")
168
230
  def organization_id(self) -> Optional[pulumi.Input[builtins.str]]:
169
231
  """
170
- ID of an organization. Changing this property forces recreation of the resource.
232
+ ID of an organization. Maximum length: `36`.
171
233
  """
172
234
  return pulumi.get(self, "organization_id")
173
235
 
@@ -191,7 +253,7 @@ class _OrganizationProjectState:
191
253
  @pulumi.getter(name="projectId")
192
254
  def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
193
255
  """
194
- Unique identifier for the project that also serves as the project name.
256
+ 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. Changing this property forces recreation of the resource.
195
257
  """
196
258
  return pulumi.get(self, "project_id")
197
259
 
@@ -223,18 +285,30 @@ class _OrganizationProjectState:
223
285
  def technical_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
224
286
  pulumi.set(self, "technical_emails", value)
225
287
 
288
+ @property
289
+ @pulumi.getter
290
+ def timeouts(self) -> Optional[pulumi.Input['OrganizationProjectTimeoutsArgs']]:
291
+ return pulumi.get(self, "timeouts")
226
292
 
293
+ @timeouts.setter
294
+ def timeouts(self, value: Optional[pulumi.Input['OrganizationProjectTimeoutsArgs']]):
295
+ pulumi.set(self, "timeouts", value)
296
+
297
+
298
+ @pulumi.type_token("aiven:index/organizationProject:OrganizationProject")
227
299
  class OrganizationProject(pulumi.CustomResource):
228
300
  @overload
229
301
  def __init__(__self__,
230
302
  resource_name: str,
231
303
  opts: Optional[pulumi.ResourceOptions] = None,
304
+ base_port: Optional[pulumi.Input[builtins.int]] = None,
232
305
  billing_group_id: Optional[pulumi.Input[builtins.str]] = None,
233
306
  organization_id: Optional[pulumi.Input[builtins.str]] = None,
234
307
  parent_id: Optional[pulumi.Input[builtins.str]] = None,
235
308
  project_id: Optional[pulumi.Input[builtins.str]] = None,
236
309
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]]] = None,
237
310
  technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
311
+ timeouts: Optional[pulumi.Input[Union['OrganizationProjectTimeoutsArgs', 'OrganizationProjectTimeoutsArgsDict']]] = None,
238
312
  __props__=None):
239
313
  """
240
314
  Creates and manages an [Aiven project](https://aiven.io/docs/platform/concepts/orgs-units-projects#projects).
@@ -242,34 +316,19 @@ class OrganizationProject(pulumi.CustomResource):
242
316
  **This resource is in the beta stage and may change without notice.** Set
243
317
  the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
244
318
 
245
- ## Example Usage
246
-
247
- ```python
248
- import pulumi
249
- import pulumi_aiven as aiven
250
-
251
- foo = aiven.OrganizationProject("foo",
252
- project_id="example-project",
253
- organization_id=foo_aiven_organization["id"],
254
- billing_group_id=foo_aiven_billing_group["id"],
255
- tags=[{
256
- "key": "key_1",
257
- "value": "value_1",
258
- }])
259
- ```
260
-
261
319
  ## Import
262
320
 
263
321
  ```sh
264
- $ pulumi import aiven:index/organizationProject:OrganizationProject main ORGANIZATION_ID/PROJECT_ID
322
+ $ pulumi import aiven:index/organizationProject:OrganizationProject example_project ORGANIZATION_ID/PROJECT_ID
265
323
  ```
266
324
 
267
325
  :param str resource_name: The name of the resource.
268
326
  :param pulumi.ResourceOptions opts: Options for the resource.
269
- :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project.
270
- :param pulumi.Input[builtins.str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
327
+ :param pulumi.Input[builtins.int] base_port: Valid port number (1-65535) to use as a base for service port allocation.
328
+ :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project. It's required when moving projects between organizations.
329
+ :param pulumi.Input[builtins.str] organization_id: ID of an organization. Maximum length: `36`.
271
330
  :param pulumi.Input[builtins.str] parent_id: Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.
272
- :param pulumi.Input[builtins.str] project_id: Unique identifier for the project that also serves as the project name.
331
+ :param pulumi.Input[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. Changing this property forces recreation of the resource.
273
332
  :param pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize projects.
274
333
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] technical_emails: The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.
275
334
  """
@@ -285,26 +344,10 @@ class OrganizationProject(pulumi.CustomResource):
285
344
  **This resource is in the beta stage and may change without notice.** Set
286
345
  the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
287
346
 
288
- ## Example Usage
289
-
290
- ```python
291
- import pulumi
292
- import pulumi_aiven as aiven
293
-
294
- foo = aiven.OrganizationProject("foo",
295
- project_id="example-project",
296
- organization_id=foo_aiven_organization["id"],
297
- billing_group_id=foo_aiven_billing_group["id"],
298
- tags=[{
299
- "key": "key_1",
300
- "value": "value_1",
301
- }])
302
- ```
303
-
304
347
  ## Import
305
348
 
306
349
  ```sh
307
- $ pulumi import aiven:index/organizationProject:OrganizationProject main ORGANIZATION_ID/PROJECT_ID
350
+ $ pulumi import aiven:index/organizationProject:OrganizationProject example_project ORGANIZATION_ID/PROJECT_ID
308
351
  ```
309
352
 
310
353
  :param str resource_name: The name of the resource.
@@ -322,12 +365,14 @@ class OrganizationProject(pulumi.CustomResource):
322
365
  def _internal_init(__self__,
323
366
  resource_name: str,
324
367
  opts: Optional[pulumi.ResourceOptions] = None,
368
+ base_port: Optional[pulumi.Input[builtins.int]] = None,
325
369
  billing_group_id: Optional[pulumi.Input[builtins.str]] = None,
326
370
  organization_id: Optional[pulumi.Input[builtins.str]] = None,
327
371
  parent_id: Optional[pulumi.Input[builtins.str]] = None,
328
372
  project_id: Optional[pulumi.Input[builtins.str]] = None,
329
373
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]]] = None,
330
374
  technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
375
+ timeouts: Optional[pulumi.Input[Union['OrganizationProjectTimeoutsArgs', 'OrganizationProjectTimeoutsArgsDict']]] = None,
331
376
  __props__=None):
332
377
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
333
378
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -337,18 +382,25 @@ class OrganizationProject(pulumi.CustomResource):
337
382
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
338
383
  __props__ = OrganizationProjectArgs.__new__(OrganizationProjectArgs)
339
384
 
385
+ __props__.__dict__["base_port"] = base_port
340
386
  if billing_group_id is None and not opts.urn:
341
387
  raise TypeError("Missing required property 'billing_group_id'")
342
388
  __props__.__dict__["billing_group_id"] = billing_group_id
343
389
  if organization_id is None and not opts.urn:
344
390
  raise TypeError("Missing required property 'organization_id'")
345
391
  __props__.__dict__["organization_id"] = organization_id
392
+ if parent_id is None and not opts.urn:
393
+ raise TypeError("Missing required property 'parent_id'")
346
394
  __props__.__dict__["parent_id"] = parent_id
347
395
  if project_id is None and not opts.urn:
348
396
  raise TypeError("Missing required property 'project_id'")
349
397
  __props__.__dict__["project_id"] = project_id
350
398
  __props__.__dict__["tags"] = tags
351
399
  __props__.__dict__["technical_emails"] = technical_emails
400
+ __props__.__dict__["timeouts"] = timeouts
401
+ __props__.__dict__["ca_cert"] = None
402
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["caCert"])
403
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
352
404
  super(OrganizationProject, __self__).__init__(
353
405
  'aiven:index/organizationProject:OrganizationProject',
354
406
  resource_name,
@@ -359,12 +411,15 @@ class OrganizationProject(pulumi.CustomResource):
359
411
  def get(resource_name: str,
360
412
  id: pulumi.Input[str],
361
413
  opts: Optional[pulumi.ResourceOptions] = None,
414
+ base_port: Optional[pulumi.Input[builtins.int]] = None,
362
415
  billing_group_id: Optional[pulumi.Input[builtins.str]] = None,
416
+ ca_cert: Optional[pulumi.Input[builtins.str]] = None,
363
417
  organization_id: Optional[pulumi.Input[builtins.str]] = None,
364
418
  parent_id: Optional[pulumi.Input[builtins.str]] = None,
365
419
  project_id: Optional[pulumi.Input[builtins.str]] = None,
366
420
  tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]]] = None,
367
- technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None) -> 'OrganizationProject':
421
+ technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
422
+ timeouts: Optional[pulumi.Input[Union['OrganizationProjectTimeoutsArgs', 'OrganizationProjectTimeoutsArgsDict']]] = None) -> 'OrganizationProject':
368
423
  """
369
424
  Get an existing OrganizationProject resource's state with the given name, id, and optional extra
370
425
  properties used to qualify the lookup.
@@ -372,10 +427,12 @@ class OrganizationProject(pulumi.CustomResource):
372
427
  :param str resource_name: The unique name of the resulting resource.
373
428
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
374
429
  :param pulumi.ResourceOptions opts: Options for the resource.
375
- :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project.
376
- :param pulumi.Input[builtins.str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
430
+ :param pulumi.Input[builtins.int] base_port: Valid port number (1-65535) to use as a base for service port allocation.
431
+ :param pulumi.Input[builtins.str] billing_group_id: Billing group ID to assign to the project. It's required when moving projects between organizations.
432
+ :param pulumi.Input[builtins.str] ca_cert: PEM encoded certificate.
433
+ :param pulumi.Input[builtins.str] organization_id: ID of an organization. Maximum length: `36`.
377
434
  :param pulumi.Input[builtins.str] parent_id: Link a project to an [organization or organizational unit](https://aiven.io/docs/platform/concepts/orgs-units-projects) by using its ID. To set up proper dependencies please refer to this variable as a reference.
378
- :param pulumi.Input[builtins.str] project_id: Unique identifier for the project that also serves as the project name.
435
+ :param pulumi.Input[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. Changing this property forces recreation of the resource.
379
436
  :param pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize projects.
380
437
  :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] technical_emails: The email addresses for [project contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this project and its services. You can also set email contacts at the service level. It's good practice to keep these up-to-date to be aware of any potential issues with your project.
381
438
  """
@@ -383,27 +440,46 @@ class OrganizationProject(pulumi.CustomResource):
383
440
 
384
441
  __props__ = _OrganizationProjectState.__new__(_OrganizationProjectState)
385
442
 
443
+ __props__.__dict__["base_port"] = base_port
386
444
  __props__.__dict__["billing_group_id"] = billing_group_id
445
+ __props__.__dict__["ca_cert"] = ca_cert
387
446
  __props__.__dict__["organization_id"] = organization_id
388
447
  __props__.__dict__["parent_id"] = parent_id
389
448
  __props__.__dict__["project_id"] = project_id
390
449
  __props__.__dict__["tags"] = tags
391
450
  __props__.__dict__["technical_emails"] = technical_emails
451
+ __props__.__dict__["timeouts"] = timeouts
392
452
  return OrganizationProject(resource_name, opts=opts, __props__=__props__)
393
453
 
454
+ @property
455
+ @pulumi.getter(name="basePort")
456
+ def base_port(self) -> pulumi.Output[builtins.int]:
457
+ """
458
+ Valid port number (1-65535) to use as a base for service port allocation.
459
+ """
460
+ return pulumi.get(self, "base_port")
461
+
394
462
  @property
395
463
  @pulumi.getter(name="billingGroupId")
396
464
  def billing_group_id(self) -> pulumi.Output[builtins.str]:
397
465
  """
398
- Billing group ID to assign to the project.
466
+ Billing group ID to assign to the project. It's required when moving projects between organizations.
399
467
  """
400
468
  return pulumi.get(self, "billing_group_id")
401
469
 
470
+ @property
471
+ @pulumi.getter(name="caCert")
472
+ def ca_cert(self) -> pulumi.Output[builtins.str]:
473
+ """
474
+ PEM encoded certificate.
475
+ """
476
+ return pulumi.get(self, "ca_cert")
477
+
402
478
  @property
403
479
  @pulumi.getter(name="organizationId")
404
480
  def organization_id(self) -> pulumi.Output[builtins.str]:
405
481
  """
406
- ID of an organization. Changing this property forces recreation of the resource.
482
+ ID of an organization. Maximum length: `36`.
407
483
  """
408
484
  return pulumi.get(self, "organization_id")
409
485
 
@@ -419,7 +495,7 @@ class OrganizationProject(pulumi.CustomResource):
419
495
  @pulumi.getter(name="projectId")
420
496
  def project_id(self) -> pulumi.Output[builtins.str]:
421
497
  """
422
- Unique identifier for the project that also serves as the project name.
498
+ 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. Changing this property forces recreation of the resource.
423
499
  """
424
500
  return pulumi.get(self, "project_id")
425
501
 
@@ -439,3 +515,8 @@ class OrganizationProject(pulumi.CustomResource):
439
515
  """
440
516
  return pulumi.get(self, "technical_emails")
441
517
 
518
+ @property
519
+ @pulumi.getter
520
+ def timeouts(self) -> pulumi.Output[Optional['outputs.OrganizationProjectTimeouts']]:
521
+ return pulumi.get(self, "timeouts")
522
+
@@ -167,6 +167,7 @@ class _OrganizationUserState:
167
167
  pulumi.set(self, "user_id", value)
168
168
 
169
169
 
170
+ @pulumi.type_token("aiven:index/organizationUser:OrganizationUser")
170
171
  class OrganizationUser(pulumi.CustomResource):
171
172
  @overload
172
173
  def __init__(__self__,
@@ -175,6 +175,7 @@ class _OrganizationUserGroupState:
175
175
  pulumi.set(self, "update_time", value)
176
176
 
177
177
 
178
+ @pulumi.type_token("aiven:index/organizationUserGroup:OrganizationUserGroup")
178
179
  class OrganizationUserGroup(pulumi.CustomResource):
179
180
  @overload
180
181
  def __init__(__self__,
@@ -168,6 +168,7 @@ class _OrganizationUserGroupMemberState:
168
168
  pulumi.set(self, "user_id", value)
169
169
 
170
170
 
171
+ @pulumi.type_token("aiven:index/organizationUserGroupMember:OrganizationUserGroupMember")
171
172
  class OrganizationUserGroupMember(pulumi.CustomResource):
172
173
  @overload
173
174
  def __init__(__self__,
@@ -184,22 +185,6 @@ class OrganizationUserGroupMember(pulumi.CustomResource):
184
185
 
185
186
  Groups are granted roles and permissions using the `OrganizationPermission` resource.
186
187
 
187
- ## Example Usage
188
-
189
- ```python
190
- import pulumi
191
- import pulumi_aiven as aiven
192
-
193
- example = aiven.OrganizationUserGroup("example",
194
- description="Example group of users.",
195
- organization_id=main["id"],
196
- name="Example group")
197
- project_admin = aiven.OrganizationUserGroupMember("project_admin",
198
- group_id=example.group_id,
199
- organization_id=main["id"],
200
- user_id="u123a456b7890c")
201
- ```
202
-
203
188
  ## Import
204
189
 
205
190
  ```sh
@@ -224,22 +209,6 @@ class OrganizationUserGroupMember(pulumi.CustomResource):
224
209
 
225
210
  Groups are granted roles and permissions using the `OrganizationPermission` resource.
226
211
 
227
- ## Example Usage
228
-
229
- ```python
230
- import pulumi
231
- import pulumi_aiven as aiven
232
-
233
- example = aiven.OrganizationUserGroup("example",
234
- description="Example group of users.",
235
- organization_id=main["id"],
236
- name="Example group")
237
- project_admin = aiven.OrganizationUserGroupMember("project_admin",
238
- group_id=example.group_id,
239
- organization_id=main["id"],
240
- user_id="u123a456b7890c")
241
- ```
242
-
243
212
  ## Import
244
213
 
245
214
  ```sh
@@ -190,6 +190,7 @@ class _OrganizationVpcState:
190
190
  pulumi.set(self, "update_time", value)
191
191
 
192
192
 
193
+ @pulumi.type_token("aiven:index/organizationVpc:OrganizationVpc")
193
194
  class OrganizationVpc(pulumi.CustomResource):
194
195
  @overload
195
196
  def __init__(__self__,
@@ -144,6 +144,7 @@ class _OrganizationalUnitState:
144
144
  pulumi.set(self, "update_time", value)
145
145
 
146
146
 
147
+ @pulumi.type_token("aiven:index/organizationalUnit:OrganizationalUnit")
147
148
  class OrganizationalUnit(pulumi.CustomResource):
148
149
  @overload
149
150
  def __init__(__self__,