'Create a new Subnet
:type vpc_id: str
:param vpc_id: The ID of the VPC where you want to create the subnet.
:type cidr_block: str
:param cidr_block: The CIDR block you want the subnet to cover.
:type availability_zone: str
:param availability_zone: The AZ you want the subnet in
:type dry_run: bool
:param dry_run: Set to True if the operation should not actually run.
:rtype: The newly created Subnet
:return: A :class:`boto.vpc.customergateway.Subnet` object'

def create_subnet(self, vpc_id, cidr_block, availability_zone=None, dry_run=False):

    params = {'VpcId': vpc_id, 'CidrBlock': cidr_block}
    if availability_zone:
        params['AvailabilityZone'] = availability_zone
    if dry_run:
        params['DryRun'] = 'true'
    return self.get_object('CreateSubnet', params, Subnet)
