def create_vpn_gateway(DryRun=None, Type=None, AvailabilityZone=None):
    """
    Creates a virtual private gateway. A virtual private gateway is the endpoint on the VPC side of your VPN connection. You can create a virtual private gateway before creating the VPC itself.
    For more information about virtual private gateways, see Adding a Hardware Virtual Private Gateway to Your VPC in the Amazon Virtual Private Cloud User Guide .
    See also: AWS API Documentation
    
    
    :example: response = client.create_vpn_gateway(
        DryRun=True|False,
        Type='ipsec.1',
        AvailabilityZone='string'
    )
    
    
    :type DryRun: boolean
    :param DryRun: Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation . Otherwise, it is UnauthorizedOperation .

    :type Type: string
    :param Type: [REQUIRED]
            The type of VPN connection this virtual private gateway supports.
            

    :type AvailabilityZone: string
    :param AvailabilityZone: The Availability Zone for the virtual private gateway.

    :rtype: dict
    :return: {
        'VpnGateway': {
            'VpnGatewayId': 'string',
            'State': 'pending'|'available'|'deleting'|'deleted',
            'Type': 'ipsec.1',
            'AvailabilityZone': 'string',
            'VpcAttachments': [
                {
                    'VpcId': 'string',
                    'State': 'attaching'|'attached'|'detaching'|'detached'
                },
            ],
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ]
        }
    }
    
    
    """
    pass
