1# Copyright 2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"). You
4# may not use this file except in compliance with the License. A copy of
5# the License is located at
6#
7# https://aws.amazon.com/apache2.0/
8#
9# or in the "license" file accompanying this file. This file is
10# distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
11# ANY KIND, either express or implied. See the License for the specific
12# language governing permissions and limitations under the License.
13from botocore.docs.docstring import LazyLoadedDocstring
14
15from boto3.docs.action import document_action
16from boto3.docs.action import document_load_reload_action
17from boto3.docs.subresource import document_sub_resource
18from boto3.docs.attr import document_attribute
19from boto3.docs.attr import document_identifier
20from boto3.docs.attr import document_reference
21from boto3.docs.collection import document_collection_object
22from boto3.docs.collection import document_collection_method
23from boto3.docs.collection import document_batch_action
24from boto3.docs.waiter import document_resource_waiter
25
26
27class ActionDocstring(LazyLoadedDocstring):
28    def _write_docstring(self, *args, **kwargs):
29        document_action(*args, **kwargs)
30
31
32class LoadReloadDocstring(LazyLoadedDocstring):
33    def _write_docstring(self, *args, **kwargs):
34        document_load_reload_action(*args, **kwargs)
35
36
37class SubResourceDocstring(LazyLoadedDocstring):
38    def _write_docstring(self, *args, **kwargs):
39        document_sub_resource(*args, **kwargs)
40
41
42class AttributeDocstring(LazyLoadedDocstring):
43    def _write_docstring(self, *args, **kwargs):
44        document_attribute(*args, **kwargs)
45
46
47class IdentifierDocstring(LazyLoadedDocstring):
48    def _write_docstring(self, *args, **kwargs):
49        document_identifier(*args, **kwargs)
50
51
52class ReferenceDocstring(LazyLoadedDocstring):
53    def _write_docstring(self, *args, **kwargs):
54        document_reference(*args, **kwargs)
55
56
57class CollectionDocstring(LazyLoadedDocstring):
58    def _write_docstring(self, *args, **kwargs):
59        document_collection_object(*args, **kwargs)
60
61
62class CollectionMethodDocstring(LazyLoadedDocstring):
63    def _write_docstring(self, *args, **kwargs):
64        document_collection_method(*args, **kwargs)
65
66
67class BatchActionDocstring(LazyLoadedDocstring):
68    def _write_docstring(self, *args, **kwargs):
69        document_batch_action(*args, **kwargs)
70
71
72class ResourceWaiterDocstring(LazyLoadedDocstring):
73    def _write_docstring(self, *args, **kwargs):
74        document_resource_waiter(*args, **kwargs)
75