12struct aws_credentials;
13struct aws_imds_client;
14struct aws_imds_instance_info;
15struct aws_imds_iam_profile;
25 class ClientBootstrap;
129 std::function<void(
const Vector<StringView> &resource,
int errorCode,
void *userData)>;
131 std::function<void(
const Auth::Credentials &credentials,
int errorCode,
void *userData)>;
133 std::function<void(
const IamProfileView &iamProfile,
int errorCode,
void *userData)>;
135 std::function<void(
const InstanceInfoView &instanceInfo,
int errorCode,
void *userData)>;
361 static void s_onResourceAcquired(
const aws_byte_buf *resource,
int erroCode,
void *userData);
363 static void s_onVectorResourceAcquired(
const aws_array_list *array,
int errorCode,
void *userData);
365 static void s_onCredentialsAcquired(
const aws_credentials *credentials,
int errorCode,
void *userData);
367 static void s_onIamProfileAcquired(
368 const aws_imds_iam_profile *iamProfileInfo,
372 static void s_onInstanceInfoAcquired(
373 const aws_imds_instance_info *instanceInfo,
377 aws_imds_client *m_client;
#define AWS_CRT_CPP_API
Definition: Exports.h:37
Definition: Credentials.h:38
Definition: DateTime.h:53
Definition: ImdsClient.h:138
ImdsClient(ImdsClient &&)=delete
aws_imds_client * GetUnderlyingHandle()
Definition: ImdsClient.h:149
ImdsClient & operator=(ImdsClient &&)=delete
ImdsClient(const ImdsClient &)=delete
ImdsClient & operator=(const ImdsClient &)=delete
Definition: Bootstrap.h:35
Definition: StringView.h:27
std::function< void(const StringView &resource, int errorCode, void *userData)> OnResourceAcquired
Definition: ImdsClient.h:127
std::function< void(const Vector< StringView > &resource, int errorCode, void *userData)> OnVectorResourceAcquired
Definition: ImdsClient.h:129
std::function< void(const Auth::Credentials &credentials, int errorCode, void *userData)> OnCredentialsAcquired
Definition: ImdsClient.h:131
std::function< void(const InstanceInfoView &instanceInfo, int errorCode, void *userData)> OnInstanceInfoAcquired
Definition: ImdsClient.h:135
std::function< void(const IamProfileView &iamProfile, int errorCode, void *userData)> OnIamProfileAcquired
Definition: ImdsClient.h:133
aws_allocator Allocator
Definition: StlAllocator.h:17
AWS_CRT_CPP_API Allocator * g_allocator
Definition: Api.cpp:21
std::basic_string< char, std::char_traits< char >, StlAllocator< char > > String
Definition: Types.h:47
std::vector< T, StlAllocator< T > > Vector
Definition: Types.h:55
Definition: ImdsClient.h:63
DateTime lastUpdated
Definition: ImdsClient.h:69
String instanceProfileArn
Definition: ImdsClient.h:70
IamProfile()
Definition: ImdsClient.h:64
String instanceProfileId
Definition: ImdsClient.h:71
Definition: ImdsClient.h:53
DateTime lastUpdated
Definition: ImdsClient.h:54
StringView instanceProfileArn
Definition: ImdsClient.h:55
StringView instanceProfileId
Definition: ImdsClient.h:56
Definition: ImdsClient.h:37
Io::ClientBootstrap * Bootstrap
Definition: ImdsClient.h:44
ImdsClientConfig()
Definition: ImdsClient.h:38
Definition: ImdsClient.h:103
String availabilityZone
Definition: ImdsClient.h:111
Vector< String > marketplaceProductCodes
Definition: ImdsClient.h:110
String region
Definition: ImdsClient.h:124
String imageId
Definition: ImdsClient.h:119
String instanceType
Definition: ImdsClient.h:117
String version
Definition: ImdsClient.h:113
String ramdiskId
Definition: ImdsClient.h:123
String privateIp
Definition: ImdsClient.h:112
InstanceInfo()
Definition: ImdsClient.h:104
String architecture
Definition: ImdsClient.h:121
String instanceId
Definition: ImdsClient.h:114
Vector< String > billingProducts
Definition: ImdsClient.h:116
String accountId
Definition: ImdsClient.h:118
String kernelId
Definition: ImdsClient.h:122
DateTime pendingTime
Definition: ImdsClient.h:120
Definition: ImdsClient.h:80
Vector< StringView > marketplaceProductCodes
Definition: ImdsClient.h:82
StringView ramdiskId
Definition: ImdsClient.h:95
StringView imageId
Definition: ImdsClient.h:91
StringView privateIp
Definition: ImdsClient.h:84
StringView region
Definition: ImdsClient.h:96
StringView version
Definition: ImdsClient.h:85
StringView kernelId
Definition: ImdsClient.h:94
Vector< StringView > billingProducts
Definition: ImdsClient.h:88
StringView architecture
Definition: ImdsClient.h:93
StringView instanceType
Definition: ImdsClient.h:89
StringView instanceId
Definition: ImdsClient.h:86
StringView availabilityZone
Definition: ImdsClient.h:83
StringView accountId
Definition: ImdsClient.h:90
DateTime pendingTime
Definition: ImdsClient.h:92