@staticmethod
def _define_module_argument_spec():
    """
        Define the argument spec for the ansible module
        :return: argument spec dictionary
        """
    argument_spec = dict(name=dict(), template=dict(), group=dict(default=
        'Default Group'), network_id=dict(), location=dict(default=None),
        cpu=dict(default=1, type='int'), memory=dict(default=1, type='int'),
        alias=dict(default=None), password=dict(default=None, no_log=True),
        ip_address=dict(default=None), storage_type=dict(default='standard',
        choices=['standard', 'hyperscale']), type=dict(default='standard',
        choices=['standard', 'hyperscale', 'bareMetal']), primary_dns=dict(
        default=None), secondary_dns=dict(default=None), additional_disks=
        dict(type='list', default=[]), custom_fields=dict(type='list',
        default=[]), ttl=dict(default=None), managed_os=dict(type='bool',
        default=False), description=dict(default=None),
        source_server_password=dict(default=None), cpu_autoscale_policy_id=
        dict(default=None), anti_affinity_policy_id=dict(default=None),
        anti_affinity_policy_name=dict(default=None), alert_policy_id=dict(
        default=None), alert_policy_name=dict(default=None), packages=dict(
        type='list', default=[]), state=dict(default='present', choices=[
        'present', 'absent', 'started', 'stopped']), count=dict(type='int',
        default=1), exact_count=dict(type='int', default=None), min_count=
        dict(type='int', default=None), max_count=dict(type='int', default=
        None), count_group=dict(), server_ids=dict(type='list', default=[]),
        add_public_ip=dict(type='bool', default=False), public_ip_protocol=
        dict(default='TCP', choices=['TCP', 'UDP', 'ICMP']),
        public_ip_ports=dict(type='list', default=[]), configuration_id=
        dict(default=None), os_type=dict(), wait=dict(type='bool', default=
        True))
    mutually_exclusive = [['exact_count', 'count'], ['exact_count', 'state'
        ], ['min_count', 'exact_count'], ['min_count', 'count'], [
        'min_count', 'state'], ['max_count', 'exact_count'], ['max_count',
        'count'], ['max_count', 'state'], ['anti_affinity_policy_id',
        'anti_affinity_policy_name'], ['alert_policy_id', 'alert_policy_name']]
    return {'argument_spec': argument_spec, 'mutually_exclusive':
        mutually_exclusive}
