12 struct aws_credentials;
13 struct aws_imds_client;
14 struct aws_imds_instance_info;
15 struct aws_imds_iam_profile;
25 class ClientBootstrap;
130 using OnResourceAcquired = std::function<void(const StringView &resource, int errorCode, void *userData)>;
132 std::function<void(const Vector<StringView> &resource,
int errorCode,
void *userData)>;
134 std::function<void(const Auth::Credentials &credentials, int errorCode, void *userData)>;
136 std::function<void(const IamProfileView &iamProfile, int errorCode, void *userData)>;
138 std::function<void(const InstanceInfoView &instanceInfo, int errorCode, void *userData)>;
364 static void s_onResourceAcquired(
const aws_byte_buf *resource,
int erroCode,
void *userData);
366 static void s_onVectorResourceAcquired(
const aws_array_list *array,
int errorCode,
void *userData);
368 static void s_onCredentialsAcquired(
const aws_credentials *credentials,
int errorCode,
void *userData);
370 static void s_onIamProfileAcquired(
371 const aws_imds_iam_profile *iamProfileInfo,
375 static void s_onInstanceInfoAcquired(
376 const aws_imds_instance_info *instanceInfo,
380 aws_imds_client *m_client;
Definition: ImdsClient.h:140
String region
Definition: ImdsClient.h:127
DateTime lastUpdated
Definition: ImdsClient.h:57
String version
Definition: ImdsClient.h:116
std::function< void(const InstanceInfoView &instanceInfo, int errorCode, void *userData)> OnInstanceInfoAcquired
Definition: ImdsClient.h:138
std::function< void(const StringView &resource, int errorCode, void *userData)> OnResourceAcquired
Definition: ImdsClient.h:130
#define AWS_CRT_CPP_API
Definition: Exports.h:36
String instanceId
Definition: ImdsClient.h:117
StringView architecture
Definition: ImdsClient.h:96
Definition: ImdsClient.h:36
DateTime lastUpdated
Definition: ImdsClient.h:72
StringView accountId
Definition: ImdsClient.h:93
String availabilityZone
Definition: ImdsClient.h:114
Definition: ImdsClient.h:55
Vector< String > billingProducts
Definition: ImdsClient.h:119
std::function< void(const Auth::Credentials &credentials, int errorCode, void *userData)> OnCredentialsAcquired
Definition: ImdsClient.h:134
std::basic_string< char, std::char_traits< char >, StlAllocator< char >> String
Definition: Types.h:45
String architecture
Definition: ImdsClient.h:124
String kernelId
Definition: ImdsClient.h:125
Definition: ImdsClient.h:65
aws_allocator Allocator
Definition: Allocator.h:14
StringView kernelId
Definition: ImdsClient.h:97
InstanceInfo()
Definition: ImdsClient.h:107
StringView instanceProfileId
Definition: ImdsClient.h:59
DateTime pendingTime
Definition: ImdsClient.h:95
Vector< StringView > marketplaceProductCodes
Definition: ImdsClient.h:85
Definition: ImdsClient.h:105
String imageId
Definition: ImdsClient.h:122
std::function< void(const Vector< StringView > &resource, int errorCode, void *userData)> OnVectorResourceAcquired
Definition: ImdsClient.h:132
Definition: ImdsClient.h:82
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition: Allocator.cpp:24
StringView instanceProfileArn
Definition: ImdsClient.h:58
String instanceProfileId
Definition: ImdsClient.h:74
std::function< void(const IamProfileView &iamProfile, int errorCode, void *userData)> OnIamProfileAcquired
Definition: ImdsClient.h:136
IamProfile()
Definition: ImdsClient.h:67
StringView availabilityZone
Definition: ImdsClient.h:86
StringView version
Definition: ImdsClient.h:88
Vector< String > marketplaceProductCodes
Definition: ImdsClient.h:113
String privateIp
Definition: ImdsClient.h:115
Io::ClientBootstrap * Bootstrap
Definition: ImdsClient.h:47
StringView privateIp
Definition: ImdsClient.h:87
Definition: Bootstrap.h:34
String instanceProfileArn
Definition: ImdsClient.h:73
std::vector< T, StlAllocator< T >> Vector
Definition: Types.h:53
DateTime pendingTime
Definition: ImdsClient.h:123
String ramdiskId
Definition: ImdsClient.h:126
StringView region
Definition: ImdsClient.h:99
aws_imds_client * GetUnderlyingHandle()
Definition: ImdsClient.h:152
Vector< StringView > billingProducts
Definition: ImdsClient.h:91
ImdsClientConfig()
Definition: ImdsClient.h:38
Definition: DateTime.h:52
String accountId
Definition: ImdsClient.h:121
StringView instanceType
Definition: ImdsClient.h:92
Definition: StringView.h:32
StringView instanceId
Definition: ImdsClient.h:89
String instanceType
Definition: ImdsClient.h:120
Definition: Allocator.h:10
StringView imageId
Definition: ImdsClient.h:94
StringView ramdiskId
Definition: ImdsClient.h:98