12struct aws_credentials;
13struct aws_imds_client;
14struct aws_imds_instance_info;
15struct aws_imds_iam_profile;
25 class ClientBootstrap;
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;
#define AWS_CRT_CPP_API
Definition Exports.h:36
Definition Credentials.h:38
Definition ImdsClient.h:141
ImdsClient(ImdsClient &&)=delete
aws_imds_client * GetUnderlyingHandle()
Definition ImdsClient.h:152
ImdsClient & operator=(ImdsClient &&)=delete
ImdsClient(const ImdsClient &)=delete
ImdsClient & operator=(const ImdsClient &)=delete
Definition Bootstrap.h:35
Definition StringView.h:33
std::function< void(const StringView &resource, int errorCode, void *userData)> OnResourceAcquired
Definition ImdsClient.h:130
std::function< void(const Vector< StringView > &resource, int errorCode, void *userData)> OnVectorResourceAcquired
Definition ImdsClient.h:132
std::function< void(const Auth::Credentials &credentials, int errorCode, void *userData)> OnCredentialsAcquired
Definition ImdsClient.h:134
std::function< void(const InstanceInfoView &instanceInfo, int errorCode, void *userData)> OnInstanceInfoAcquired
Definition ImdsClient.h:138
std::function< void(const IamProfileView &iamProfile, int errorCode, void *userData)> OnIamProfileAcquired
Definition ImdsClient.h:136
aws_allocator Allocator
Definition Allocator.h:14
AWS_CRT_CPP_API Allocator * ApiAllocator() noexcept
Definition Allocator.cpp:24
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition Types.h:45
std::vector< T, StlAllocator< T > > Vector
Definition Types.h:53
Definition Allocator.h:11
Definition ImdsClient.h:66
DateTime lastUpdated
Definition ImdsClient.h:72
String instanceProfileArn
Definition ImdsClient.h:73
IamProfile()
Definition ImdsClient.h:67
String instanceProfileId
Definition ImdsClient.h:74
Definition ImdsClient.h:56
DateTime lastUpdated
Definition ImdsClient.h:57
StringView instanceProfileArn
Definition ImdsClient.h:58
StringView instanceProfileId
Definition ImdsClient.h:59
Definition ImdsClient.h:37
Io::ClientBootstrap * Bootstrap
Definition ImdsClient.h:47
ImdsClientConfig()
Definition ImdsClient.h:38
Definition ImdsClient.h:106
String availabilityZone
Definition ImdsClient.h:114
Vector< String > marketplaceProductCodes
Definition ImdsClient.h:113
String region
Definition ImdsClient.h:127
String imageId
Definition ImdsClient.h:122
String instanceType
Definition ImdsClient.h:120
String version
Definition ImdsClient.h:116
String ramdiskId
Definition ImdsClient.h:126
String privateIp
Definition ImdsClient.h:115
InstanceInfo()
Definition ImdsClient.h:107
String architecture
Definition ImdsClient.h:124
String instanceId
Definition ImdsClient.h:117
Vector< String > billingProducts
Definition ImdsClient.h:119
String accountId
Definition ImdsClient.h:121
String kernelId
Definition ImdsClient.h:125
DateTime pendingTime
Definition ImdsClient.h:123
Definition ImdsClient.h:83
Vector< StringView > marketplaceProductCodes
Definition ImdsClient.h:85
StringView ramdiskId
Definition ImdsClient.h:98
StringView imageId
Definition ImdsClient.h:94
StringView privateIp
Definition ImdsClient.h:87
StringView region
Definition ImdsClient.h:99
StringView version
Definition ImdsClient.h:88
StringView kernelId
Definition ImdsClient.h:97
Vector< StringView > billingProducts
Definition ImdsClient.h:91
StringView architecture
Definition ImdsClient.h:96
StringView instanceType
Definition ImdsClient.h:92
StringView instanceId
Definition ImdsClient.h:89
StringView availabilityZone
Definition ImdsClient.h:86
StringView accountId
Definition ImdsClient.h:93
DateTime pendingTime
Definition ImdsClient.h:95