$darkmode
Qore AwsRestClientDataProvider Module Reference 1.0
AwsRestClientDataProvider.qc.dox.h
1 // -*- mode: c++; indent-tabs-mode: nil -*-
3 
26 namespace AwsRestClientDataProvider {
29 
30 public:
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 
83 protected:
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 
95 public:
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 
127 protected:
128  *list<string> getChildProviderNamesImpl();
129 public:
130 
131 
133 
137 protected:
138  *AbstractDataProvider getChildProviderImpl(string name);
139 public:
140 
141 
143 protected:
144  hash<DataProviderInfo> getStaticInfoImpl();
145 public:
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.
*list< hash< DataProviderSummaryInfo > > getChildProviderSummaryInfo()
Return data provider summary info.
*list< string > getChildProviderNamesImpl()
Returns a list of child data provider names, if any.
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.
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)
const True
const False
Qore AwsRestClientDataProvider module definition.
Definition: AwsRestClientCallDataProvider.qc.dox.h:26