1: <?php
2:
3: declare(strict_types=1);
4:
5: /**
6: * SPDX-License-Identifier: Apache-2.0
7: *
8: * The OpenSearch Contributors require contributions made to
9: * this file be licensed under the Apache-2.0 license or a
10: * compatible open source license.
11: *
12: * Modifications Copyright OpenSearch Contributors. See
13: * GitHub history for details.
14: */
15:
16: namespace OpenSearch\Namespaces;
17:
18: use OpenSearch\Endpoints\Notifications\CreateConfig;
19: use OpenSearch\Endpoints\Notifications\DeleteConfig;
20: use OpenSearch\Endpoints\Notifications\DeleteConfigs;
21: use OpenSearch\Endpoints\Notifications\GetConfig;
22: use OpenSearch\Endpoints\Notifications\GetConfigs;
23: use OpenSearch\Endpoints\Notifications\ListChannels;
24: use OpenSearch\Endpoints\Notifications\ListFeatures;
25: use OpenSearch\Endpoints\Notifications\SendTest;
26: use OpenSearch\Endpoints\Notifications\UpdateConfig;
27:
28: /**
29: * Class NotificationsNamespace
30: *
31: * NOTE: This file is autogenerated using util/GenerateEndpoints.php
32: */
33: class NotificationsNamespace extends AbstractNamespace
34: {
35: /**
36: * Create channel configuration.
37: *
38: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
39: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
40: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
41: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
42: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
43: *
44: * @param array $params Associative array of parameters
45: * @return array
46: */
47: public function createConfig(array $params = [])
48: {
49: $body = $this->extractArgument($params, 'body');
50:
51: $endpoint = $this->endpointFactory->getEndpoint(CreateConfig::class);
52: $endpoint->setParams($params);
53: $endpoint->setBody($body);
54:
55: return $this->performRequest($endpoint);
56: }
57:
58: /**
59: * Delete a channel configuration.
60: *
61: * $params['config_id'] = (string) The ID of the channel configuration to delete.
62: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
63: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
64: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
65: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
66: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
67: *
68: * @param array $params Associative array of parameters
69: * @return array
70: */
71: public function deleteConfig(array $params = [])
72: {
73: $config_id = $this->extractArgument($params, 'config_id');
74:
75: $endpoint = $this->endpointFactory->getEndpoint(DeleteConfig::class);
76: $endpoint->setParams($params);
77: $endpoint->setConfigId($config_id);
78:
79: return $this->performRequest($endpoint);
80: }
81:
82: /**
83: * Delete multiple channel configurations.
84: *
85: * $params['config_id'] = (string) The ID of the channel configuration to delete.
86: * $params['config_id_list'] = (string) A comma-separated list of channel IDs to delete.
87: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
88: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
89: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
90: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
91: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
92: *
93: * @param array $params Associative array of parameters
94: * @return array
95: */
96: public function deleteConfigs(array $params = [])
97: {
98: $endpoint = $this->endpointFactory->getEndpoint(DeleteConfigs::class);
99: $endpoint->setParams($params);
100:
101: return $this->performRequest($endpoint);
102: }
103:
104: /**
105: * Get a specific channel configuration.
106: *
107: * $params['config_id'] = (string)
108: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
109: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
110: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
111: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
112: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
113: *
114: * @param array $params Associative array of parameters
115: * @return array
116: */
117: public function getConfig(array $params = [])
118: {
119: $config_id = $this->extractArgument($params, 'config_id');
120:
121: $endpoint = $this->endpointFactory->getEndpoint(GetConfig::class);
122: $endpoint->setParams($params);
123: $endpoint->setConfigId($config_id);
124:
125: return $this->performRequest($endpoint);
126: }
127:
128: /**
129: * Get multiple channel configurations with filtering.
130: *
131: * $params['chime.url'] = (string)
132: * $params['chime.url.keyword'] = (string)
133: * $params['config_id'] = (string) Notification configuration ID.
134: * $params['config_id_list'] = (array) Notification configuration IDs.
135: * $params['config_type'] = (enum) Type of notification configuration. (Options = chime,email,email_group,microsoft_teams,ses_account,slack,smtp_account,sns,webhook)
136: * $params['created_time_ms'] = (integer)
137: * $params['description'] = (string)
138: * $params['description.keyword'] = (string)
139: * $params['email.email_account_id'] = (string)
140: * $params['email.email_group_id_list'] = (string)
141: * $params['email.recipient_list.recipient'] = (string)
142: * $params['email.recipient_list.recipient.keyword'] = (string)
143: * $params['email_group.recipient_list.recipient'] = (string)
144: * $params['email_group.recipient_list.recipient.keyword'] = (string)
145: * $params['is_enabled'] = (boolean)
146: * $params['last_updated_time_ms'] = (integer)
147: * $params['microsoft_teams.url'] = (string)
148: * $params['microsoft_teams.url.keyword'] = (string)
149: * $params['name'] = (string)
150: * $params['name.keyword'] = (string)
151: * $params['query'] = (string)
152: * $params['ses_account.from_address'] = (string)
153: * $params['ses_account.from_address.keyword'] = (string)
154: * $params['ses_account.region'] = (string)
155: * $params['ses_account.role_arn'] = (string)
156: * $params['ses_account.role_arn.keyword'] = (string)
157: * $params['slack.url'] = (string)
158: * $params['slack.url.keyword'] = (string)
159: * $params['smtp_account.from_address'] = (string)
160: * $params['smtp_account.from_address.keyword'] = (string)
161: * $params['smtp_account.host'] = (string)
162: * $params['smtp_account.host.keyword'] = (string)
163: * $params['smtp_account.method'] = (string)
164: * $params['sns.role_arn'] = (string)
165: * $params['sns.role_arn.keyword'] = (string)
166: * $params['sns.topic_arn'] = (string)
167: * $params['sns.topic_arn.keyword'] = (string)
168: * $params['text_query'] = (string)
169: * $params['webhook.url'] = (string)
170: * $params['webhook.url.keyword'] = (string)
171: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
172: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
173: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
174: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
175: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
176: *
177: * @param array $params Associative array of parameters
178: * @return array
179: */
180: public function getConfigs(array $params = [])
181: {
182: $body = $this->extractArgument($params, 'body');
183:
184: $endpoint = $this->endpointFactory->getEndpoint(GetConfigs::class);
185: $endpoint->setParams($params);
186: $endpoint->setBody($body);
187:
188: return $this->performRequest($endpoint);
189: }
190:
191: /**
192: * List created notification channels.
193: *
194: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
195: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
196: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
197: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
198: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
199: *
200: * @param array $params Associative array of parameters
201: * @return array
202: */
203: public function listChannels(array $params = [])
204: {
205: $endpoint = $this->endpointFactory->getEndpoint(ListChannels::class);
206: $endpoint->setParams($params);
207:
208: return $this->performRequest($endpoint);
209: }
210:
211: /**
212: * List supported channel configurations.
213: *
214: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
215: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
216: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
217: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
218: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
219: *
220: * @param array $params Associative array of parameters
221: * @return array
222: */
223: public function listFeatures(array $params = [])
224: {
225: $endpoint = $this->endpointFactory->getEndpoint(ListFeatures::class);
226: $endpoint->setParams($params);
227:
228: return $this->performRequest($endpoint);
229: }
230:
231: /**
232: * Send a test notification.
233: *
234: * $params['config_id'] = (string)
235: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
236: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
237: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
238: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
239: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
240: *
241: * @param array $params Associative array of parameters
242: * @return array
243: */
244: public function sendTest(array $params = [])
245: {
246: $config_id = $this->extractArgument($params, 'config_id');
247:
248: $endpoint = $this->endpointFactory->getEndpoint(SendTest::class);
249: $endpoint->setParams($params);
250: $endpoint->setConfigId($config_id);
251:
252: return $this->performRequest($endpoint);
253: }
254:
255: /**
256: * Update channel configuration.
257: *
258: * $params['config_id'] = (string)
259: * $params['pretty'] = (boolean) Whether to pretty format the returned JSON response. (Default = false)
260: * $params['human'] = (boolean) Whether to return human readable values for statistics. (Default = true)
261: * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false)
262: * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests.
263: * $params['filter_path'] = (any) Used to reduce the response. This parameter takes a comma-separated list of filters. It supports using wildcards to match any field or part of a field’s name. You can also exclude fields with "-".
264: *
265: * @param array $params Associative array of parameters
266: * @return array
267: */
268: public function updateConfig(array $params = [])
269: {
270: $config_id = $this->extractArgument($params, 'config_id');
271: $body = $this->extractArgument($params, 'body');
272:
273: $endpoint = $this->endpointFactory->getEndpoint(UpdateConfig::class);
274: $endpoint->setParams($params);
275: $endpoint->setConfigId($config_id);
276: $endpoint->setBody($body);
277:
278: return $this->performRequest($endpoint);
279: }
280:
281: }
282: