Amazon.EC2.Util.ImageUtilities.FindImageAsync C# (CSharp) Метод

FindImageAsync() публичный статический Метод

Find the Amazon machine image identified by the ImageDescriptor.
public static FindImageAsync ( IAmazonEC2 ec2Client, ImageDescriptor descriptor ) : Task
ec2Client IAmazonEC2 The EC2 client used to search for the image.
descriptor ImageDescriptor The descriptor used to identify the image.
Результат Task
        public static async Task<Image> FindImageAsync(IAmazonEC2 ec2Client, ImageDescriptor descriptor)
        {
            AmazonEC2Config config = CreateConfigFromClient(ec2Client, descriptor);
            await LoadDefinitionsFromWebAsync(config).ConfigureAwait(false);

            int retryCount = 1;
            Image image = null;
            do
            {

                var result = await ec2Client.DescribeImagesAsync(CreateDescribeImagesRequest(descriptor)).ConfigureAwait(false);

                if (result.Images.Any())
                    image = result.Images.OrderByDescending(x => x.Name).First();
                else
                {
                    // backing control file may be outdated, reload and try once more
                    if (retryCount == 1)
                    {
                        Logger.InfoFormat("FindImage - DescribeImages call for image descriptor '{0}' (name prefix '{1}') yielded no results, assuming outdated control file and reloading",
                                            descriptor.DefinitionKey,
                                            descriptor.NamePrefix);
                        lock (LOCK_OBJECT)
                        {
                            ImageDefinitionsLoaded = false;
                        }

                        await LoadDefinitionsFromWebAsync(config).ConfigureAwait(false);
                    }
                    retryCount++;
                }
            } while (image == null && retryCount <= 2);

            if (image == null)
                Logger.InfoFormat("FindImage - failed to find valid AMI image for descriptor '{0}' (name prefix '{1}')",
                                    descriptor.DefinitionKey,
                                    descriptor.NamePrefix);

            return image;
        }
    }

Same methods

ImageUtilities::FindImageAsync ( IAmazonEC2 ec2Client, string imageKey ) : Task