Amazon.EC2.AmazonEC2Client.DescribeSubnetsAsync C# (CSharp) Method

DescribeSubnetsAsync() public method

Initiates the asynchronous execution of the DescribeSubnets operation.
public DescribeSubnetsAsync ( DescribeSubnetsRequest request, System cancellationToken = default(CancellationToken) ) : Task
request DescribeSubnetsRequest Container for the necessary parameters to execute the DescribeSubnets operation.
cancellationToken System /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. ///
return Task
        public Task<DescribeSubnetsResponse> DescribeSubnetsAsync(DescribeSubnetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller = new DescribeSubnetsRequestMarshaller();
            var unmarshaller = DescribeSubnetsResponseUnmarshaller.Instance;

            return InvokeAsync<DescribeSubnetsRequest,DescribeSubnetsResponse>(request, marshaller, 
                unmarshaller, cancellationToken);
        }

Same methods

AmazonEC2Client::DescribeSubnetsAsync ( System cancellationToken = default(CancellationToken) ) : Task

Usage Example

        public async Task<string> GetPrivateSubnetIdAsync(string vpcId, string availabilityZone)
        {
            using (var ec2Client = new AmazonEC2Client(credentials, ec2ConfigurationProvider.RegionEndpoint))
            {
                var allSubnetsInMyVpcAndAz = await ec2Client.DescribeSubnetsAsync(new DescribeSubnetsRequest
                {
                    Filters = new List<Filter>
                    {
                        new Filter {Name = "vpc-id", Values = new List<string> {vpcId}},
                        new Filter {Name = "availabilityZone", Values = new List<string> {availabilityZone}}
                    }
                });

                var privateSubnet = allSubnetsInMyVpcAndAz.Subnets.SingleOrDefault(s => s.Tags.Any(t =>
                    string.Equals(t.Key, "AccessLevel", StringComparison.CurrentCultureIgnoreCase) &&
                    string.Equals(t.Value, "private", StringComparison.CurrentCultureIgnoreCase)));
                if (privateSubnet == null)
                {
                    var message = $"Could not locate private subnet for vpc:{vpcId} and az:{availabilityZone}";
                    loggerProvider.GetLogger().Error(message);
                    throw new Ec2ServiceException(message);
                }

                return privateSubnet.SubnetId;
            }
        }
All Usage Examples Of Amazon.EC2.AmazonEC2Client::DescribeSubnetsAsync
AmazonEC2Client