Qore AwsRestClientDataProvider Module Reference 1.0
Loading...
Searching...
No Matches
AwsRestClientDataProvider.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
29
30public:
32 const ProviderInfo = <DataProviderInfo>{
33 "type": "AwsRestClientDataProvider",
34 "constructor_options": ConstructorOptions,
35 "supports_children": True,
36 "children_can_support_apis": True,
37 "children_can_support_records": False,
38 "children_can_support_observers": False,
39 };
40
42 const ConstructorOptions = RestClientDataProvider::ConstructorOptions + {
43 "data": <DataProviderOptionInfo>{
44 "type": AbstractDataProviderType::get(StringType),
45 "desc": "Data serialization options are limited to `json` with this object",
46 "allowed_values": (
47 <AllowedValueInfo>{
48 "value": "json",
49 "desc": "use JSON serialization",
50 },
51 ),
52 "default_value": "json",
53 },
54 "aws_keyid": <DataProviderOptionInfo>{
55 "type": AbstractDataProviderType::get(StringType),
56 "desc": "AWS key ID",
57 },
58 "aws_secret": <DataProviderOptionInfo>{
59 "type": AbstractDataProviderType::get(StringType),
60 "desc": "The AWS secret access key value",
61 "sensitive": True,
62 },
63 "aws_region": <DataProviderOptionInfo>{
64 "type": AbstractDataProviderType::get(StringType),
65 "desc": "The AWS region to use (ex: `us-east-1`)",
66 },
67 "aws_service": <DataProviderOptionInfo>{
68 "type": AbstractDataProviderType::get(StringType),
69 "desc": "The AWS service to use (ex: `iam`)",
70 },
71 "aws_s3": <DataProviderOptionInfo>{
72 "type": AbstractDataProviderType::get(BoolType),
73 "desc": "Set to `True` to flag this object for use with AWS S3, which requires special "
74 "message encoding",
75 "default_value": False,
76 },
77 "aws_token": <DataProviderOptionInfo>{
78 "type": AbstractDataProviderType::get(StringType),
79 "desc": "A temporary session token from AWS Security Token Service for this HTTP session",
80 },
81 };
82
83protected:
84 const ChildMap = {
85 "call": Class::forName("AwsRestClientDataProvider::AwsRestClientCallDataProvider"),
86 "delete": Class::forName("AwsRestClientDataProvider::AwsRestClientDeleteDataProvider"),
87 "get": Class::forName("AwsRestClientDataProvider::AwsRestClientGetDataProvider"),
88 "head": Class::forName("AwsRestClientDataProvider::AwsRestClientHeadDataProvider"),
89 "options": Class::forName("AwsRestClientDataProvider::AwsRestClientOptionsDataProvider"),
90 "path": Class::forName("AwsRestClientDataProvider::AwsRestClientPatchDataProvider"),
91 "post": Class::forName("AwsRestClientDataProvider::AwsRestClientPostDataProvider"),
92 "put": Class::forName("AwsRestClientDataProvider::AwsRestClientPutDataProvider"),
93 };
94
95public:
96
98 constructor(*hash<auto> options);
99
100
102 constructor(AwsRestClient rest) ;
103
104
106 string getName();
107
108
110 *string getDesc();
111
112
114 *list<hash<DataProviderSummaryInfo>> getChildProviderSummaryInfo();
115
116
118 setLogger(*LoggerInterface logger);
119
120
122 static AwsRestClient getAwsRestConnection(hash<auto> options);
123
125
127protected:
129public:
130
131
133
137protected:
138 *AbstractDataProvider getChildProviderImpl(string name);
139public:
140
141
143protected:
144 hash<DataProviderInfo> getStaticInfoImpl();
145public:
146
147};
148};
The AWS REST client base data provider class.
Definition: AwsRestClientDataProviderBase.qc.dox.h:28
static AwsRestClient getAwsRestConnection(hash< auto > options)
Returns a REST connection.
constructor(AwsRestClient rest)
Creates the object from a REST connection.
string getName()
Returns the data provider name.
constructor(*hash< auto > options)
Creates the object from constructor options.
*AbstractDataProvider getChildProviderImpl(string name)
Returns the given child provider or NOTHING if the given child is unknown.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
*list< hash< DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
hash< DataProviderInfo > getStaticInfoImpl()
Returns data provider static info.
*string getDesc()
Returns the data provider description.
setLogger(*LoggerInterface logger)
Accepts a LoggerInterface object for logging (or clears it)
Qore AwsRestClientDataProvider module definition.
Definition: AwsRestClientCallDataProvider.qc.dox.h:26