def METHOD_NAME():
    module = AnsibleModule(
        argument_spec=dict(
            mon_ip=dict(type='str', required=True),
            image=dict(type='str', required=False),
            docker=dict(type='bool', required=False, default=False),
            fsid=dict(type='str', required=False),
            pull=dict(type='bool', required=False, default=True),
            dashboard=dict(type='bool', required=False, default=True),
            dashboard_user=dict(type='str', required=False),
            dashboard_password=dict(type='str', required=False, no_log=True),
            monitoring=dict(type='bool', required=False, default=True),
            firewalld=dict(type='bool', required=False, default=True),
            allow_overwrite=dict(type='bool', required=False, default=False),
            registry_url=dict(type='str', require=False),
            registry_username=dict(type='str', require=False),
            registry_password=dict(type='str', require=False, no_log=True),
            registry_json=dict(type='path', require=False),
            ssh_user=dict(type='str', required=False),
            ssh_config=dict(type='str', required=False),
        ),
        supports_check_mode=True,
        mutually_exclusive=[
            ('registry_json', 'registry_url'),
            ('registry_json', 'registry_username'),
            ('registry_json', 'registry_password'),
        ],
        required_together=[
            ('registry_url', 'registry_username', 'registry_password')
        ],
    )
    mon_ip = module.params.get('mon_ip')
    docker = module.params.get('docker')
    image = module.params.get('image')
    fsid = module.params.get('fsid')
    pull = module.params.get('pull')
    dashboard = module.params.get('dashboard')
    dashboard_user = module.params.get('dashboard_user')
    dashboard_password = module.params.get('dashboard_password')
    monitoring = module.params.get('monitoring')
    firewalld = module.params.get('firewalld')
    allow_overwrite = module.params.get('allow_overwrite')
    registry_url = module.params.get('registry_url')
    registry_username = module.params.get('registry_username')
    registry_password = module.params.get('registry_password')
    registry_json = module.params.get('registry_json')
    ssh_user = module.params.get('ssh_user')
    ssh_config = module.params.get('ssh_config')
    startd = datetime.datetime.now()
    cmd = ['cephadm']
    if docker:
        cmd.append('--docker')
    if image:
        cmd.extend(['--image', image])
    cmd.extend(['bootstrap', '--mon-ip', mon_ip])
    if fsid:
        cmd.extend(['--fsid', fsid])
    if not pull:
        cmd.append('--skip-pull')
    if dashboard:
        if dashboard_user:
            cmd.extend(['--initial-dashboard-user', dashboard_user])
        if dashboard_password:
            cmd.extend(['--initial-dashboard-password', dashboard_password])
    else:
        cmd.append('--skip-dashboard')
    if not monitoring:
        cmd.append('--skip-monitoring-stack')
    if not firewalld:
        cmd.append('--skip-firewalld')
    if allow_overwrite:
        cmd.append('--allow-overwrite')
    if registry_url and registry_username and registry_password:
        cmd.extend(['--registry-url', registry_url,
                    '--registry-username', registry_username,
                    '--registry-password', registry_password])
    if registry_json:
        cmd.extend(['--registry-json', registry_json])
    if ssh_user:
        cmd.extend(['--ssh-user', ssh_user])
    if ssh_config:
        cmd.extend(['--ssh-config', ssh_config])
    if module.check_mode:
        exit_module(
            module=module,
            out='',
            rc=0,
            cmd=cmd,
            err='',
            startd=startd,
            changed=False
        )
    else:
        rc, out, err = module.run_command(cmd)
        exit_module(
            module=module,
            out=out,
            rc=rc,
            cmd=cmd,
            err=err,
            startd=startd,
            changed=True
        )