pulumi-aiven 6.13.0a1711027602__py3-none-any.whl → 6.14.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 +28 -0
- pulumi_aiven/_inputs.py +2623 -1138
- pulumi_aiven/account.py +8 -8
- pulumi_aiven/account_authentication.py +8 -4
- pulumi_aiven/account_team.py +6 -6
- pulumi_aiven/account_team_member.py +27 -31
- pulumi_aiven/account_team_project.py +12 -12
- pulumi_aiven/aws_privatelink.py +39 -43
- pulumi_aiven/aws_vpc_peering_connection.py +62 -56
- pulumi_aiven/azure_privatelink.py +49 -53
- pulumi_aiven/azure_privatelink_connection_approval.py +131 -33
- pulumi_aiven/azure_vpc_peering_connection.py +76 -72
- pulumi_aiven/billing_group.py +18 -18
- pulumi_aiven/cassandra.py +25 -57
- pulumi_aiven/cassandra_user.py +25 -29
- pulumi_aiven/clickhouse.py +25 -57
- pulumi_aiven/clickhouse_database.py +31 -33
- pulumi_aiven/clickhouse_grant.py +56 -58
- pulumi_aiven/clickhouse_role.py +23 -27
- pulumi_aiven/clickhouse_user.py +25 -29
- pulumi_aiven/connection_pool.py +38 -42
- pulumi_aiven/dragonfly.py +1205 -0
- pulumi_aiven/flink.py +32 -36
- pulumi_aiven/flink_application.py +22 -24
- pulumi_aiven/flink_application_deployment.py +28 -28
- pulumi_aiven/flink_application_version.py +96 -14
- pulumi_aiven/gcp_privatelink.py +40 -40
- pulumi_aiven/gcp_privatelink_connection_approval.py +47 -47
- pulumi_aiven/gcp_vpc_peering_connection.py +39 -43
- pulumi_aiven/get_account.py +0 -4
- pulumi_aiven/get_account_team_member.py +9 -9
- pulumi_aiven/get_aws_privatelink.py +15 -19
- pulumi_aiven/get_aws_vpc_peering_connection.py +33 -27
- pulumi_aiven/get_azure_privatelink.py +17 -21
- pulumi_aiven/get_azure_vpc_peering_connection.py +50 -22
- pulumi_aiven/get_billing_group.py +2 -2
- pulumi_aiven/get_cassanda.py +7 -24
- pulumi_aiven/get_cassandra.py +7 -24
- pulumi_aiven/get_cassandra_user.py +13 -17
- pulumi_aiven/get_clickhouse.py +7 -24
- pulumi_aiven/get_clickhouse_database.py +13 -17
- pulumi_aiven/get_clickhouse_user.py +13 -17
- pulumi_aiven/get_connection_pool.py +14 -18
- pulumi_aiven/get_dragonfly.py +450 -0
- pulumi_aiven/get_flink.py +6 -10
- pulumi_aiven/get_flink_application.py +8 -12
- pulumi_aiven/get_flink_application_version.py +8 -12
- pulumi_aiven/get_gcp_vpc_peering_connection.py +18 -22
- pulumi_aiven/get_grafana.py +7 -24
- pulumi_aiven/get_kafka.py +13 -17
- pulumi_aiven/get_kafka_acl.py +19 -23
- pulumi_aiven/get_kafka_connect.py +7 -24
- pulumi_aiven/get_kafka_connector.py +13 -17
- pulumi_aiven/get_kafka_mirror_maker.py +7 -24
- pulumi_aiven/get_kafka_schema.py +13 -17
- pulumi_aiven/get_kafka_schema_configuration.py +11 -15
- pulumi_aiven/get_kafka_schema_registry_acl.py +15 -15
- pulumi_aiven/get_kafka_topic.py +19 -23
- pulumi_aiven/get_kafka_user.py +13 -17
- pulumi_aiven/get_m3_aggregator.py +7 -24
- pulumi_aiven/get_m3_db.py +7 -24
- pulumi_aiven/get_m3db_user.py +13 -17
- pulumi_aiven/get_mirror_maker_replication_flow.py +14 -18
- pulumi_aiven/get_my_sql.py +7 -24
- pulumi_aiven/get_mysql_database.py +13 -17
- pulumi_aiven/get_mysql_user.py +13 -17
- pulumi_aiven/get_open_search.py +6 -10
- pulumi_aiven/get_open_search_acl_config.py +10 -14
- pulumi_aiven/get_open_search_acl_rule.py +16 -20
- pulumi_aiven/get_opensearch_security_plugin_config.py +10 -14
- pulumi_aiven/get_opensearch_user.py +13 -17
- pulumi_aiven/get_organization.py +8 -12
- pulumi_aiven/get_organization_user_group.py +29 -9
- pulumi_aiven/get_organizational_unit.py +9 -9
- pulumi_aiven/get_pg.py +6 -10
- pulumi_aiven/get_pg_database.py +15 -19
- pulumi_aiven/get_pg_user.py +13 -17
- pulumi_aiven/get_project.py +17 -21
- pulumi_aiven/get_project_user.py +9 -13
- pulumi_aiven/get_project_vpc.py +11 -17
- pulumi_aiven/get_redis.py +7 -24
- pulumi_aiven/get_redis_user.py +17 -21
- pulumi_aiven/get_service_component.py +4 -8
- pulumi_aiven/get_service_integration.py +75 -37
- pulumi_aiven/get_service_integration_endpoint.py +3 -7
- pulumi_aiven/get_transit_gateway_vpc_attachment.py +11 -15
- pulumi_aiven/grafana.py +82 -267
- pulumi_aiven/influx_db.py +28 -28
- pulumi_aiven/influxdb_database.py +35 -35
- pulumi_aiven/influxdb_user.py +42 -42
- pulumi_aiven/kafka.py +50 -54
- pulumi_aiven/kafka_acl.py +41 -45
- pulumi_aiven/kafka_connect.py +80 -267
- pulumi_aiven/kafka_connector.py +33 -37
- pulumi_aiven/kafka_mirror_maker.py +80 -267
- pulumi_aiven/kafka_schema.py +51 -51
- pulumi_aiven/kafka_schema_configuration.py +20 -24
- pulumi_aiven/kafka_schema_registry_acl.py +75 -35
- pulumi_aiven/kafka_topic.py +91 -53
- pulumi_aiven/kafka_user.py +25 -29
- pulumi_aiven/m3_aggregator.py +80 -267
- pulumi_aiven/m3_db.py +80 -267
- pulumi_aiven/m3db_user.py +23 -27
- pulumi_aiven/mirror_maker_replication_flow.py +58 -60
- pulumi_aiven/my_sql.py +80 -267
- pulumi_aiven/mysql_database.py +27 -31
- pulumi_aiven/mysql_user.py +25 -29
- pulumi_aiven/open_search.py +27 -31
- pulumi_aiven/open_search_acl_config.py +28 -36
- pulumi_aiven/open_search_acl_rule.py +50 -54
- pulumi_aiven/opensearch_security_plugin_config.py +64 -16
- pulumi_aiven/opensearch_user.py +25 -29
- pulumi_aiven/organization.py +10 -14
- pulumi_aiven/organization_group_project.py +336 -0
- pulumi_aiven/organization_user.py +16 -34
- pulumi_aiven/organization_user_group.py +59 -23
- pulumi_aiven/organization_user_group_member.py +350 -0
- pulumi_aiven/organizational_unit.py +36 -36
- pulumi_aiven/outputs.py +3539 -1136
- pulumi_aiven/pg.py +30 -30
- pulumi_aiven/pg_database.py +41 -45
- pulumi_aiven/pg_user.py +25 -29
- pulumi_aiven/project.py +91 -69
- pulumi_aiven/project_user.py +24 -28
- pulumi_aiven/project_vpc.py +49 -25
- pulumi_aiven/redis.py +80 -267
- pulumi_aiven/redis_user.py +53 -57
- pulumi_aiven/service_integration.py +249 -65
- pulumi_aiven/service_integration_endpoint.py +7 -7
- pulumi_aiven/static_ip.py +14 -14
- pulumi_aiven/transit_gateway_vpc_attachment.py +25 -29
- {pulumi_aiven-6.13.0a1711027602.dist-info → pulumi_aiven-6.14.0.dist-info}/METADATA +1 -1
- pulumi_aiven-6.14.0.dist-info/RECORD +150 -0
- pulumi_aiven-6.13.0a1711027602.dist-info/RECORD +0 -146
- {pulumi_aiven-6.13.0a1711027602.dist-info → pulumi_aiven-6.14.0.dist-info}/WHEEL +0 -0
- {pulumi_aiven-6.13.0a1711027602.dist-info → pulumi_aiven-6.14.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import copy
|
|
6
|
+
import warnings
|
|
7
|
+
import pulumi
|
|
8
|
+
import pulumi.runtime
|
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
10
|
+
from . import _utilities
|
|
11
|
+
from . import outputs
|
|
12
|
+
|
|
13
|
+
__all__ = [
|
|
14
|
+
'GetDragonflyResult',
|
|
15
|
+
'AwaitableGetDragonflyResult',
|
|
16
|
+
'get_dragonfly',
|
|
17
|
+
'get_dragonfly_output',
|
|
18
|
+
]
|
|
19
|
+
|
|
20
|
+
@pulumi.output_type
|
|
21
|
+
class GetDragonflyResult:
|
|
22
|
+
"""
|
|
23
|
+
A collection of values returned by getDragonfly.
|
|
24
|
+
"""
|
|
25
|
+
def __init__(__self__, additional_disk_space=None, cloud_name=None, components=None, disk_space=None, disk_space_cap=None, disk_space_default=None, disk_space_step=None, disk_space_used=None, dragonfly_user_configs=None, id=None, maintenance_window_dow=None, maintenance_window_time=None, plan=None, project=None, project_vpc_id=None, service_host=None, service_integrations=None, service_name=None, service_password=None, service_port=None, service_type=None, service_uri=None, service_username=None, state=None, static_ips=None, tags=None, tech_emails=None, termination_protection=None):
|
|
26
|
+
if additional_disk_space and not isinstance(additional_disk_space, str):
|
|
27
|
+
raise TypeError("Expected argument 'additional_disk_space' to be a str")
|
|
28
|
+
pulumi.set(__self__, "additional_disk_space", additional_disk_space)
|
|
29
|
+
if cloud_name and not isinstance(cloud_name, str):
|
|
30
|
+
raise TypeError("Expected argument 'cloud_name' to be a str")
|
|
31
|
+
pulumi.set(__self__, "cloud_name", cloud_name)
|
|
32
|
+
if components and not isinstance(components, list):
|
|
33
|
+
raise TypeError("Expected argument 'components' to be a list")
|
|
34
|
+
pulumi.set(__self__, "components", components)
|
|
35
|
+
if disk_space and not isinstance(disk_space, str):
|
|
36
|
+
raise TypeError("Expected argument 'disk_space' to be a str")
|
|
37
|
+
pulumi.set(__self__, "disk_space", disk_space)
|
|
38
|
+
if disk_space_cap and not isinstance(disk_space_cap, str):
|
|
39
|
+
raise TypeError("Expected argument 'disk_space_cap' to be a str")
|
|
40
|
+
pulumi.set(__self__, "disk_space_cap", disk_space_cap)
|
|
41
|
+
if disk_space_default and not isinstance(disk_space_default, str):
|
|
42
|
+
raise TypeError("Expected argument 'disk_space_default' to be a str")
|
|
43
|
+
pulumi.set(__self__, "disk_space_default", disk_space_default)
|
|
44
|
+
if disk_space_step and not isinstance(disk_space_step, str):
|
|
45
|
+
raise TypeError("Expected argument 'disk_space_step' to be a str")
|
|
46
|
+
pulumi.set(__self__, "disk_space_step", disk_space_step)
|
|
47
|
+
if disk_space_used and not isinstance(disk_space_used, str):
|
|
48
|
+
raise TypeError("Expected argument 'disk_space_used' to be a str")
|
|
49
|
+
pulumi.set(__self__, "disk_space_used", disk_space_used)
|
|
50
|
+
if dragonfly_user_configs and not isinstance(dragonfly_user_configs, list):
|
|
51
|
+
raise TypeError("Expected argument 'dragonfly_user_configs' to be a list")
|
|
52
|
+
pulumi.set(__self__, "dragonfly_user_configs", dragonfly_user_configs)
|
|
53
|
+
if id and not isinstance(id, str):
|
|
54
|
+
raise TypeError("Expected argument 'id' to be a str")
|
|
55
|
+
pulumi.set(__self__, "id", id)
|
|
56
|
+
if maintenance_window_dow and not isinstance(maintenance_window_dow, str):
|
|
57
|
+
raise TypeError("Expected argument 'maintenance_window_dow' to be a str")
|
|
58
|
+
pulumi.set(__self__, "maintenance_window_dow", maintenance_window_dow)
|
|
59
|
+
if maintenance_window_time and not isinstance(maintenance_window_time, str):
|
|
60
|
+
raise TypeError("Expected argument 'maintenance_window_time' to be a str")
|
|
61
|
+
pulumi.set(__self__, "maintenance_window_time", maintenance_window_time)
|
|
62
|
+
if plan and not isinstance(plan, str):
|
|
63
|
+
raise TypeError("Expected argument 'plan' to be a str")
|
|
64
|
+
pulumi.set(__self__, "plan", plan)
|
|
65
|
+
if project and not isinstance(project, str):
|
|
66
|
+
raise TypeError("Expected argument 'project' to be a str")
|
|
67
|
+
pulumi.set(__self__, "project", project)
|
|
68
|
+
if project_vpc_id and not isinstance(project_vpc_id, str):
|
|
69
|
+
raise TypeError("Expected argument 'project_vpc_id' to be a str")
|
|
70
|
+
pulumi.set(__self__, "project_vpc_id", project_vpc_id)
|
|
71
|
+
if service_host and not isinstance(service_host, str):
|
|
72
|
+
raise TypeError("Expected argument 'service_host' to be a str")
|
|
73
|
+
pulumi.set(__self__, "service_host", service_host)
|
|
74
|
+
if service_integrations and not isinstance(service_integrations, list):
|
|
75
|
+
raise TypeError("Expected argument 'service_integrations' to be a list")
|
|
76
|
+
pulumi.set(__self__, "service_integrations", service_integrations)
|
|
77
|
+
if service_name and not isinstance(service_name, str):
|
|
78
|
+
raise TypeError("Expected argument 'service_name' to be a str")
|
|
79
|
+
pulumi.set(__self__, "service_name", service_name)
|
|
80
|
+
if service_password and not isinstance(service_password, str):
|
|
81
|
+
raise TypeError("Expected argument 'service_password' to be a str")
|
|
82
|
+
pulumi.set(__self__, "service_password", service_password)
|
|
83
|
+
if service_port and not isinstance(service_port, int):
|
|
84
|
+
raise TypeError("Expected argument 'service_port' to be a int")
|
|
85
|
+
pulumi.set(__self__, "service_port", service_port)
|
|
86
|
+
if service_type and not isinstance(service_type, str):
|
|
87
|
+
raise TypeError("Expected argument 'service_type' to be a str")
|
|
88
|
+
pulumi.set(__self__, "service_type", service_type)
|
|
89
|
+
if service_uri and not isinstance(service_uri, str):
|
|
90
|
+
raise TypeError("Expected argument 'service_uri' to be a str")
|
|
91
|
+
pulumi.set(__self__, "service_uri", service_uri)
|
|
92
|
+
if service_username and not isinstance(service_username, str):
|
|
93
|
+
raise TypeError("Expected argument 'service_username' to be a str")
|
|
94
|
+
pulumi.set(__self__, "service_username", service_username)
|
|
95
|
+
if state and not isinstance(state, str):
|
|
96
|
+
raise TypeError("Expected argument 'state' to be a str")
|
|
97
|
+
pulumi.set(__self__, "state", state)
|
|
98
|
+
if static_ips and not isinstance(static_ips, list):
|
|
99
|
+
raise TypeError("Expected argument 'static_ips' to be a list")
|
|
100
|
+
pulumi.set(__self__, "static_ips", static_ips)
|
|
101
|
+
if tags and not isinstance(tags, list):
|
|
102
|
+
raise TypeError("Expected argument 'tags' to be a list")
|
|
103
|
+
pulumi.set(__self__, "tags", tags)
|
|
104
|
+
if tech_emails and not isinstance(tech_emails, list):
|
|
105
|
+
raise TypeError("Expected argument 'tech_emails' to be a list")
|
|
106
|
+
pulumi.set(__self__, "tech_emails", tech_emails)
|
|
107
|
+
if termination_protection and not isinstance(termination_protection, bool):
|
|
108
|
+
raise TypeError("Expected argument 'termination_protection' to be a bool")
|
|
109
|
+
pulumi.set(__self__, "termination_protection", termination_protection)
|
|
110
|
+
|
|
111
|
+
@property
|
|
112
|
+
@pulumi.getter(name="additionalDiskSpace")
|
|
113
|
+
def additional_disk_space(self) -> str:
|
|
114
|
+
"""
|
|
115
|
+
Additional disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
|
|
116
|
+
"""
|
|
117
|
+
return pulumi.get(self, "additional_disk_space")
|
|
118
|
+
|
|
119
|
+
@property
|
|
120
|
+
@pulumi.getter(name="cloudName")
|
|
121
|
+
def cloud_name(self) -> str:
|
|
122
|
+
"""
|
|
123
|
+
Defines where the cloud provider and region where the service is hosted in. This can be changed freely after service is created. Changing the value will trigger a potentially lengthy migration process for the service. Format is cloud provider name (`aws`, `azure`, `do` `google`, `upcloud`, etc.), dash, and the cloud provider specific region name. These are documented on each Cloud provider's own support articles, like [here for Google](https://cloud.google.com/compute/docs/regions-zones/) and [here for AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.RegionsAndAvailabilityZones.html).
|
|
124
|
+
"""
|
|
125
|
+
return pulumi.get(self, "cloud_name")
|
|
126
|
+
|
|
127
|
+
@property
|
|
128
|
+
@pulumi.getter
|
|
129
|
+
def components(self) -> Sequence['outputs.GetDragonflyComponentResult']:
|
|
130
|
+
"""
|
|
131
|
+
Service component information objects
|
|
132
|
+
"""
|
|
133
|
+
return pulumi.get(self, "components")
|
|
134
|
+
|
|
135
|
+
@property
|
|
136
|
+
@pulumi.getter(name="diskSpace")
|
|
137
|
+
def disk_space(self) -> str:
|
|
138
|
+
"""
|
|
139
|
+
Service disk space. Possible values depend on the service type, the cloud provider and the project. Therefore, reducing will result in the service rebalancing.
|
|
140
|
+
"""
|
|
141
|
+
return pulumi.get(self, "disk_space")
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
@pulumi.getter(name="diskSpaceCap")
|
|
145
|
+
def disk_space_cap(self) -> str:
|
|
146
|
+
"""
|
|
147
|
+
The maximum disk space of the service, possible values depend on the service type, the cloud provider and the project.
|
|
148
|
+
"""
|
|
149
|
+
return pulumi.get(self, "disk_space_cap")
|
|
150
|
+
|
|
151
|
+
@property
|
|
152
|
+
@pulumi.getter(name="diskSpaceDefault")
|
|
153
|
+
def disk_space_default(self) -> str:
|
|
154
|
+
"""
|
|
155
|
+
The default disk space of the service, possible values depend on the service type, the cloud provider and the project. Its also the minimum value for `disk_space`
|
|
156
|
+
"""
|
|
157
|
+
return pulumi.get(self, "disk_space_default")
|
|
158
|
+
|
|
159
|
+
@property
|
|
160
|
+
@pulumi.getter(name="diskSpaceStep")
|
|
161
|
+
def disk_space_step(self) -> str:
|
|
162
|
+
"""
|
|
163
|
+
The default disk space step of the service, possible values depend on the service type, the cloud provider and the project. `disk_space` needs to increment from `disk_space_default` by increments of this size.
|
|
164
|
+
"""
|
|
165
|
+
return pulumi.get(self, "disk_space_step")
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
@pulumi.getter(name="diskSpaceUsed")
|
|
169
|
+
def disk_space_used(self) -> str:
|
|
170
|
+
"""
|
|
171
|
+
Disk space that service is currently using
|
|
172
|
+
"""
|
|
173
|
+
return pulumi.get(self, "disk_space_used")
|
|
174
|
+
|
|
175
|
+
@property
|
|
176
|
+
@pulumi.getter(name="dragonflyUserConfigs")
|
|
177
|
+
def dragonfly_user_configs(self) -> Sequence['outputs.GetDragonflyDragonflyUserConfigResult']:
|
|
178
|
+
"""
|
|
179
|
+
Dragonfly user configurable settings
|
|
180
|
+
"""
|
|
181
|
+
return pulumi.get(self, "dragonfly_user_configs")
|
|
182
|
+
|
|
183
|
+
@property
|
|
184
|
+
@pulumi.getter
|
|
185
|
+
def id(self) -> str:
|
|
186
|
+
"""
|
|
187
|
+
The provider-assigned unique ID for this managed resource.
|
|
188
|
+
"""
|
|
189
|
+
return pulumi.get(self, "id")
|
|
190
|
+
|
|
191
|
+
@property
|
|
192
|
+
@pulumi.getter(name="maintenanceWindowDow")
|
|
193
|
+
def maintenance_window_dow(self) -> str:
|
|
194
|
+
"""
|
|
195
|
+
Day of week when maintenance operations should be performed. One monday, tuesday, wednesday, etc.
|
|
196
|
+
"""
|
|
197
|
+
return pulumi.get(self, "maintenance_window_dow")
|
|
198
|
+
|
|
199
|
+
@property
|
|
200
|
+
@pulumi.getter(name="maintenanceWindowTime")
|
|
201
|
+
def maintenance_window_time(self) -> str:
|
|
202
|
+
"""
|
|
203
|
+
Time of day when maintenance operations should be performed. UTC time in HH:mm:ss format.
|
|
204
|
+
"""
|
|
205
|
+
return pulumi.get(self, "maintenance_window_time")
|
|
206
|
+
|
|
207
|
+
@property
|
|
208
|
+
@pulumi.getter
|
|
209
|
+
def plan(self) -> str:
|
|
210
|
+
"""
|
|
211
|
+
Defines what kind of computing resources are allocated for the service. It can be changed after creation, though there are some restrictions when going to a smaller plan such as the new plan must have sufficient amount of disk space to store all current data and switching to a plan with fewer nodes might not be supported. The basic plan names are `hobbyist`, `startup-x`, `business-x` and `premium-x` where `x` is (roughly) the amount of memory on each node (also other attributes like number of CPUs and amount of disk space varies but naming is based on memory). The available options can be seem from the [Aiven pricing page](https://aiven.io/pricing).
|
|
212
|
+
"""
|
|
213
|
+
return pulumi.get(self, "plan")
|
|
214
|
+
|
|
215
|
+
@property
|
|
216
|
+
@pulumi.getter
|
|
217
|
+
def project(self) -> str:
|
|
218
|
+
"""
|
|
219
|
+
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
220
|
+
"""
|
|
221
|
+
return pulumi.get(self, "project")
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
@pulumi.getter(name="projectVpcId")
|
|
225
|
+
def project_vpc_id(self) -> str:
|
|
226
|
+
"""
|
|
227
|
+
Specifies the VPC the service should run in. If the value is not set the service is not run inside a VPC. When set, the value should be given as a reference to set up dependencies correctly and the VPC must be in the same cloud and region as the service itself. Project can be freely moved to and from VPC after creation but doing so triggers migration to new servers so the operation can take significant amount of time to complete if the service has a lot of data.
|
|
228
|
+
"""
|
|
229
|
+
return pulumi.get(self, "project_vpc_id")
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
@pulumi.getter(name="serviceHost")
|
|
233
|
+
def service_host(self) -> str:
|
|
234
|
+
"""
|
|
235
|
+
The hostname of the service.
|
|
236
|
+
"""
|
|
237
|
+
return pulumi.get(self, "service_host")
|
|
238
|
+
|
|
239
|
+
@property
|
|
240
|
+
@pulumi.getter(name="serviceIntegrations")
|
|
241
|
+
def service_integrations(self) -> Sequence['outputs.GetDragonflyServiceIntegrationResult']:
|
|
242
|
+
"""
|
|
243
|
+
Service integrations to specify when creating a service. Not applied after initial service creation
|
|
244
|
+
"""
|
|
245
|
+
return pulumi.get(self, "service_integrations")
|
|
246
|
+
|
|
247
|
+
@property
|
|
248
|
+
@pulumi.getter(name="serviceName")
|
|
249
|
+
def service_name(self) -> str:
|
|
250
|
+
"""
|
|
251
|
+
Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
|
|
252
|
+
"""
|
|
253
|
+
return pulumi.get(self, "service_name")
|
|
254
|
+
|
|
255
|
+
@property
|
|
256
|
+
@pulumi.getter(name="servicePassword")
|
|
257
|
+
def service_password(self) -> str:
|
|
258
|
+
"""
|
|
259
|
+
Password used for connecting to the service, if applicable
|
|
260
|
+
"""
|
|
261
|
+
return pulumi.get(self, "service_password")
|
|
262
|
+
|
|
263
|
+
@property
|
|
264
|
+
@pulumi.getter(name="servicePort")
|
|
265
|
+
def service_port(self) -> int:
|
|
266
|
+
"""
|
|
267
|
+
The port of the service
|
|
268
|
+
"""
|
|
269
|
+
return pulumi.get(self, "service_port")
|
|
270
|
+
|
|
271
|
+
@property
|
|
272
|
+
@pulumi.getter(name="serviceType")
|
|
273
|
+
def service_type(self) -> str:
|
|
274
|
+
"""
|
|
275
|
+
Aiven internal service type code
|
|
276
|
+
"""
|
|
277
|
+
return pulumi.get(self, "service_type")
|
|
278
|
+
|
|
279
|
+
@property
|
|
280
|
+
@pulumi.getter(name="serviceUri")
|
|
281
|
+
def service_uri(self) -> str:
|
|
282
|
+
"""
|
|
283
|
+
URI for connecting to the service. Service specific info is under "kafka", "pg", etc.
|
|
284
|
+
"""
|
|
285
|
+
return pulumi.get(self, "service_uri")
|
|
286
|
+
|
|
287
|
+
@property
|
|
288
|
+
@pulumi.getter(name="serviceUsername")
|
|
289
|
+
def service_username(self) -> str:
|
|
290
|
+
"""
|
|
291
|
+
Username used for connecting to the service, if applicable
|
|
292
|
+
"""
|
|
293
|
+
return pulumi.get(self, "service_username")
|
|
294
|
+
|
|
295
|
+
@property
|
|
296
|
+
@pulumi.getter
|
|
297
|
+
def state(self) -> str:
|
|
298
|
+
"""
|
|
299
|
+
Service state. One of `POWEROFF`, `REBALANCING`, `REBUILDING` or `RUNNING`
|
|
300
|
+
"""
|
|
301
|
+
return pulumi.get(self, "state")
|
|
302
|
+
|
|
303
|
+
@property
|
|
304
|
+
@pulumi.getter(name="staticIps")
|
|
305
|
+
def static_ips(self) -> Sequence[str]:
|
|
306
|
+
"""
|
|
307
|
+
Static IPs that are going to be associated with this service. Please assign a value using the 'toset' function. Once a static ip resource is in the 'assigned' state it cannot be unbound from the node again
|
|
308
|
+
"""
|
|
309
|
+
return pulumi.get(self, "static_ips")
|
|
310
|
+
|
|
311
|
+
@property
|
|
312
|
+
@pulumi.getter
|
|
313
|
+
def tags(self) -> Sequence['outputs.GetDragonflyTagResult']:
|
|
314
|
+
"""
|
|
315
|
+
Tags are key-value pairs that allow you to categorize services.
|
|
316
|
+
"""
|
|
317
|
+
return pulumi.get(self, "tags")
|
|
318
|
+
|
|
319
|
+
@property
|
|
320
|
+
@pulumi.getter(name="techEmails")
|
|
321
|
+
def tech_emails(self) -> Sequence['outputs.GetDragonflyTechEmailResult']:
|
|
322
|
+
"""
|
|
323
|
+
The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
|
|
324
|
+
"""
|
|
325
|
+
return pulumi.get(self, "tech_emails")
|
|
326
|
+
|
|
327
|
+
@property
|
|
328
|
+
@pulumi.getter(name="terminationProtection")
|
|
329
|
+
def termination_protection(self) -> bool:
|
|
330
|
+
"""
|
|
331
|
+
Prevents the service from being deleted. It is recommended to set this to `true` for all production services to prevent unintentional service deletion. This does not shield against deleting databases or topics but for services with backups much of the content can at least be restored from backup in case accidental deletion is done.
|
|
332
|
+
"""
|
|
333
|
+
return pulumi.get(self, "termination_protection")
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
class AwaitableGetDragonflyResult(GetDragonflyResult):
|
|
337
|
+
# pylint: disable=using-constant-test
|
|
338
|
+
def __await__(self):
|
|
339
|
+
if False:
|
|
340
|
+
yield self
|
|
341
|
+
return GetDragonflyResult(
|
|
342
|
+
additional_disk_space=self.additional_disk_space,
|
|
343
|
+
cloud_name=self.cloud_name,
|
|
344
|
+
components=self.components,
|
|
345
|
+
disk_space=self.disk_space,
|
|
346
|
+
disk_space_cap=self.disk_space_cap,
|
|
347
|
+
disk_space_default=self.disk_space_default,
|
|
348
|
+
disk_space_step=self.disk_space_step,
|
|
349
|
+
disk_space_used=self.disk_space_used,
|
|
350
|
+
dragonfly_user_configs=self.dragonfly_user_configs,
|
|
351
|
+
id=self.id,
|
|
352
|
+
maintenance_window_dow=self.maintenance_window_dow,
|
|
353
|
+
maintenance_window_time=self.maintenance_window_time,
|
|
354
|
+
plan=self.plan,
|
|
355
|
+
project=self.project,
|
|
356
|
+
project_vpc_id=self.project_vpc_id,
|
|
357
|
+
service_host=self.service_host,
|
|
358
|
+
service_integrations=self.service_integrations,
|
|
359
|
+
service_name=self.service_name,
|
|
360
|
+
service_password=self.service_password,
|
|
361
|
+
service_port=self.service_port,
|
|
362
|
+
service_type=self.service_type,
|
|
363
|
+
service_uri=self.service_uri,
|
|
364
|
+
service_username=self.service_username,
|
|
365
|
+
state=self.state,
|
|
366
|
+
static_ips=self.static_ips,
|
|
367
|
+
tags=self.tags,
|
|
368
|
+
tech_emails=self.tech_emails,
|
|
369
|
+
termination_protection=self.termination_protection)
|
|
370
|
+
|
|
371
|
+
|
|
372
|
+
def get_dragonfly(project: Optional[str] = None,
|
|
373
|
+
service_name: Optional[str] = None,
|
|
374
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDragonflyResult:
|
|
375
|
+
"""
|
|
376
|
+
Gets information about an Aiven for Dragonfly® service.
|
|
377
|
+
|
|
378
|
+
## Example Usage
|
|
379
|
+
|
|
380
|
+
```python
|
|
381
|
+
import pulumi
|
|
382
|
+
import pulumi_aiven as aiven
|
|
383
|
+
|
|
384
|
+
example_dragonfly = aiven.get_dragonfly(project=example_project["project"],
|
|
385
|
+
service_name="example-dragonfly-service")
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
|
|
389
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
390
|
+
:param str service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
|
|
391
|
+
"""
|
|
392
|
+
__args__ = dict()
|
|
393
|
+
__args__['project'] = project
|
|
394
|
+
__args__['serviceName'] = service_name
|
|
395
|
+
opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
|
|
396
|
+
__ret__ = pulumi.runtime.invoke('aiven:index/getDragonfly:getDragonfly', __args__, opts=opts, typ=GetDragonflyResult).value
|
|
397
|
+
|
|
398
|
+
return AwaitableGetDragonflyResult(
|
|
399
|
+
additional_disk_space=pulumi.get(__ret__, 'additional_disk_space'),
|
|
400
|
+
cloud_name=pulumi.get(__ret__, 'cloud_name'),
|
|
401
|
+
components=pulumi.get(__ret__, 'components'),
|
|
402
|
+
disk_space=pulumi.get(__ret__, 'disk_space'),
|
|
403
|
+
disk_space_cap=pulumi.get(__ret__, 'disk_space_cap'),
|
|
404
|
+
disk_space_default=pulumi.get(__ret__, 'disk_space_default'),
|
|
405
|
+
disk_space_step=pulumi.get(__ret__, 'disk_space_step'),
|
|
406
|
+
disk_space_used=pulumi.get(__ret__, 'disk_space_used'),
|
|
407
|
+
dragonfly_user_configs=pulumi.get(__ret__, 'dragonfly_user_configs'),
|
|
408
|
+
id=pulumi.get(__ret__, 'id'),
|
|
409
|
+
maintenance_window_dow=pulumi.get(__ret__, 'maintenance_window_dow'),
|
|
410
|
+
maintenance_window_time=pulumi.get(__ret__, 'maintenance_window_time'),
|
|
411
|
+
plan=pulumi.get(__ret__, 'plan'),
|
|
412
|
+
project=pulumi.get(__ret__, 'project'),
|
|
413
|
+
project_vpc_id=pulumi.get(__ret__, 'project_vpc_id'),
|
|
414
|
+
service_host=pulumi.get(__ret__, 'service_host'),
|
|
415
|
+
service_integrations=pulumi.get(__ret__, 'service_integrations'),
|
|
416
|
+
service_name=pulumi.get(__ret__, 'service_name'),
|
|
417
|
+
service_password=pulumi.get(__ret__, 'service_password'),
|
|
418
|
+
service_port=pulumi.get(__ret__, 'service_port'),
|
|
419
|
+
service_type=pulumi.get(__ret__, 'service_type'),
|
|
420
|
+
service_uri=pulumi.get(__ret__, 'service_uri'),
|
|
421
|
+
service_username=pulumi.get(__ret__, 'service_username'),
|
|
422
|
+
state=pulumi.get(__ret__, 'state'),
|
|
423
|
+
static_ips=pulumi.get(__ret__, 'static_ips'),
|
|
424
|
+
tags=pulumi.get(__ret__, 'tags'),
|
|
425
|
+
tech_emails=pulumi.get(__ret__, 'tech_emails'),
|
|
426
|
+
termination_protection=pulumi.get(__ret__, 'termination_protection'))
|
|
427
|
+
|
|
428
|
+
|
|
429
|
+
@_utilities.lift_output_func(get_dragonfly)
|
|
430
|
+
def get_dragonfly_output(project: Optional[pulumi.Input[str]] = None,
|
|
431
|
+
service_name: Optional[pulumi.Input[str]] = None,
|
|
432
|
+
opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetDragonflyResult]:
|
|
433
|
+
"""
|
|
434
|
+
Gets information about an Aiven for Dragonfly® service.
|
|
435
|
+
|
|
436
|
+
## Example Usage
|
|
437
|
+
|
|
438
|
+
```python
|
|
439
|
+
import pulumi
|
|
440
|
+
import pulumi_aiven as aiven
|
|
441
|
+
|
|
442
|
+
example_dragonfly = aiven.get_dragonfly(project=example_project["project"],
|
|
443
|
+
service_name="example-dragonfly-service")
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
448
|
+
:param str service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
|
|
449
|
+
"""
|
|
450
|
+
...
|
pulumi_aiven/get_flink.py
CHANGED
|
@@ -227,7 +227,7 @@ class GetFlinkResult:
|
|
|
227
227
|
@pulumi.getter
|
|
228
228
|
def project(self) -> str:
|
|
229
229
|
"""
|
|
230
|
-
|
|
230
|
+
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
231
231
|
"""
|
|
232
232
|
return pulumi.get(self, "project")
|
|
233
233
|
|
|
@@ -331,7 +331,7 @@ class GetFlinkResult:
|
|
|
331
331
|
@pulumi.getter(name="techEmails")
|
|
332
332
|
def tech_emails(self) -> Sequence['outputs.GetFlinkTechEmailResult']:
|
|
333
333
|
"""
|
|
334
|
-
|
|
334
|
+
The email addresses for [service contacts](https://aiven.io/docs/platform/howto/technical-emails), who will receive important alerts and updates about this service. You can also set email contacts at the project level.
|
|
335
335
|
"""
|
|
336
336
|
return pulumi.get(self, "tech_emails")
|
|
337
337
|
|
|
@@ -389,18 +389,16 @@ def get_flink(project: Optional[str] = None,
|
|
|
389
389
|
|
|
390
390
|
## Example Usage
|
|
391
391
|
|
|
392
|
-
<!--Start PulumiCodeChooser -->
|
|
393
392
|
```python
|
|
394
393
|
import pulumi
|
|
395
394
|
import pulumi_aiven as aiven
|
|
396
395
|
|
|
397
|
-
flink = aiven.get_flink(project=
|
|
396
|
+
flink = aiven.get_flink(project=pr1["project"],
|
|
398
397
|
service_name="<SERVICE_NAME>")
|
|
399
398
|
```
|
|
400
|
-
<!--End PulumiCodeChooser -->
|
|
401
399
|
|
|
402
400
|
|
|
403
|
-
:param str project:
|
|
401
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
404
402
|
:param str service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
|
|
405
403
|
"""
|
|
406
404
|
__args__ = dict()
|
|
@@ -450,18 +448,16 @@ def get_flink_output(project: Optional[pulumi.Input[str]] = None,
|
|
|
450
448
|
|
|
451
449
|
## Example Usage
|
|
452
450
|
|
|
453
|
-
<!--Start PulumiCodeChooser -->
|
|
454
451
|
```python
|
|
455
452
|
import pulumi
|
|
456
453
|
import pulumi_aiven as aiven
|
|
457
454
|
|
|
458
|
-
flink = aiven.get_flink(project=
|
|
455
|
+
flink = aiven.get_flink(project=pr1["project"],
|
|
459
456
|
service_name="<SERVICE_NAME>")
|
|
460
457
|
```
|
|
461
|
-
<!--End PulumiCodeChooser -->
|
|
462
458
|
|
|
463
459
|
|
|
464
|
-
:param str project:
|
|
460
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
465
461
|
:param str service_name: Specifies the actual name of the service. The name cannot be changed later without destroying and re-creating the service so name should be picked based on intended service usage rather than current attributes.
|
|
466
462
|
"""
|
|
467
463
|
...
|
|
@@ -94,7 +94,7 @@ class GetFlinkApplicationResult:
|
|
|
94
94
|
@pulumi.getter
|
|
95
95
|
def project(self) -> str:
|
|
96
96
|
"""
|
|
97
|
-
|
|
97
|
+
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
98
98
|
"""
|
|
99
99
|
return pulumi.get(self, "project")
|
|
100
100
|
|
|
@@ -102,7 +102,7 @@ class GetFlinkApplicationResult:
|
|
|
102
102
|
@pulumi.getter(name="serviceName")
|
|
103
103
|
def service_name(self) -> str:
|
|
104
104
|
"""
|
|
105
|
-
|
|
105
|
+
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
106
106
|
"""
|
|
107
107
|
return pulumi.get(self, "service_name")
|
|
108
108
|
|
|
@@ -149,21 +149,19 @@ def get_flink_application(name: Optional[str] = None,
|
|
|
149
149
|
|
|
150
150
|
## Example Usage
|
|
151
151
|
|
|
152
|
-
<!--Start PulumiCodeChooser -->
|
|
153
152
|
```python
|
|
154
153
|
import pulumi
|
|
155
154
|
import pulumi_aiven as aiven
|
|
156
155
|
|
|
157
|
-
app1 = aiven.get_flink_application(project=
|
|
156
|
+
app1 = aiven.get_flink_application(project=pr1["project"],
|
|
158
157
|
service_name="<SERVICE_NAME>",
|
|
159
158
|
name="<APPLICATION_NAME>")
|
|
160
159
|
```
|
|
161
|
-
<!--End PulumiCodeChooser -->
|
|
162
160
|
|
|
163
161
|
|
|
164
162
|
:param str name: Application name
|
|
165
|
-
:param str project:
|
|
166
|
-
:param str service_name:
|
|
163
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
164
|
+
:param str service_name: The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
167
165
|
"""
|
|
168
166
|
__args__ = dict()
|
|
169
167
|
__args__['name'] = name
|
|
@@ -194,20 +192,18 @@ def get_flink_application_output(name: Optional[pulumi.Input[str]] = None,
|
|
|
194
192
|
|
|
195
193
|
## Example Usage
|
|
196
194
|
|
|
197
|
-
<!--Start PulumiCodeChooser -->
|
|
198
195
|
```python
|
|
199
196
|
import pulumi
|
|
200
197
|
import pulumi_aiven as aiven
|
|
201
198
|
|
|
202
|
-
app1 = aiven.get_flink_application(project=
|
|
199
|
+
app1 = aiven.get_flink_application(project=pr1["project"],
|
|
203
200
|
service_name="<SERVICE_NAME>",
|
|
204
201
|
name="<APPLICATION_NAME>")
|
|
205
202
|
```
|
|
206
|
-
<!--End PulumiCodeChooser -->
|
|
207
203
|
|
|
208
204
|
|
|
209
205
|
:param str name: Application name
|
|
210
|
-
:param str project:
|
|
211
|
-
:param str service_name:
|
|
206
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
207
|
+
:param str service_name: The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
212
208
|
"""
|
|
213
209
|
...
|
|
@@ -107,7 +107,7 @@ class GetFlinkApplicationVersionResult:
|
|
|
107
107
|
@pulumi.getter
|
|
108
108
|
def project(self) -> str:
|
|
109
109
|
"""
|
|
110
|
-
|
|
110
|
+
The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
111
111
|
"""
|
|
112
112
|
return pulumi.get(self, "project")
|
|
113
113
|
|
|
@@ -115,7 +115,7 @@ class GetFlinkApplicationVersionResult:
|
|
|
115
115
|
@pulumi.getter(name="serviceName")
|
|
116
116
|
def service_name(self) -> str:
|
|
117
117
|
"""
|
|
118
|
-
|
|
118
|
+
The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
119
119
|
"""
|
|
120
120
|
return pulumi.get(self, "service_name")
|
|
121
121
|
|
|
@@ -199,23 +199,21 @@ def get_flink_application_version(application_id: Optional[str] = None,
|
|
|
199
199
|
|
|
200
200
|
## Example Usage
|
|
201
201
|
|
|
202
|
-
<!--Start PulumiCodeChooser -->
|
|
203
202
|
```python
|
|
204
203
|
import pulumi
|
|
205
204
|
import pulumi_aiven as aiven
|
|
206
205
|
|
|
207
|
-
app1 = aiven.get_flink_application_version(project=
|
|
206
|
+
app1 = aiven.get_flink_application_version(project=pr1["project"],
|
|
208
207
|
service_name="<SERVICE_NAME>",
|
|
209
208
|
application_id="<APPLICATION_ID>",
|
|
210
209
|
application_version_id="<APPLICATION_VERSION_ID>")
|
|
211
210
|
```
|
|
212
|
-
<!--End PulumiCodeChooser -->
|
|
213
211
|
|
|
214
212
|
|
|
215
213
|
:param str application_id: Application ID
|
|
216
214
|
:param str application_version_id: Application version ID
|
|
217
|
-
:param str project:
|
|
218
|
-
:param str service_name:
|
|
215
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
216
|
+
:param str service_name: The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
219
217
|
"""
|
|
220
218
|
__args__ = dict()
|
|
221
219
|
__args__['applicationId'] = application_id
|
|
@@ -252,22 +250,20 @@ def get_flink_application_version_output(application_id: Optional[pulumi.Input[s
|
|
|
252
250
|
|
|
253
251
|
## Example Usage
|
|
254
252
|
|
|
255
|
-
<!--Start PulumiCodeChooser -->
|
|
256
253
|
```python
|
|
257
254
|
import pulumi
|
|
258
255
|
import pulumi_aiven as aiven
|
|
259
256
|
|
|
260
|
-
app1 = aiven.get_flink_application_version(project=
|
|
257
|
+
app1 = aiven.get_flink_application_version(project=pr1["project"],
|
|
261
258
|
service_name="<SERVICE_NAME>",
|
|
262
259
|
application_id="<APPLICATION_ID>",
|
|
263
260
|
application_version_id="<APPLICATION_VERSION_ID>")
|
|
264
261
|
```
|
|
265
|
-
<!--End PulumiCodeChooser -->
|
|
266
262
|
|
|
267
263
|
|
|
268
264
|
:param str application_id: Application ID
|
|
269
265
|
:param str application_version_id: Application version ID
|
|
270
|
-
:param str project:
|
|
271
|
-
:param str service_name:
|
|
266
|
+
:param str project: The name of the project this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
267
|
+
:param str service_name: The name of the service that this resource belongs to. To set up proper dependencies please refer to this variable as a reference. Changing this property forces recreation of the resource.
|
|
272
268
|
"""
|
|
273
269
|
...
|