pulumi-aiven 6.34.0a1739941685__py3-none-any.whl → 6.35.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.
- pulumi_aiven/__init__.py +50 -0
- pulumi_aiven/_inputs.py +52 -0
- pulumi_aiven/account.py +2 -4
- pulumi_aiven/account_authentication.py +2 -4
- pulumi_aiven/aws_org_vpc_peering_connection.py +481 -0
- pulumi_aiven/azure_org_vpc_peering_connection.py +553 -0
- pulumi_aiven/billing_group.py +7 -7
- pulumi_aiven/gcp_org_vpc_peering_connection.py +403 -0
- pulumi_aiven/get_account.py +2 -4
- pulumi_aiven/get_account_authentication.py +2 -4
- pulumi_aiven/get_aws_org_vpc_peering_connection.py +222 -0
- pulumi_aiven/get_azure_org_vpc_peering_connection.py +236 -0
- pulumi_aiven/get_billing_group.py +1 -1
- pulumi_aiven/get_gcp_org_vpc_peering_connection.py +188 -0
- pulumi_aiven/get_organization_project.py +197 -0
- pulumi_aiven/get_organization_vpc.py +190 -0
- pulumi_aiven/get_project.py +1 -1
- pulumi_aiven/get_project_user.py +8 -6
- pulumi_aiven/organization_project.py +440 -0
- pulumi_aiven/organization_vpc.py +401 -0
- pulumi_aiven/outputs.py +60 -0
- pulumi_aiven/project.py +7 -7
- pulumi_aiven/project_user.py +6 -12
- pulumi_aiven/pulumi-plugin.json +1 -1
- {pulumi_aiven-6.34.0a1739941685.dist-info → pulumi_aiven-6.35.0.dist-info}/METADATA +1 -1
- {pulumi_aiven-6.34.0a1739941685.dist-info → pulumi_aiven-6.35.0.dist-info}/RECORD +28 -18
- {pulumi_aiven-6.34.0a1739941685.dist-info → pulumi_aiven-6.35.0.dist-info}/WHEEL +0 -0
- {pulumi_aiven-6.34.0a1739941685.dist-info → pulumi_aiven-6.35.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import 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
|
+
|
|
17
|
+
__all__ = [
|
|
18
|
+
'GetOrganizationVpcResult',
|
|
19
|
+
'AwaitableGetOrganizationVpcResult',
|
|
20
|
+
'get_organization_vpc',
|
|
21
|
+
'get_organization_vpc_output',
|
|
22
|
+
]
|
|
23
|
+
|
|
24
|
+
@pulumi.output_type
|
|
25
|
+
class GetOrganizationVpcResult:
|
|
26
|
+
"""
|
|
27
|
+
A collection of values returned by getOrganizationVpc.
|
|
28
|
+
"""
|
|
29
|
+
def __init__(__self__, cloud_name=None, create_time=None, id=None, network_cidr=None, organization_id=None, organization_vpc_id=None, state=None, update_time=None):
|
|
30
|
+
if cloud_name and not isinstance(cloud_name, str):
|
|
31
|
+
raise TypeError("Expected argument 'cloud_name' to be a str")
|
|
32
|
+
pulumi.set(__self__, "cloud_name", cloud_name)
|
|
33
|
+
if create_time and not isinstance(create_time, str):
|
|
34
|
+
raise TypeError("Expected argument 'create_time' to be a str")
|
|
35
|
+
pulumi.set(__self__, "create_time", create_time)
|
|
36
|
+
if id and not isinstance(id, str):
|
|
37
|
+
raise TypeError("Expected argument 'id' to be a str")
|
|
38
|
+
pulumi.set(__self__, "id", id)
|
|
39
|
+
if network_cidr and not isinstance(network_cidr, str):
|
|
40
|
+
raise TypeError("Expected argument 'network_cidr' to be a str")
|
|
41
|
+
pulumi.set(__self__, "network_cidr", network_cidr)
|
|
42
|
+
if organization_id and not isinstance(organization_id, str):
|
|
43
|
+
raise TypeError("Expected argument 'organization_id' to be a str")
|
|
44
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
|
45
|
+
if organization_vpc_id and not isinstance(organization_vpc_id, str):
|
|
46
|
+
raise TypeError("Expected argument 'organization_vpc_id' to be a str")
|
|
47
|
+
pulumi.set(__self__, "organization_vpc_id", organization_vpc_id)
|
|
48
|
+
if state and not isinstance(state, str):
|
|
49
|
+
raise TypeError("Expected argument 'state' to be a str")
|
|
50
|
+
pulumi.set(__self__, "state", state)
|
|
51
|
+
if update_time and not isinstance(update_time, str):
|
|
52
|
+
raise TypeError("Expected argument 'update_time' to be a str")
|
|
53
|
+
pulumi.set(__self__, "update_time", update_time)
|
|
54
|
+
|
|
55
|
+
@property
|
|
56
|
+
@pulumi.getter(name="cloudName")
|
|
57
|
+
def cloud_name(self) -> str:
|
|
58
|
+
"""
|
|
59
|
+
The cloud provider and region where the service is hosted in the format `CLOUD_PROVIDER-REGION_NAME`. For example, `google-europe-west1` or `aws-us-east-2`. Changing this property forces recreation of the resource.
|
|
60
|
+
"""
|
|
61
|
+
return pulumi.get(self, "cloud_name")
|
|
62
|
+
|
|
63
|
+
@property
|
|
64
|
+
@pulumi.getter(name="createTime")
|
|
65
|
+
def create_time(self) -> str:
|
|
66
|
+
"""
|
|
67
|
+
Time of creation of the VPC.
|
|
68
|
+
"""
|
|
69
|
+
return pulumi.get(self, "create_time")
|
|
70
|
+
|
|
71
|
+
@property
|
|
72
|
+
@pulumi.getter
|
|
73
|
+
def id(self) -> str:
|
|
74
|
+
"""
|
|
75
|
+
The provider-assigned unique ID for this managed resource.
|
|
76
|
+
"""
|
|
77
|
+
return pulumi.get(self, "id")
|
|
78
|
+
|
|
79
|
+
@property
|
|
80
|
+
@pulumi.getter(name="networkCidr")
|
|
81
|
+
def network_cidr(self) -> str:
|
|
82
|
+
"""
|
|
83
|
+
Network address range used by the VPC. For example, `192.168.0.0/24`.
|
|
84
|
+
"""
|
|
85
|
+
return pulumi.get(self, "network_cidr")
|
|
86
|
+
|
|
87
|
+
@property
|
|
88
|
+
@pulumi.getter(name="organizationId")
|
|
89
|
+
def organization_id(self) -> str:
|
|
90
|
+
"""
|
|
91
|
+
The ID of the organization.
|
|
92
|
+
"""
|
|
93
|
+
return pulumi.get(self, "organization_id")
|
|
94
|
+
|
|
95
|
+
@property
|
|
96
|
+
@pulumi.getter(name="organizationVpcId")
|
|
97
|
+
def organization_vpc_id(self) -> str:
|
|
98
|
+
"""
|
|
99
|
+
The ID of the Aiven Organization VPC.
|
|
100
|
+
"""
|
|
101
|
+
return pulumi.get(self, "organization_vpc_id")
|
|
102
|
+
|
|
103
|
+
@property
|
|
104
|
+
@pulumi.getter
|
|
105
|
+
def state(self) -> str:
|
|
106
|
+
"""
|
|
107
|
+
State of the VPC. The possible values are `ACTIVE`, `APPROVED`, `DELETED` and `DELETING`.
|
|
108
|
+
"""
|
|
109
|
+
return pulumi.get(self, "state")
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
@pulumi.getter(name="updateTime")
|
|
113
|
+
def update_time(self) -> str:
|
|
114
|
+
"""
|
|
115
|
+
Time of the last update of the VPC.
|
|
116
|
+
"""
|
|
117
|
+
return pulumi.get(self, "update_time")
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
class AwaitableGetOrganizationVpcResult(GetOrganizationVpcResult):
|
|
121
|
+
# pylint: disable=using-constant-test
|
|
122
|
+
def __await__(self):
|
|
123
|
+
if False:
|
|
124
|
+
yield self
|
|
125
|
+
return GetOrganizationVpcResult(
|
|
126
|
+
cloud_name=self.cloud_name,
|
|
127
|
+
create_time=self.create_time,
|
|
128
|
+
id=self.id,
|
|
129
|
+
network_cidr=self.network_cidr,
|
|
130
|
+
organization_id=self.organization_id,
|
|
131
|
+
organization_vpc_id=self.organization_vpc_id,
|
|
132
|
+
state=self.state,
|
|
133
|
+
update_time=self.update_time)
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
def get_organization_vpc(organization_id: Optional[str] = None,
|
|
137
|
+
organization_vpc_id: Optional[str] = None,
|
|
138
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetOrganizationVpcResult:
|
|
139
|
+
"""
|
|
140
|
+
Gets information about an existing VPC in an Aiven organization.
|
|
141
|
+
|
|
142
|
+
**This resource is in the beta stage and may change without notice.** Set
|
|
143
|
+
the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
:param str organization_id: The ID of the organization.
|
|
147
|
+
:param str organization_vpc_id: The ID of the Aiven Organization VPC.
|
|
148
|
+
"""
|
|
149
|
+
__args__ = dict()
|
|
150
|
+
__args__['organizationId'] = organization_id
|
|
151
|
+
__args__['organizationVpcId'] = organization_vpc_id
|
|
152
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
153
|
+
__ret__ = pulumi.runtime.invoke('aiven:index/getOrganizationVpc:getOrganizationVpc', __args__, opts=opts, typ=GetOrganizationVpcResult).value
|
|
154
|
+
|
|
155
|
+
return AwaitableGetOrganizationVpcResult(
|
|
156
|
+
cloud_name=pulumi.get(__ret__, 'cloud_name'),
|
|
157
|
+
create_time=pulumi.get(__ret__, 'create_time'),
|
|
158
|
+
id=pulumi.get(__ret__, 'id'),
|
|
159
|
+
network_cidr=pulumi.get(__ret__, 'network_cidr'),
|
|
160
|
+
organization_id=pulumi.get(__ret__, 'organization_id'),
|
|
161
|
+
organization_vpc_id=pulumi.get(__ret__, 'organization_vpc_id'),
|
|
162
|
+
state=pulumi.get(__ret__, 'state'),
|
|
163
|
+
update_time=pulumi.get(__ret__, 'update_time'))
|
|
164
|
+
def get_organization_vpc_output(organization_id: Optional[pulumi.Input[str]] = None,
|
|
165
|
+
organization_vpc_id: Optional[pulumi.Input[str]] = None,
|
|
166
|
+
opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetOrganizationVpcResult]:
|
|
167
|
+
"""
|
|
168
|
+
Gets information about an existing VPC in an Aiven organization.
|
|
169
|
+
|
|
170
|
+
**This resource is in the beta stage and may change without notice.** Set
|
|
171
|
+
the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
|
|
172
|
+
|
|
173
|
+
|
|
174
|
+
:param str organization_id: The ID of the organization.
|
|
175
|
+
:param str organization_vpc_id: The ID of the Aiven Organization VPC.
|
|
176
|
+
"""
|
|
177
|
+
__args__ = dict()
|
|
178
|
+
__args__['organizationId'] = organization_id
|
|
179
|
+
__args__['organizationVpcId'] = organization_vpc_id
|
|
180
|
+
opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
181
|
+
__ret__ = pulumi.runtime.invoke_output('aiven:index/getOrganizationVpc:getOrganizationVpc', __args__, opts=opts, typ=GetOrganizationVpcResult)
|
|
182
|
+
return __ret__.apply(lambda __response__: GetOrganizationVpcResult(
|
|
183
|
+
cloud_name=pulumi.get(__response__, 'cloud_name'),
|
|
184
|
+
create_time=pulumi.get(__response__, 'create_time'),
|
|
185
|
+
id=pulumi.get(__response__, 'id'),
|
|
186
|
+
network_cidr=pulumi.get(__response__, 'network_cidr'),
|
|
187
|
+
organization_id=pulumi.get(__response__, 'organization_id'),
|
|
188
|
+
organization_vpc_id=pulumi.get(__response__, 'organization_vpc_id'),
|
|
189
|
+
state=pulumi.get(__response__, 'state'),
|
|
190
|
+
update_time=pulumi.get(__response__, 'update_time')))
|
pulumi_aiven/get_project.py
CHANGED
|
@@ -150,7 +150,7 @@ class GetProjectResult:
|
|
|
150
150
|
@pulumi.getter(name="parentId")
|
|
151
151
|
def parent_id(self) -> str:
|
|
152
152
|
"""
|
|
153
|
-
Link a project to an [organization
|
|
153
|
+
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.
|
|
154
154
|
"""
|
|
155
155
|
return pulumi.get(self, "parent_id")
|
|
156
156
|
|
pulumi_aiven/get_project_user.py
CHANGED
|
@@ -103,9 +103,10 @@ def get_project_user(email: Optional[str] = None,
|
|
|
103
103
|
"""
|
|
104
104
|
The Project User data source provides information about the existing Aiven Project User.
|
|
105
105
|
|
|
106
|
-
> **This resource is deprecated
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
> **This resource is deprecated**
|
|
107
|
+
Use `OrganizationPermission` instead and
|
|
108
|
+
migrate existing `ProjectUser` resources
|
|
109
|
+
to the new resource.
|
|
109
110
|
|
|
110
111
|
## Example Usage
|
|
111
112
|
|
|
@@ -139,9 +140,10 @@ def get_project_user_output(email: Optional[pulumi.Input[str]] = None,
|
|
|
139
140
|
"""
|
|
140
141
|
The Project User data source provides information about the existing Aiven Project User.
|
|
141
142
|
|
|
142
|
-
> **This resource is deprecated
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
> **This resource is deprecated**
|
|
144
|
+
Use `OrganizationPermission` instead and
|
|
145
|
+
migrate existing `ProjectUser` resources
|
|
146
|
+
to the new resource.
|
|
145
147
|
|
|
146
148
|
## Example Usage
|
|
147
149
|
|
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import 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 ._inputs import *
|
|
18
|
+
|
|
19
|
+
__all__ = ['OrganizationProjectArgs', 'OrganizationProject']
|
|
20
|
+
|
|
21
|
+
@pulumi.input_type
|
|
22
|
+
class OrganizationProjectArgs:
|
|
23
|
+
def __init__(__self__, *,
|
|
24
|
+
billing_group_id: pulumi.Input[str],
|
|
25
|
+
organization_id: pulumi.Input[str],
|
|
26
|
+
project_id: pulumi.Input[str],
|
|
27
|
+
parent_id: Optional[pulumi.Input[str]] = None,
|
|
28
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]] = None,
|
|
29
|
+
technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
30
|
+
"""
|
|
31
|
+
The set of arguments for constructing a OrganizationProject resource.
|
|
32
|
+
:param pulumi.Input[str] billing_group_id: Billing group ID to assign to the project.
|
|
33
|
+
:param pulumi.Input[str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
|
|
34
|
+
:param pulumi.Input[str] project_id: Unique identifier for the project that also serves as the project name.
|
|
35
|
+
:param pulumi.Input[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.
|
|
36
|
+
:param pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]] tags: Tags are key-value pairs that allow you to categorize projects.
|
|
37
|
+
:param pulumi.Input[Sequence[pulumi.Input[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.
|
|
38
|
+
"""
|
|
39
|
+
pulumi.set(__self__, "billing_group_id", billing_group_id)
|
|
40
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
|
41
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
42
|
+
if parent_id is not None:
|
|
43
|
+
pulumi.set(__self__, "parent_id", parent_id)
|
|
44
|
+
if tags is not None:
|
|
45
|
+
pulumi.set(__self__, "tags", tags)
|
|
46
|
+
if technical_emails is not None:
|
|
47
|
+
pulumi.set(__self__, "technical_emails", technical_emails)
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
@pulumi.getter(name="billingGroupId")
|
|
51
|
+
def billing_group_id(self) -> pulumi.Input[str]:
|
|
52
|
+
"""
|
|
53
|
+
Billing group ID to assign to the project.
|
|
54
|
+
"""
|
|
55
|
+
return pulumi.get(self, "billing_group_id")
|
|
56
|
+
|
|
57
|
+
@billing_group_id.setter
|
|
58
|
+
def billing_group_id(self, value: pulumi.Input[str]):
|
|
59
|
+
pulumi.set(self, "billing_group_id", value)
|
|
60
|
+
|
|
61
|
+
@property
|
|
62
|
+
@pulumi.getter(name="organizationId")
|
|
63
|
+
def organization_id(self) -> pulumi.Input[str]:
|
|
64
|
+
"""
|
|
65
|
+
ID of an organization. Changing this property forces recreation of the resource.
|
|
66
|
+
"""
|
|
67
|
+
return pulumi.get(self, "organization_id")
|
|
68
|
+
|
|
69
|
+
@organization_id.setter
|
|
70
|
+
def organization_id(self, value: pulumi.Input[str]):
|
|
71
|
+
pulumi.set(self, "organization_id", value)
|
|
72
|
+
|
|
73
|
+
@property
|
|
74
|
+
@pulumi.getter(name="projectId")
|
|
75
|
+
def project_id(self) -> pulumi.Input[str]:
|
|
76
|
+
"""
|
|
77
|
+
Unique identifier for the project that also serves as the project name.
|
|
78
|
+
"""
|
|
79
|
+
return pulumi.get(self, "project_id")
|
|
80
|
+
|
|
81
|
+
@project_id.setter
|
|
82
|
+
def project_id(self, value: pulumi.Input[str]):
|
|
83
|
+
pulumi.set(self, "project_id", value)
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
@pulumi.getter(name="parentId")
|
|
87
|
+
def parent_id(self) -> Optional[pulumi.Input[str]]:
|
|
88
|
+
"""
|
|
89
|
+
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.
|
|
90
|
+
"""
|
|
91
|
+
return pulumi.get(self, "parent_id")
|
|
92
|
+
|
|
93
|
+
@parent_id.setter
|
|
94
|
+
def parent_id(self, value: Optional[pulumi.Input[str]]):
|
|
95
|
+
pulumi.set(self, "parent_id", value)
|
|
96
|
+
|
|
97
|
+
@property
|
|
98
|
+
@pulumi.getter
|
|
99
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]]:
|
|
100
|
+
"""
|
|
101
|
+
Tags are key-value pairs that allow you to categorize projects.
|
|
102
|
+
"""
|
|
103
|
+
return pulumi.get(self, "tags")
|
|
104
|
+
|
|
105
|
+
@tags.setter
|
|
106
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]]):
|
|
107
|
+
pulumi.set(self, "tags", value)
|
|
108
|
+
|
|
109
|
+
@property
|
|
110
|
+
@pulumi.getter(name="technicalEmails")
|
|
111
|
+
def technical_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
112
|
+
"""
|
|
113
|
+
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.
|
|
114
|
+
"""
|
|
115
|
+
return pulumi.get(self, "technical_emails")
|
|
116
|
+
|
|
117
|
+
@technical_emails.setter
|
|
118
|
+
def technical_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
119
|
+
pulumi.set(self, "technical_emails", value)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
@pulumi.input_type
|
|
123
|
+
class _OrganizationProjectState:
|
|
124
|
+
def __init__(__self__, *,
|
|
125
|
+
billing_group_id: Optional[pulumi.Input[str]] = None,
|
|
126
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
|
127
|
+
parent_id: Optional[pulumi.Input[str]] = None,
|
|
128
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
|
129
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]] = None,
|
|
130
|
+
technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
|
131
|
+
"""
|
|
132
|
+
Input properties used for looking up and filtering OrganizationProject resources.
|
|
133
|
+
:param pulumi.Input[str] billing_group_id: Billing group ID to assign to the project.
|
|
134
|
+
:param pulumi.Input[str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
|
|
135
|
+
:param pulumi.Input[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.
|
|
136
|
+
:param pulumi.Input[str] project_id: Unique identifier for the project that also serves as the project name.
|
|
137
|
+
:param pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]] tags: Tags are key-value pairs that allow you to categorize projects.
|
|
138
|
+
:param pulumi.Input[Sequence[pulumi.Input[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.
|
|
139
|
+
"""
|
|
140
|
+
if billing_group_id is not None:
|
|
141
|
+
pulumi.set(__self__, "billing_group_id", billing_group_id)
|
|
142
|
+
if organization_id is not None:
|
|
143
|
+
pulumi.set(__self__, "organization_id", organization_id)
|
|
144
|
+
if parent_id is not None:
|
|
145
|
+
pulumi.set(__self__, "parent_id", parent_id)
|
|
146
|
+
if project_id is not None:
|
|
147
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
148
|
+
if tags is not None:
|
|
149
|
+
pulumi.set(__self__, "tags", tags)
|
|
150
|
+
if technical_emails is not None:
|
|
151
|
+
pulumi.set(__self__, "technical_emails", technical_emails)
|
|
152
|
+
|
|
153
|
+
@property
|
|
154
|
+
@pulumi.getter(name="billingGroupId")
|
|
155
|
+
def billing_group_id(self) -> Optional[pulumi.Input[str]]:
|
|
156
|
+
"""
|
|
157
|
+
Billing group ID to assign to the project.
|
|
158
|
+
"""
|
|
159
|
+
return pulumi.get(self, "billing_group_id")
|
|
160
|
+
|
|
161
|
+
@billing_group_id.setter
|
|
162
|
+
def billing_group_id(self, value: Optional[pulumi.Input[str]]):
|
|
163
|
+
pulumi.set(self, "billing_group_id", value)
|
|
164
|
+
|
|
165
|
+
@property
|
|
166
|
+
@pulumi.getter(name="organizationId")
|
|
167
|
+
def organization_id(self) -> Optional[pulumi.Input[str]]:
|
|
168
|
+
"""
|
|
169
|
+
ID of an organization. Changing this property forces recreation of the resource.
|
|
170
|
+
"""
|
|
171
|
+
return pulumi.get(self, "organization_id")
|
|
172
|
+
|
|
173
|
+
@organization_id.setter
|
|
174
|
+
def organization_id(self, value: Optional[pulumi.Input[str]]):
|
|
175
|
+
pulumi.set(self, "organization_id", value)
|
|
176
|
+
|
|
177
|
+
@property
|
|
178
|
+
@pulumi.getter(name="parentId")
|
|
179
|
+
def parent_id(self) -> Optional[pulumi.Input[str]]:
|
|
180
|
+
"""
|
|
181
|
+
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.
|
|
182
|
+
"""
|
|
183
|
+
return pulumi.get(self, "parent_id")
|
|
184
|
+
|
|
185
|
+
@parent_id.setter
|
|
186
|
+
def parent_id(self, value: Optional[pulumi.Input[str]]):
|
|
187
|
+
pulumi.set(self, "parent_id", value)
|
|
188
|
+
|
|
189
|
+
@property
|
|
190
|
+
@pulumi.getter(name="projectId")
|
|
191
|
+
def project_id(self) -> Optional[pulumi.Input[str]]:
|
|
192
|
+
"""
|
|
193
|
+
Unique identifier for the project that also serves as the project name.
|
|
194
|
+
"""
|
|
195
|
+
return pulumi.get(self, "project_id")
|
|
196
|
+
|
|
197
|
+
@project_id.setter
|
|
198
|
+
def project_id(self, value: Optional[pulumi.Input[str]]):
|
|
199
|
+
pulumi.set(self, "project_id", value)
|
|
200
|
+
|
|
201
|
+
@property
|
|
202
|
+
@pulumi.getter
|
|
203
|
+
def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]]:
|
|
204
|
+
"""
|
|
205
|
+
Tags are key-value pairs that allow you to categorize projects.
|
|
206
|
+
"""
|
|
207
|
+
return pulumi.get(self, "tags")
|
|
208
|
+
|
|
209
|
+
@tags.setter
|
|
210
|
+
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['OrganizationProjectTagArgs']]]]):
|
|
211
|
+
pulumi.set(self, "tags", value)
|
|
212
|
+
|
|
213
|
+
@property
|
|
214
|
+
@pulumi.getter(name="technicalEmails")
|
|
215
|
+
def technical_emails(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
|
216
|
+
"""
|
|
217
|
+
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.
|
|
218
|
+
"""
|
|
219
|
+
return pulumi.get(self, "technical_emails")
|
|
220
|
+
|
|
221
|
+
@technical_emails.setter
|
|
222
|
+
def technical_emails(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
|
223
|
+
pulumi.set(self, "technical_emails", value)
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
class OrganizationProject(pulumi.CustomResource):
|
|
227
|
+
@overload
|
|
228
|
+
def __init__(__self__,
|
|
229
|
+
resource_name: str,
|
|
230
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
231
|
+
billing_group_id: Optional[pulumi.Input[str]] = None,
|
|
232
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
|
233
|
+
parent_id: Optional[pulumi.Input[str]] = None,
|
|
234
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
|
235
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]]] = None,
|
|
236
|
+
technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
237
|
+
__props__=None):
|
|
238
|
+
"""
|
|
239
|
+
Creates and manages an [Aiven project](https://aiven.io/docs/platform/concepts/orgs-units-projects#projects).
|
|
240
|
+
|
|
241
|
+
**This resource is in the beta stage and may change without notice.** Set
|
|
242
|
+
the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
|
|
243
|
+
|
|
244
|
+
## Example Usage
|
|
245
|
+
|
|
246
|
+
```python
|
|
247
|
+
import pulumi
|
|
248
|
+
import pulumi_aiven as aiven
|
|
249
|
+
|
|
250
|
+
foo = aiven.OrganizationProject("foo",
|
|
251
|
+
project_id="example-project",
|
|
252
|
+
organization_id=foo_aiven_organization["id"],
|
|
253
|
+
billing_group_id=foo_aiven_billing_group["id"],
|
|
254
|
+
tags=[{
|
|
255
|
+
"key": "key_1",
|
|
256
|
+
"value": "value_1",
|
|
257
|
+
}])
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## Import
|
|
261
|
+
|
|
262
|
+
```sh
|
|
263
|
+
$ pulumi import aiven:index/organizationProject:OrganizationProject main ORGANIZATION_ID/PROJECT_ID
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
:param str resource_name: The name of the resource.
|
|
267
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
268
|
+
:param pulumi.Input[str] billing_group_id: Billing group ID to assign to the project.
|
|
269
|
+
:param pulumi.Input[str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
|
|
270
|
+
:param pulumi.Input[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.
|
|
271
|
+
:param pulumi.Input[str] project_id: Unique identifier for the project that also serves as the project name.
|
|
272
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize projects.
|
|
273
|
+
:param pulumi.Input[Sequence[pulumi.Input[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.
|
|
274
|
+
"""
|
|
275
|
+
...
|
|
276
|
+
@overload
|
|
277
|
+
def __init__(__self__,
|
|
278
|
+
resource_name: str,
|
|
279
|
+
args: OrganizationProjectArgs,
|
|
280
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
281
|
+
"""
|
|
282
|
+
Creates and manages an [Aiven project](https://aiven.io/docs/platform/concepts/orgs-units-projects#projects).
|
|
283
|
+
|
|
284
|
+
**This resource is in the beta stage and may change without notice.** Set
|
|
285
|
+
the `PROVIDER_AIVEN_ENABLE_BETA` environment variable to use the resource.
|
|
286
|
+
|
|
287
|
+
## Example Usage
|
|
288
|
+
|
|
289
|
+
```python
|
|
290
|
+
import pulumi
|
|
291
|
+
import pulumi_aiven as aiven
|
|
292
|
+
|
|
293
|
+
foo = aiven.OrganizationProject("foo",
|
|
294
|
+
project_id="example-project",
|
|
295
|
+
organization_id=foo_aiven_organization["id"],
|
|
296
|
+
billing_group_id=foo_aiven_billing_group["id"],
|
|
297
|
+
tags=[{
|
|
298
|
+
"key": "key_1",
|
|
299
|
+
"value": "value_1",
|
|
300
|
+
}])
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Import
|
|
304
|
+
|
|
305
|
+
```sh
|
|
306
|
+
$ pulumi import aiven:index/organizationProject:OrganizationProject main ORGANIZATION_ID/PROJECT_ID
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
:param str resource_name: The name of the resource.
|
|
310
|
+
:param OrganizationProjectArgs args: The arguments to use to populate this resource's properties.
|
|
311
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
312
|
+
"""
|
|
313
|
+
...
|
|
314
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
315
|
+
resource_args, opts = _utilities.get_resource_args_opts(OrganizationProjectArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
316
|
+
if resource_args is not None:
|
|
317
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
318
|
+
else:
|
|
319
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
320
|
+
|
|
321
|
+
def _internal_init(__self__,
|
|
322
|
+
resource_name: str,
|
|
323
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
324
|
+
billing_group_id: Optional[pulumi.Input[str]] = None,
|
|
325
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
|
326
|
+
parent_id: Optional[pulumi.Input[str]] = None,
|
|
327
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
|
328
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]]] = None,
|
|
329
|
+
technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
|
330
|
+
__props__=None):
|
|
331
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
332
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
333
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
334
|
+
if opts.id is None:
|
|
335
|
+
if __props__ is not None:
|
|
336
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
337
|
+
__props__ = OrganizationProjectArgs.__new__(OrganizationProjectArgs)
|
|
338
|
+
|
|
339
|
+
if billing_group_id is None and not opts.urn:
|
|
340
|
+
raise TypeError("Missing required property 'billing_group_id'")
|
|
341
|
+
__props__.__dict__["billing_group_id"] = billing_group_id
|
|
342
|
+
if organization_id is None and not opts.urn:
|
|
343
|
+
raise TypeError("Missing required property 'organization_id'")
|
|
344
|
+
__props__.__dict__["organization_id"] = organization_id
|
|
345
|
+
__props__.__dict__["parent_id"] = parent_id
|
|
346
|
+
if project_id is None and not opts.urn:
|
|
347
|
+
raise TypeError("Missing required property 'project_id'")
|
|
348
|
+
__props__.__dict__["project_id"] = project_id
|
|
349
|
+
__props__.__dict__["tags"] = tags
|
|
350
|
+
__props__.__dict__["technical_emails"] = technical_emails
|
|
351
|
+
super(OrganizationProject, __self__).__init__(
|
|
352
|
+
'aiven:index/organizationProject:OrganizationProject',
|
|
353
|
+
resource_name,
|
|
354
|
+
__props__,
|
|
355
|
+
opts)
|
|
356
|
+
|
|
357
|
+
@staticmethod
|
|
358
|
+
def get(resource_name: str,
|
|
359
|
+
id: pulumi.Input[str],
|
|
360
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
361
|
+
billing_group_id: Optional[pulumi.Input[str]] = None,
|
|
362
|
+
organization_id: Optional[pulumi.Input[str]] = None,
|
|
363
|
+
parent_id: Optional[pulumi.Input[str]] = None,
|
|
364
|
+
project_id: Optional[pulumi.Input[str]] = None,
|
|
365
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]]] = None,
|
|
366
|
+
technical_emails: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'OrganizationProject':
|
|
367
|
+
"""
|
|
368
|
+
Get an existing OrganizationProject resource's state with the given name, id, and optional extra
|
|
369
|
+
properties used to qualify the lookup.
|
|
370
|
+
|
|
371
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
372
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
373
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
374
|
+
:param pulumi.Input[str] billing_group_id: Billing group ID to assign to the project.
|
|
375
|
+
:param pulumi.Input[str] organization_id: ID of an organization. Changing this property forces recreation of the resource.
|
|
376
|
+
:param pulumi.Input[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.
|
|
377
|
+
:param pulumi.Input[str] project_id: Unique identifier for the project that also serves as the project name.
|
|
378
|
+
:param pulumi.Input[Sequence[pulumi.Input[Union['OrganizationProjectTagArgs', 'OrganizationProjectTagArgsDict']]]] tags: Tags are key-value pairs that allow you to categorize projects.
|
|
379
|
+
:param pulumi.Input[Sequence[pulumi.Input[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.
|
|
380
|
+
"""
|
|
381
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
382
|
+
|
|
383
|
+
__props__ = _OrganizationProjectState.__new__(_OrganizationProjectState)
|
|
384
|
+
|
|
385
|
+
__props__.__dict__["billing_group_id"] = billing_group_id
|
|
386
|
+
__props__.__dict__["organization_id"] = organization_id
|
|
387
|
+
__props__.__dict__["parent_id"] = parent_id
|
|
388
|
+
__props__.__dict__["project_id"] = project_id
|
|
389
|
+
__props__.__dict__["tags"] = tags
|
|
390
|
+
__props__.__dict__["technical_emails"] = technical_emails
|
|
391
|
+
return OrganizationProject(resource_name, opts=opts, __props__=__props__)
|
|
392
|
+
|
|
393
|
+
@property
|
|
394
|
+
@pulumi.getter(name="billingGroupId")
|
|
395
|
+
def billing_group_id(self) -> pulumi.Output[str]:
|
|
396
|
+
"""
|
|
397
|
+
Billing group ID to assign to the project.
|
|
398
|
+
"""
|
|
399
|
+
return pulumi.get(self, "billing_group_id")
|
|
400
|
+
|
|
401
|
+
@property
|
|
402
|
+
@pulumi.getter(name="organizationId")
|
|
403
|
+
def organization_id(self) -> pulumi.Output[str]:
|
|
404
|
+
"""
|
|
405
|
+
ID of an organization. Changing this property forces recreation of the resource.
|
|
406
|
+
"""
|
|
407
|
+
return pulumi.get(self, "organization_id")
|
|
408
|
+
|
|
409
|
+
@property
|
|
410
|
+
@pulumi.getter(name="parentId")
|
|
411
|
+
def parent_id(self) -> pulumi.Output[str]:
|
|
412
|
+
"""
|
|
413
|
+
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.
|
|
414
|
+
"""
|
|
415
|
+
return pulumi.get(self, "parent_id")
|
|
416
|
+
|
|
417
|
+
@property
|
|
418
|
+
@pulumi.getter(name="projectId")
|
|
419
|
+
def project_id(self) -> pulumi.Output[str]:
|
|
420
|
+
"""
|
|
421
|
+
Unique identifier for the project that also serves as the project name.
|
|
422
|
+
"""
|
|
423
|
+
return pulumi.get(self, "project_id")
|
|
424
|
+
|
|
425
|
+
@property
|
|
426
|
+
@pulumi.getter
|
|
427
|
+
def tags(self) -> pulumi.Output[Optional[Sequence['outputs.OrganizationProjectTag']]]:
|
|
428
|
+
"""
|
|
429
|
+
Tags are key-value pairs that allow you to categorize projects.
|
|
430
|
+
"""
|
|
431
|
+
return pulumi.get(self, "tags")
|
|
432
|
+
|
|
433
|
+
@property
|
|
434
|
+
@pulumi.getter(name="technicalEmails")
|
|
435
|
+
def technical_emails(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
|
436
|
+
"""
|
|
437
|
+
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.
|
|
438
|
+
"""
|
|
439
|
+
return pulumi.get(self, "technical_emails")
|
|
440
|
+
|