in source/ImdsClient.cpp [160:186]
void ImdsClient::s_onInstanceInfoAcquired(
const aws_imds_instance_info *instanceInfo,
int errorCode,
void *userData)
{
WrappedCallbackArgs<OnInstanceInfoAcquired> *callbackArgs =
static_cast<WrappedCallbackArgs<OnInstanceInfoAcquired> *>(userData);
InstanceInfoView info;
info.marketplaceProductCodes = ArrayListToVector<ByteCursor, StringView>(
&(instanceInfo->marketplace_product_codes), ByteCursorToStringView);
info.availabilityZone = ByteCursorToStringView(instanceInfo->availability_zone);
info.privateIp = ByteCursorToStringView(instanceInfo->private_ip);
info.version = ByteCursorToStringView(instanceInfo->version);
info.instanceId = ByteCursorToStringView(instanceInfo->instance_id);
info.billingProducts = ArrayListToVector<ByteCursor, StringView>(
&(instanceInfo->billing_products), ByteCursorToStringView);
info.instanceType = ByteCursorToStringView(instanceInfo->instance_type);
info.accountId = ByteCursorToStringView(instanceInfo->account_id);
info.imageId = ByteCursorToStringView(instanceInfo->image_id);
info.pendingTime = aws_date_time_as_epoch_secs(&(instanceInfo->pending_time));
info.architecture = ByteCursorToStringView(instanceInfo->architecture);
info.kernelId = ByteCursorToStringView(instanceInfo->kernel_id);
info.ramdiskId = ByteCursorToStringView(instanceInfo->ramdisk_id);
info.region = ByteCursorToStringView(instanceInfo->region);
callbackArgs->callback(info, errorCode, callbackArgs->userData);
Aws::Crt::Delete(callbackArgs, callbackArgs->allocator);
}