@@ -40,6 +40,32 @@ defmodule AWS.Synthetics do
4040 }
4141 end
4242
43+ @ doc """
44+ Associates a canary with a group.
45+
46+ Using groups can help you with managing and automating your canaries, and you
47+ can also view aggregated run results and statistics for all canaries in a group.
48+
49+ You must run this operation in the Region where the canary exists.
50+ """
51+ def associate_resource ( % Client { } = client , group_identifier , input , options \\ [ ] ) do
52+ url_path = "/group/#{ AWS.Util . encode_uri ( group_identifier ) } /associate"
53+ headers = [ ]
54+ query_params = [ ]
55+
56+ Request . request_rest (
57+ client ,
58+ metadata ( ) ,
59+ :patch ,
60+ url_path ,
61+ query_params ,
62+ headers ,
63+ input ,
64+ options ,
65+ nil
66+ )
67+ end
68+
4369 @ doc """
4470 Creates a canary.
4571
@@ -52,7 +78,7 @@ defmodule AWS.Synthetics do
5278 [UpdateCanary](https://docs.aws.amazon.com/AmazonSynthetics/latest/APIReference/API_UpdateCanary.html) instead.
5379
5480 To create canaries, you must have the `CloudWatchSyntheticsFullAccess` policy.
55- If you are creating a new IAM role for the canary, you also need the the
81+ If you are creating a new IAM role for the canary, you also need the
5682 `iam:CreateRole`, `iam:CreatePolicy` and `iam:AttachRolePolicy` permissions. For
5783 more information, see [Necessary Roles and
5884 Permissions](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Roles).
@@ -80,13 +106,51 @@ defmodule AWS.Synthetics do
80106 )
81107 end
82108
109+ @ doc """
110+ Creates a group which you can use to associate canaries with each other,
111+ including cross-Region canaries.
112+
113+ Using groups can help you with managing and automating your canaries, and you
114+ can also view aggregated run results and statistics for all canaries in a group.
115+
116+ Groups are global resources. When you create a group, it is replicated across
117+ Amazon Web Services Regions, and you can view it and add canaries to it from any
118+ Region. Although the group ARN format reflects the Region name where it was
119+ created, a group is not constrained to any Region. This means that you can put
120+ canaries from multiple Regions into the same group, and then use that group to
121+ view and manage all of those canaries in a single view.
122+
123+ Groups are supported in all Regions except the Regions that are disabled by
124+ default. For more information about these Regions, see [Enabling a Region](https://docs.aws.amazon.com/general/latest/gr/rande-manage.html#rande-manage-enable).
125+
126+ Each group can contain as many as 10 canaries. You can have as many as 20 groups
127+ in your account. Any single canary can be a member of up to 10 groups.
128+ """
129+ def create_group ( % Client { } = client , input , options \\ [ ] ) do
130+ url_path = "/group"
131+ headers = [ ]
132+ query_params = [ ]
133+
134+ Request . request_rest (
135+ client ,
136+ metadata ( ) ,
137+ :post ,
138+ url_path ,
139+ query_params ,
140+ headers ,
141+ input ,
142+ options ,
143+ nil
144+ )
145+ end
146+
83147 @ doc """
84148 Permanently deletes the specified canary.
85149
86150 If you specify `DeleteLambda` to `true`, CloudWatch Synthetics also deletes the
87151 Lambda functions and layers that are used by the canary.
88152
89- Other esources used and created by the canary are not automatically deleted.
153+ Other resources used and created by the canary are not automatically deleted.
90154 After you delete a canary that you do not intend to use again, you should also
91155 delete the following:
92156
@@ -130,6 +194,34 @@ defmodule AWS.Synthetics do
130194 )
131195 end
132196
197+ @ doc """
198+ Deletes a group.
199+
200+ The group doesn't need to be empty to be deleted. If there are canaries in the
201+ group, they are not deleted when you delete the group.
202+
203+ Groups are a global resource that appear in all Regions, but the request to
204+ delete a group must be made from its home Region. You can find the home Region
205+ of a group within its ARN.
206+ """
207+ def delete_group ( % Client { } = client , group_identifier , input , options \\ [ ] ) do
208+ url_path = "/group/#{ AWS.Util . encode_uri ( group_identifier ) } "
209+ headers = [ ]
210+ query_params = [ ]
211+
212+ Request . request_rest (
213+ client ,
214+ metadata ( ) ,
215+ :delete ,
216+ url_path ,
217+ query_params ,
218+ headers ,
219+ input ,
220+ options ,
221+ nil
222+ )
223+ end
224+
133225 @ doc """
134226 This operation returns a list of the canaries in your account, along with full
135227 details about each canary.
@@ -217,6 +309,29 @@ defmodule AWS.Synthetics do
217309 )
218310 end
219311
312+ @ doc """
313+ Removes a canary from a group.
314+
315+ You must run this operation in the Region where the canary exists.
316+ """
317+ def disassociate_resource ( % Client { } = client , group_identifier , input , options \\ [ ] ) do
318+ url_path = "/group/#{ AWS.Util . encode_uri ( group_identifier ) } /disassociate"
319+ headers = [ ]
320+ query_params = [ ]
321+
322+ Request . request_rest (
323+ client ,
324+ metadata ( ) ,
325+ :patch ,
326+ url_path ,
327+ query_params ,
328+ headers ,
329+ input ,
330+ options ,
331+ nil
332+ )
333+ end
334+
220335 @ doc """
221336 Retrieves complete information about one canary.
222337
@@ -264,7 +379,99 @@ defmodule AWS.Synthetics do
264379 end
265380
266381 @ doc """
267- Displays the tags associated with a canary.
382+ Returns information about one group.
383+
384+ Groups are a global resource, so you can use this operation from any Region.
385+ """
386+ def get_group ( % Client { } = client , group_identifier , options \\ [ ] ) do
387+ url_path = "/group/#{ AWS.Util . encode_uri ( group_identifier ) } "
388+ headers = [ ]
389+ query_params = [ ]
390+
391+ Request . request_rest (
392+ client ,
393+ metadata ( ) ,
394+ :get ,
395+ url_path ,
396+ query_params ,
397+ headers ,
398+ nil ,
399+ options ,
400+ nil
401+ )
402+ end
403+
404+ @ doc """
405+ Returns a list of the groups that the specified canary is associated with.
406+
407+ The canary that you specify must be in the current Region.
408+ """
409+ def list_associated_groups ( % Client { } = client , resource_arn , input , options \\ [ ] ) do
410+ url_path = "/resource/#{ AWS.Util . encode_uri ( resource_arn ) } /groups"
411+ headers = [ ]
412+ query_params = [ ]
413+
414+ Request . request_rest (
415+ client ,
416+ metadata ( ) ,
417+ :post ,
418+ url_path ,
419+ query_params ,
420+ headers ,
421+ input ,
422+ options ,
423+ nil
424+ )
425+ end
426+
427+ @ doc """
428+ This operation returns a list of the ARNs of the canaries that are associated
429+ with the specified group.
430+ """
431+ def list_group_resources ( % Client { } = client , group_identifier , input , options \\ [ ] ) do
432+ url_path = "/group/#{ AWS.Util . encode_uri ( group_identifier ) } /resources"
433+ headers = [ ]
434+ query_params = [ ]
435+
436+ Request . request_rest (
437+ client ,
438+ metadata ( ) ,
439+ :post ,
440+ url_path ,
441+ query_params ,
442+ headers ,
443+ input ,
444+ options ,
445+ nil
446+ )
447+ end
448+
449+ @ doc """
450+ Returns a list of all groups in the account, displaying their names, unique IDs,
451+ and ARNs.
452+
453+ The groups from all Regions are returned.
454+ """
455+ def list_groups ( % Client { } = client , input , options \\ [ ] ) do
456+ url_path = "/groups"
457+ headers = [ ]
458+ query_params = [ ]
459+
460+ Request . request_rest (
461+ client ,
462+ metadata ( ) ,
463+ :post ,
464+ url_path ,
465+ query_params ,
466+ headers ,
467+ input ,
468+ options ,
469+ nil
470+ )
471+ end
472+
473+ @ doc """
474+ Displays the tags associated with a canary or group.
268475 """
269476 def list_tags_for_resource ( % Client { } = client , resource_arn , options \\ [ ] ) do
270477 url_path = "/tags/#{ AWS.Util . encode_uri ( resource_arn ) } "
@@ -312,9 +519,8 @@ defmodule AWS.Synthetics do
312519 @ doc """
313520 Stops the canary to prevent all future runs.
314521
315- If the canary is currently running, Synthetics stops waiting for the current run
316- of the specified canary to complete. The run that is in progress completes on
317- its own, publishes metrics, and uploads artifacts, but it is not recorded in
522+ If the canary is currently running,the run that is in progress completes on its
523+ own, publishes metrics, and uploads artifacts, but it is not recorded in
318524 Synthetics as a completed run.
319525
320526 You can use `StartCanary` to start it running again with the canary’s current
@@ -339,7 +545,7 @@ defmodule AWS.Synthetics do
339545 end
340546
341547 @ doc """
342- Assigns one or more tags (key-value pairs) to the specified canary.
548+ Assigns one or more tags (key-value pairs) to the specified canary or group .
343549
344550 Tags can help you organize and categorize your resources. You can also use them
345551 to scope user permissions, by granting a user permission to access or change
@@ -348,13 +554,13 @@ defmodule AWS.Synthetics do
348554 Tags don't have any semantic meaning to Amazon Web Services and are interpreted
349555 strictly as strings of characters.
350556
351- You can use the `TagResource` action with a canary that already has tags. If you
352- specify a new tag key for the alarm , this tag is appended to the list of tags
353- associated with the alarm . If you specify a tag key that is already associated
354- with the alarm , the new tag value that you specify replaces the previous value
355- for that tag.
557+ You can use the `TagResource` action with a resource that already has tags. If
558+ you specify a new tag key for the resource , this tag is appended to the list of
559+ tags associated with the resource . If you specify a tag key that is already
560+ associated with the resource , the new tag value that you specify replaces the
561+ previous value for that tag.
356562
357- You can associate as many as 50 tags with a canary.
563+ You can associate as many as 50 tags with a canary or group .
358564 """
359565 def tag_resource ( % Client { } = client , resource_arn , input , options \\ [ ] ) do
360566 url_path = "/tags/#{ AWS.Util . encode_uri ( resource_arn ) } "
@@ -375,7 +581,7 @@ defmodule AWS.Synthetics do
375581 end
376582
377583 @ doc """
378- Removes one or more tags from the specified canary .
584+ Removes one or more tags from the specified resource .
379585 """
380586 def untag_resource ( % Client { } = client , resource_arn , input , options \\ [ ] ) do
381587 url_path = "/tags/#{ AWS.Util . encode_uri ( resource_arn ) } "
@@ -401,8 +607,7 @@ defmodule AWS.Synthetics do
401607 end
402608
403609 @ doc """
404- Use this operation to change the settings of a canary that has already been
405- created.
610+ Updates the configuration of a canary that has already been created.
406611
407612 You can't use this operation to update the tags of an existing canary. To change
408613 the tags of an existing canary, use
0 commit comments