autosde_openapi_client 1.1.12 → 1.1.15
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.
- checksums.yaml +4 -4
- data/README.md +7 -0
- data/docs/Event.md +32 -0
- data/docs/EventApi.md +276 -0
- data/docs/ValidateSystem.md +26 -0
- data/docs/ValidateSystemApi.md +75 -0
- data/lib/autosde_openapi_client/api/event_api.rb +254 -0
- data/lib/autosde_openapi_client/api/validate_system_api.rb +83 -0
- data/lib/autosde_openapi_client/models/event.rb +289 -0
- data/lib/autosde_openapi_client/models/validate_system.rb +260 -0
- data/lib/autosde_openapi_client/version.rb +2 -2
- data/lib/autosde_openapi_client.rb +4 -0
- data/spec/api/event_api_spec.rb +74 -0
- data/spec/api/validate_system_api_spec.rb +45 -0
- data/spec/models/event_spec.rb +76 -0
- data/spec/models/validate_system_spec.rb +58 -0
- metadata +83 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 391bdfac46333c89f523605d5461a760f6b53f381ed23dc1a62980424d499d41
|
4
|
+
data.tar.gz: 36a876852faf6bccc3a01015a03f18fefee6eb6664714ca2c4bc307e71434dbf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81ae03c74072f8968580e97dcfdb596c86f3cf6dcdef1b9b2b30326de2cb1417fdf5e73ecb60a288f08bebc6bc164b6f167624f7617afed6a7ab689070ad03f4
|
7
|
+
data.tar.gz: 860f3a4427ec81964a7bb4e582c7e16d9fbf27c3be08c36f28bb409ab56818554384afdc2ba0643f0f44b3951413f28b9df2d404739e4e37620b3374d109b13c
|
data/README.md
CHANGED
@@ -105,6 +105,10 @@ Class | Method | HTTP request | Description
|
|
105
105
|
*AutosdeOpenapiClient::CapabilityTranslationApi* | [**capability_translations_pk_delete**](docs/CapabilityTranslationApi.md#capability_translations_pk_delete) | **DELETE** /capability-translations/{pk} |
|
106
106
|
*AutosdeOpenapiClient::CapabilityTranslationApi* | [**capability_translations_pk_get**](docs/CapabilityTranslationApi.md#capability_translations_pk_get) | **GET** /capability-translations/{pk} |
|
107
107
|
*AutosdeOpenapiClient::CapabilityTranslationApi* | [**capability_translations_post**](docs/CapabilityTranslationApi.md#capability_translations_post) | **POST** /capability-translations |
|
108
|
+
*AutosdeOpenapiClient::EventApi* | [**events_get**](docs/EventApi.md#events_get) | **GET** /events |
|
109
|
+
*AutosdeOpenapiClient::EventApi* | [**events_pk_delete**](docs/EventApi.md#events_pk_delete) | **DELETE** /events/{pk} |
|
110
|
+
*AutosdeOpenapiClient::EventApi* | [**events_pk_get**](docs/EventApi.md#events_pk_get) | **GET** /events/{pk} |
|
111
|
+
*AutosdeOpenapiClient::EventApi* | [**events_post**](docs/EventApi.md#events_post) | **POST** /events |
|
108
112
|
*AutosdeOpenapiClient::HostApi* | [**hosts_get**](docs/HostApi.md#hosts_get) | **GET** /hosts |
|
109
113
|
*AutosdeOpenapiClient::HostApi* | [**hosts_pk_delete**](docs/HostApi.md#hosts_pk_delete) | **DELETE** /hosts/{pk} |
|
110
114
|
*AutosdeOpenapiClient::HostApi* | [**hosts_pk_get**](docs/HostApi.md#hosts_pk_get) | **GET** /hosts/{pk} |
|
@@ -181,6 +185,7 @@ Class | Method | HTTP request | Description
|
|
181
185
|
*AutosdeOpenapiClient::UserApi* | [**autosde_users_pk_get**](docs/UserApi.md#autosde_users_pk_get) | **GET** /autosde-users/{pk} |
|
182
186
|
*AutosdeOpenapiClient::UserApi* | [**autosde_users_pk_put**](docs/UserApi.md#autosde_users_pk_put) | **PUT** /autosde-users/{pk} |
|
183
187
|
*AutosdeOpenapiClient::UserApi* | [**autosde_users_post**](docs/UserApi.md#autosde_users_post) | **POST** /autosde-users |
|
188
|
+
*AutosdeOpenapiClient::ValidateSystemApi* | [**validate_system_post**](docs/ValidateSystemApi.md#validate_system_post) | **POST** /validate-system |
|
184
189
|
*AutosdeOpenapiClient::VolumeApi* | [**volumes_get**](docs/VolumeApi.md#volumes_get) | **GET** /volumes |
|
185
190
|
*AutosdeOpenapiClient::VolumeApi* | [**volumes_pk_delete**](docs/VolumeApi.md#volumes_pk_delete) | **DELETE** /volumes/{pk} |
|
186
191
|
*AutosdeOpenapiClient::VolumeApi* | [**volumes_pk_get**](docs/VolumeApi.md#volumes_pk_get) | **GET** /volumes/{pk} |
|
@@ -206,6 +211,7 @@ Class | Method | HTTP request | Description
|
|
206
211
|
- [AutosdeOpenapiClient::AutoSDERole](docs/AutoSDERole.md)
|
207
212
|
- [AutosdeOpenapiClient::CapabilityTranslation](docs/CapabilityTranslation.md)
|
208
213
|
- [AutosdeOpenapiClient::CapabilityTranslationCreate](docs/CapabilityTranslationCreate.md)
|
214
|
+
- [AutosdeOpenapiClient::Event](docs/Event.md)
|
209
215
|
- [AutosdeOpenapiClient::Host](docs/Host.md)
|
210
216
|
- [AutosdeOpenapiClient::HostCluster](docs/HostCluster.md)
|
211
217
|
- [AutosdeOpenapiClient::HostClusterCreate](docs/HostClusterCreate.md)
|
@@ -247,6 +253,7 @@ Class | Method | HTTP request | Description
|
|
247
253
|
- [AutosdeOpenapiClient::User](docs/User.md)
|
248
254
|
- [AutosdeOpenapiClient::UserCreate](docs/UserCreate.md)
|
249
255
|
- [AutosdeOpenapiClient::UserUpdate](docs/UserUpdate.md)
|
256
|
+
- [AutosdeOpenapiClient::ValidateSystem](docs/ValidateSystem.md)
|
250
257
|
- [AutosdeOpenapiClient::Volume](docs/Volume.md)
|
251
258
|
- [AutosdeOpenapiClient::VolumeCreate](docs/VolumeCreate.md)
|
252
259
|
- [AutosdeOpenapiClient::VolumeResponse](docs/VolumeResponse.md)
|
data/docs/Event.md
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# AutosdeOpenapiClient::Event
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
|
5
|
+
| Name | Type | Description | Notes |
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
7
|
+
| **description** | **String** | description | [optional] |
|
8
|
+
| **error_code** | **String** | error_code | [optional] |
|
9
|
+
| **event_id** | **Integer** | event_id | [optional] |
|
10
|
+
| **event_type** | **String** | event_type | [optional] |
|
11
|
+
| **fixed** | **String** | fixed | [optional] |
|
12
|
+
| **last_timestamp** | **Time** | last_timestamp | [optional] |
|
13
|
+
| **storage_system** | [**StorageSystem**](StorageSystem.md) | | [optional] |
|
14
|
+
| **uuid** | **String** | uuid | [optional] |
|
15
|
+
|
16
|
+
## Example
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
require 'autosde_openapi_client'
|
20
|
+
|
21
|
+
instance = AutosdeOpenapiClient::Event.new(
|
22
|
+
description: null,
|
23
|
+
error_code: null,
|
24
|
+
event_id: null,
|
25
|
+
event_type: null,
|
26
|
+
fixed: null,
|
27
|
+
last_timestamp: null,
|
28
|
+
storage_system: null,
|
29
|
+
uuid: null
|
30
|
+
)
|
31
|
+
```
|
32
|
+
|
data/docs/EventApi.md
ADDED
@@ -0,0 +1,276 @@
|
|
1
|
+
# AutosdeOpenapiClient::EventApi
|
2
|
+
|
3
|
+
All URIs are relative to *http://localhost:9000/site-manager/api/v1/engine*
|
4
|
+
|
5
|
+
| Method | HTTP request | Description |
|
6
|
+
| ------ | ------------ | ----------- |
|
7
|
+
| [**events_get**](EventApi.md#events_get) | **GET** /events | |
|
8
|
+
| [**events_pk_delete**](EventApi.md#events_pk_delete) | **DELETE** /events/{pk} | |
|
9
|
+
| [**events_pk_get**](EventApi.md#events_pk_get) | **GET** /events/{pk} | |
|
10
|
+
| [**events_post**](EventApi.md#events_post) | **POST** /events | |
|
11
|
+
|
12
|
+
|
13
|
+
## events_get
|
14
|
+
|
15
|
+
> <Array<Event>> events_get
|
16
|
+
|
17
|
+
|
18
|
+
|
19
|
+
### Examples
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
require 'time'
|
23
|
+
require 'autosde_openapi_client'
|
24
|
+
# setup authorization
|
25
|
+
AutosdeOpenapiClient.configure do |config|
|
26
|
+
# Configure Bearer authorization: bearerAuth
|
27
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
28
|
+
end
|
29
|
+
|
30
|
+
api_instance = AutosdeOpenapiClient::EventApi.new
|
31
|
+
|
32
|
+
begin
|
33
|
+
|
34
|
+
result = api_instance.events_get
|
35
|
+
p result
|
36
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
37
|
+
puts "Error when calling EventApi->events_get: #{e}"
|
38
|
+
end
|
39
|
+
```
|
40
|
+
|
41
|
+
#### Using the events_get_with_http_info variant
|
42
|
+
|
43
|
+
This returns an Array which contains the response data, status code and headers.
|
44
|
+
|
45
|
+
> <Array(<Array<Event>>, Integer, Hash)> events_get_with_http_info
|
46
|
+
|
47
|
+
```ruby
|
48
|
+
begin
|
49
|
+
|
50
|
+
data, status_code, headers = api_instance.events_get_with_http_info
|
51
|
+
p status_code # => 2xx
|
52
|
+
p headers # => { ... }
|
53
|
+
p data # => <Array<Event>>
|
54
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
55
|
+
puts "Error when calling EventApi->events_get_with_http_info: #{e}"
|
56
|
+
end
|
57
|
+
```
|
58
|
+
|
59
|
+
### Parameters
|
60
|
+
|
61
|
+
This endpoint does not need any parameter.
|
62
|
+
|
63
|
+
### Return type
|
64
|
+
|
65
|
+
[**Array<Event>**](Event.md)
|
66
|
+
|
67
|
+
### Authorization
|
68
|
+
|
69
|
+
[bearerAuth](../README.md#bearerAuth)
|
70
|
+
|
71
|
+
### HTTP request headers
|
72
|
+
|
73
|
+
- **Content-Type**: Not defined
|
74
|
+
- **Accept**: */*
|
75
|
+
|
76
|
+
|
77
|
+
## events_pk_delete
|
78
|
+
|
79
|
+
> <Array<Event>> events_pk_delete(pk)
|
80
|
+
|
81
|
+
|
82
|
+
|
83
|
+
### Examples
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
require 'time'
|
87
|
+
require 'autosde_openapi_client'
|
88
|
+
# setup authorization
|
89
|
+
AutosdeOpenapiClient.configure do |config|
|
90
|
+
# Configure Bearer authorization: bearerAuth
|
91
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
92
|
+
end
|
93
|
+
|
94
|
+
api_instance = AutosdeOpenapiClient::EventApi.new
|
95
|
+
pk = 56 # Integer |
|
96
|
+
|
97
|
+
begin
|
98
|
+
|
99
|
+
result = api_instance.events_pk_delete(pk)
|
100
|
+
p result
|
101
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
102
|
+
puts "Error when calling EventApi->events_pk_delete: #{e}"
|
103
|
+
end
|
104
|
+
```
|
105
|
+
|
106
|
+
#### Using the events_pk_delete_with_http_info variant
|
107
|
+
|
108
|
+
This returns an Array which contains the response data, status code and headers.
|
109
|
+
|
110
|
+
> <Array(<Array<Event>>, Integer, Hash)> events_pk_delete_with_http_info(pk)
|
111
|
+
|
112
|
+
```ruby
|
113
|
+
begin
|
114
|
+
|
115
|
+
data, status_code, headers = api_instance.events_pk_delete_with_http_info(pk)
|
116
|
+
p status_code # => 2xx
|
117
|
+
p headers # => { ... }
|
118
|
+
p data # => <Array<Event>>
|
119
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
120
|
+
puts "Error when calling EventApi->events_pk_delete_with_http_info: #{e}"
|
121
|
+
end
|
122
|
+
```
|
123
|
+
|
124
|
+
### Parameters
|
125
|
+
|
126
|
+
| Name | Type | Description | Notes |
|
127
|
+
| ---- | ---- | ----------- | ----- |
|
128
|
+
| **pk** | **Integer** | | |
|
129
|
+
|
130
|
+
### Return type
|
131
|
+
|
132
|
+
[**Array<Event>**](Event.md)
|
133
|
+
|
134
|
+
### Authorization
|
135
|
+
|
136
|
+
[bearerAuth](../README.md#bearerAuth)
|
137
|
+
|
138
|
+
### HTTP request headers
|
139
|
+
|
140
|
+
- **Content-Type**: Not defined
|
141
|
+
- **Accept**: */*
|
142
|
+
|
143
|
+
|
144
|
+
## events_pk_get
|
145
|
+
|
146
|
+
> <Array<Event>> events_pk_get(pk)
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
### Examples
|
151
|
+
|
152
|
+
```ruby
|
153
|
+
require 'time'
|
154
|
+
require 'autosde_openapi_client'
|
155
|
+
# setup authorization
|
156
|
+
AutosdeOpenapiClient.configure do |config|
|
157
|
+
# Configure Bearer authorization: bearerAuth
|
158
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
159
|
+
end
|
160
|
+
|
161
|
+
api_instance = AutosdeOpenapiClient::EventApi.new
|
162
|
+
pk = 56 # Integer |
|
163
|
+
|
164
|
+
begin
|
165
|
+
|
166
|
+
result = api_instance.events_pk_get(pk)
|
167
|
+
p result
|
168
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
169
|
+
puts "Error when calling EventApi->events_pk_get: #{e}"
|
170
|
+
end
|
171
|
+
```
|
172
|
+
|
173
|
+
#### Using the events_pk_get_with_http_info variant
|
174
|
+
|
175
|
+
This returns an Array which contains the response data, status code and headers.
|
176
|
+
|
177
|
+
> <Array(<Array<Event>>, Integer, Hash)> events_pk_get_with_http_info(pk)
|
178
|
+
|
179
|
+
```ruby
|
180
|
+
begin
|
181
|
+
|
182
|
+
data, status_code, headers = api_instance.events_pk_get_with_http_info(pk)
|
183
|
+
p status_code # => 2xx
|
184
|
+
p headers # => { ... }
|
185
|
+
p data # => <Array<Event>>
|
186
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
187
|
+
puts "Error when calling EventApi->events_pk_get_with_http_info: #{e}"
|
188
|
+
end
|
189
|
+
```
|
190
|
+
|
191
|
+
### Parameters
|
192
|
+
|
193
|
+
| Name | Type | Description | Notes |
|
194
|
+
| ---- | ---- | ----------- | ----- |
|
195
|
+
| **pk** | **Integer** | | |
|
196
|
+
|
197
|
+
### Return type
|
198
|
+
|
199
|
+
[**Array<Event>**](Event.md)
|
200
|
+
|
201
|
+
### Authorization
|
202
|
+
|
203
|
+
[bearerAuth](../README.md#bearerAuth)
|
204
|
+
|
205
|
+
### HTTP request headers
|
206
|
+
|
207
|
+
- **Content-Type**: Not defined
|
208
|
+
- **Accept**: */*
|
209
|
+
|
210
|
+
|
211
|
+
## events_post
|
212
|
+
|
213
|
+
> <Event> events_post(event)
|
214
|
+
|
215
|
+
|
216
|
+
|
217
|
+
### Examples
|
218
|
+
|
219
|
+
```ruby
|
220
|
+
require 'time'
|
221
|
+
require 'autosde_openapi_client'
|
222
|
+
# setup authorization
|
223
|
+
AutosdeOpenapiClient.configure do |config|
|
224
|
+
# Configure Bearer authorization: bearerAuth
|
225
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
226
|
+
end
|
227
|
+
|
228
|
+
api_instance = AutosdeOpenapiClient::EventApi.new
|
229
|
+
event = AutosdeOpenapiClient::Event.new # Event |
|
230
|
+
|
231
|
+
begin
|
232
|
+
|
233
|
+
result = api_instance.events_post(event)
|
234
|
+
p result
|
235
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
236
|
+
puts "Error when calling EventApi->events_post: #{e}"
|
237
|
+
end
|
238
|
+
```
|
239
|
+
|
240
|
+
#### Using the events_post_with_http_info variant
|
241
|
+
|
242
|
+
This returns an Array which contains the response data, status code and headers.
|
243
|
+
|
244
|
+
> <Array(<Event>, Integer, Hash)> events_post_with_http_info(event)
|
245
|
+
|
246
|
+
```ruby
|
247
|
+
begin
|
248
|
+
|
249
|
+
data, status_code, headers = api_instance.events_post_with_http_info(event)
|
250
|
+
p status_code # => 2xx
|
251
|
+
p headers # => { ... }
|
252
|
+
p data # => <Event>
|
253
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
254
|
+
puts "Error when calling EventApi->events_post_with_http_info: #{e}"
|
255
|
+
end
|
256
|
+
```
|
257
|
+
|
258
|
+
### Parameters
|
259
|
+
|
260
|
+
| Name | Type | Description | Notes |
|
261
|
+
| ---- | ---- | ----------- | ----- |
|
262
|
+
| **event** | [**Event**](Event.md) | | |
|
263
|
+
|
264
|
+
### Return type
|
265
|
+
|
266
|
+
[**Event**](Event.md)
|
267
|
+
|
268
|
+
### Authorization
|
269
|
+
|
270
|
+
[bearerAuth](../README.md#bearerAuth)
|
271
|
+
|
272
|
+
### HTTP request headers
|
273
|
+
|
274
|
+
- **Content-Type**: application/json
|
275
|
+
- **Accept**: */*
|
276
|
+
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# AutosdeOpenapiClient::ValidateSystem
|
2
|
+
|
3
|
+
## Properties
|
4
|
+
|
5
|
+
| Name | Type | Description | Notes |
|
6
|
+
| ---- | ---- | ----------- | ----- |
|
7
|
+
| **management_ip** | **String** | management_ip | [optional] |
|
8
|
+
| **name** | **String** | name | [optional] |
|
9
|
+
| **password** | **String** | password | [optional] |
|
10
|
+
| **system_type** | **String** | system_type | [optional] |
|
11
|
+
| **user** | **String** | user | [optional] |
|
12
|
+
|
13
|
+
## Example
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
require 'autosde_openapi_client'
|
17
|
+
|
18
|
+
instance = AutosdeOpenapiClient::ValidateSystem.new(
|
19
|
+
management_ip: null,
|
20
|
+
name: null,
|
21
|
+
password: null,
|
22
|
+
system_type: null,
|
23
|
+
user: null
|
24
|
+
)
|
25
|
+
```
|
26
|
+
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# AutosdeOpenapiClient::ValidateSystemApi
|
2
|
+
|
3
|
+
All URIs are relative to *http://localhost:9000/site-manager/api/v1/engine*
|
4
|
+
|
5
|
+
| Method | HTTP request | Description |
|
6
|
+
| ------ | ------------ | ----------- |
|
7
|
+
| [**validate_system_post**](ValidateSystemApi.md#validate_system_post) | **POST** /validate-system | |
|
8
|
+
|
9
|
+
|
10
|
+
## validate_system_post
|
11
|
+
|
12
|
+
> <ValidateSystem> validate_system_post(storage_system_create)
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
### Examples
|
17
|
+
|
18
|
+
```ruby
|
19
|
+
require 'time'
|
20
|
+
require 'autosde_openapi_client'
|
21
|
+
# setup authorization
|
22
|
+
AutosdeOpenapiClient.configure do |config|
|
23
|
+
# Configure Bearer authorization: bearerAuth
|
24
|
+
config.access_token = 'YOUR_BEARER_TOKEN'
|
25
|
+
end
|
26
|
+
|
27
|
+
api_instance = AutosdeOpenapiClient::ValidateSystemApi.new
|
28
|
+
storage_system_create = AutosdeOpenapiClient::StorageSystemCreate.new # StorageSystemCreate |
|
29
|
+
|
30
|
+
begin
|
31
|
+
|
32
|
+
result = api_instance.validate_system_post(storage_system_create)
|
33
|
+
p result
|
34
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
35
|
+
puts "Error when calling ValidateSystemApi->validate_system_post: #{e}"
|
36
|
+
end
|
37
|
+
```
|
38
|
+
|
39
|
+
#### Using the validate_system_post_with_http_info variant
|
40
|
+
|
41
|
+
This returns an Array which contains the response data, status code and headers.
|
42
|
+
|
43
|
+
> <Array(<ValidateSystem>, Integer, Hash)> validate_system_post_with_http_info(storage_system_create)
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
begin
|
47
|
+
|
48
|
+
data, status_code, headers = api_instance.validate_system_post_with_http_info(storage_system_create)
|
49
|
+
p status_code # => 2xx
|
50
|
+
p headers # => { ... }
|
51
|
+
p data # => <ValidateSystem>
|
52
|
+
rescue AutosdeOpenapiClient::ApiError => e
|
53
|
+
puts "Error when calling ValidateSystemApi->validate_system_post_with_http_info: #{e}"
|
54
|
+
end
|
55
|
+
```
|
56
|
+
|
57
|
+
### Parameters
|
58
|
+
|
59
|
+
| Name | Type | Description | Notes |
|
60
|
+
| ---- | ---- | ----------- | ----- |
|
61
|
+
| **storage_system_create** | [**StorageSystemCreate**](StorageSystemCreate.md) | | |
|
62
|
+
|
63
|
+
### Return type
|
64
|
+
|
65
|
+
[**ValidateSystem**](ValidateSystem.md)
|
66
|
+
|
67
|
+
### Authorization
|
68
|
+
|
69
|
+
[bearerAuth](../README.md#bearerAuth)
|
70
|
+
|
71
|
+
### HTTP request headers
|
72
|
+
|
73
|
+
- **Content-Type**: application/json
|
74
|
+
- **Accept**: */*
|
75
|
+
|