def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], required=True),
        command=dict(choices=["create", "attach"], required=True),
        block_size=dict(type="int", required=False),
        volume_name=dict(type="str", required=True),
        description=dict(type="str"),
        region=dict(type="str", required=False),
        snapshot_id=dict(type="str", required=False),
        droplet_id=dict(type="int"),
        project_name=dict(type="str",
                          aliases=["project"],
                          required=False,
                          default=""),
    )

    module = AnsibleModule(argument_spec=argument_spec)

    try:
        handle_request(module)
    except DOBlockStorageException as e:
        module.fail_json(msg=str(e), exception=traceback.format_exc())
    except KeyError as e:
        module.fail_json(msg="Unable to load %s" % e,
                         exception=traceback.format_exc())
Example #2
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(image_type=dict(
        type="str",
        required=False,
        choices=["all", "application", "distribution", "private"],
        default="all",
    ))

    module = AnsibleModule(argument_spec=argument_spec,
                           supports_check_mode=True)
    if module._name in (
            "digital_ocean_image_facts",
            "community.digitalocean.digital_ocean_image_facts",
    ):
        module.deprecate(
            "The 'digital_ocean_image_facts' module has been renamed to 'digital_ocean_image_info'",
            version="2.0.0",
            collection_name="community.digitalocean",
        )  # was Ansible 2.13

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
Example #3
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        name=dict(type="str", required=True),
        state=dict(type="str",
                   choices=["present", "absent"],
                   default="present"),
        droplet_ids=dict(type="list", elements="str", required=False),
        tags=dict(type="list", elements="str", required=False),
        inbound_rules=dict(type="list",
                           elements="dict",
                           options=inbound_spec,
                           required=False),
        outbound_rules=dict(type="list",
                            elements="dict",
                            options=outbound_spec,
                            required=False),
    ),
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_if=[("state", "present", ["inbound_rules",
                                           "outbound_rules"])],
    )

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
Example #4
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        snapshot_type=dict(
            type="str",
            required=False,
            choices=["all", "droplet", "volume", "by_id"],
            default="all",
        ),
        snapshot_id=dict(type="str", required=False),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True,
        required_if=[
            ["snapshot_type", "by_id", ["snapshot_id"]],
        ],
    )
    if module._name in (
        "digital_ocean_snapshot_facts",
        "community.digitalocean.digital_ocean_snapshot_facts",
    ):
        module.deprecate(
            "The 'digital_ocean_snapshot_facts' module has been renamed to 'digital_ocean_snapshot_info'",
            version="2.0.0",
            collection_name="community.digitalocean",
        )  # was Ansible 2.13

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
Example #5
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present"], default="present"),
        name=dict(type="str", aliases=["domain", "domain_name"],
                  required=True),
        record_id=dict(type="int"),
        type=dict(
            type="str",
            choices=["A", "AAAA", "CNAME", "MX", "TXT", "SRV", "NS", "CAA"],
        ),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True,
    )

    manager = DigitalOceanDomainRecordManager(module)

    # verify credentials and domain
    manager.check_credentials()

    state = module.params.get("state")
    record_id = module.params.get("record_id")

    if state == "present":
        if record_id:
            changed, result = manager.get_records_by_id()
        else:
            changed, result = manager.get_records()
        module.exit_json(changed=changed, data={"records": result})
Example #6
0
def main():

    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(type="str", choices=["present"], default="present"),
        region=dict(type="str", aliases=["region_id"], required=True),
        aws_access_key_id=dict(
            type="str",
            aliases=["AWS_ACCESS_KEY_ID"],
            fallback=(env_fallback, ["AWS_ACCESS_KEY_ID"]),
            required=True,
            no_log=True,
        ),
        aws_secret_access_key=dict(
            type="str",
            aliases=["AWS_SECRET_ACCESS_KEY"],
            fallback=(env_fallback, ["AWS_SECRET_ACCESS_KEY"]),
            required=True,
            no_log=True,
        ),
    )
    module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True)

    if not HAS_BOTO3:
        module.fail_json(msg=missing_required_lib("boto3"))

    run(module)
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], default="present"),
        id=dict(type="int", aliases=["database_id"]),
        name=dict(type="str", required=True),
        engine=dict(choices=["pg", "mysql", "redis", "mongodb"], required=True),
        version=dict(type="str"),
        size=dict(type="str", aliases=["size_id"], required=True),
        region=dict(type="str", aliases=["region_id"], required=True),
        num_nodes=dict(type="int", choices=[1, 2, 3], default=1),
        tags=dict(type="list", elements="str"),
        private_network_uuid=dict(type="str"),
        wait=dict(type="bool", default=True),
        wait_timeout=dict(default=600, type="int"),
        project_name=dict(type="str", aliases=["project"], required=False, default=""),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_one_of=(["id", "name"],),
        required_if=(
            [
                ("state", "present", ["name", "size", "engine", "region"]),
                ("state", "absent", ["name", "size", "engine", "region"]),
            ]
        ),
        supports_check_mode=True,
    )
    run(module)
def main():
    module = AnsibleModule(
        argument_spec=DigitalOceanHelper.digital_ocean_argument_spec(),
        supports_check_mode=True,
    )

    core(module)
Example #9
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], default="present"),
        snapshot_type=dict(type="str",
                           required=False,
                           choices=["droplet", "volume"],
                           default="droplet"),
        snapshot_name=dict(type="str"),
        snapshot_tags=dict(type="list", elements="str", default=[]),
        droplet_id=dict(type="str"),
        volume_id=dict(type="str"),
        snapshot_id=dict(type="str"),
        wait=dict(type="bool", default=True),
        wait_timeout=dict(default=120, type="int"),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_if=[
            ["state", "present", ["droplet_id", "volume_id"], True],
            ["state", "absent", ["snapshot_id"]],
        ],
        mutually_exclusive=[["droplet_id", "volume_id"]],
        supports_check_mode=True,
    )

    run(module)
Example #10
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        snapshot_type=dict(type='str',
                           required=False,
                           choices=['all', 'droplet', 'volume', 'by_id'],
                           default='all'),
        snapshot_id=dict(type='str', required=False),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_if=[
            ['snapshot_type', 'by_id', ['snapshot_id']],
        ],
    )
    if module._name in ('digital_ocean_snapshot_facts',
                        'community.digitalocean.digital_ocean_snapshot_facts'):
        module.deprecate(
            "The 'digital_ocean_snapshot_facts' module has been renamed to 'digital_ocean_snapshot_info'",
            version='2.0.0',
            collection_name='community.digitalocean')  # was Ansible 2.13

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
Example #11
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(state=dict(choices=["present", "absent"], default="present"))
    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True,
    )
    run(module)
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    module = AnsibleModule(argument_spec=argument_spec)
    if module._name in ('digital_ocean_account_facts', 'community.digitalocean.digital_ocean_account_facts'):
        module.deprecate("The 'digital_ocean_account_facts' module has been renamed to 'digital_ocean_account_info'",
                         version='2.0.0', collection_name='community.digitalocean')  # was Ansible 2.13
    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        id=dict(type="int", aliases=["database_id"]),
        name=dict(type="str"),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True,
    )
    run(module)
Example #14
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        name=dict(type="str", required=False, default=None),
        id=dict(type="str", required=False, default=None),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True,
        mutually_exclusive=[("id", "name")],
    )
    run(module)
Example #15
0
def main():
    module = AnsibleModule(
        argument_spec=DigitalOceanHelper.digital_ocean_argument_spec(),
        supports_check_mode=False,
    )

    module.deprecate(
        "The 'digital_ocean_sshkey_facts' module has been deprecated, use the new 'digital_ocean_sshkey_info' module",
        version='2.0.0',
        collection_name='community.digitalocean')  # was Ansible 2.13

    core(module)
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(state=dict(choices=['present', 'absent'],
                                    default='present'),
                         name=dict(type='str'),
                         id=dict(aliases=['droplet_id'], type='int'),
                         ip=dict(type='str'))

    module = AnsibleModule(
        argument_spec=argument_spec,
        required_one_of=(['id', 'name'], ),
    )

    run(module)
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        members=dict(type="bool", default=False),
        name=dict(type="str"),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_if=[
            ["members", True, ["name"]],
        ],
        supports_check_mode=True,
    )

    run(module)
def main():
    module = AnsibleModule(
        argument_spec=DigitalOceanHelper.digital_ocean_argument_spec(),
        supports_check_mode=True,
    )
    if module._name in (
            "digital_ocean_sshkey_facts",
            "community.digitalocean.digital_ocean_sshkey_facts",
    ):
        module.deprecate(
            "The 'digital_ocean_sshkey_facts' module has been renamed to 'digital_ocean_sshkey_info'",
            version="2.0.0",
            collection_name="community.digitalocean",
        )  # was Ansible 2.13
    core(module)
Example #19
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], default="present"),
        name=dict(type="str"),
        id=dict(aliases=["droplet_id"], type="int"),
        ip=dict(type="str"),
    )

    module = AnsibleModule(
        argument_spec=argument_spec,
        required_one_of=(["id", "name"], ),
    )

    run(module)
Example #20
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        name=dict(type="str", required=True),
        resource_id=dict(aliases=["droplet_id"], type="str"),
        resource_type=dict(choices=["droplet"], default="droplet"),
        state=dict(choices=["present", "absent"], default="present"),
    )

    module = AnsibleModule(argument_spec=argument_spec)

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], default="present"),
        fingerprint=dict(aliases=["id"], required=False),
        name=dict(required=False),
        ssh_pub_key=dict(required=False),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_one_of=(("fingerprint", "ssh_pub_key"), ),
        supports_check_mode=True,
    )

    core(module)
Example #22
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True)
    if module._name in (
        "digital_ocean_account_facts",
        "community.digitalocean.digital_ocean_account_facts",
    ):
        module.deprecate(
            "The 'digital_ocean_account_facts' module has been renamed to 'digital_ocean_account_info'",
            version="2.0.0",
            collection_name="community.digitalocean",
        )  # was Ansible 2.13
    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(load_balancer_id=dict(type='str', required=False), )
    module = AnsibleModule(argument_spec=argument_spec)
    if module._name in (
            'digital_ocean_load_balancer_facts',
            'community.digitalocean.digital_ocean_load_balancer_facts'):
        module.deprecate(
            "The 'digital_ocean_load_balancer_facts' module has been renamed to 'digital_ocean_load_balancer_info'",
            version='2.0.0',
            collection_name='community.digitalocean')  # was Ansible 2.13

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(state=dict(choices=['present', 'absent'],
                                    default='present'),
                         name=dict(type='str'),
                         id=dict(aliases=['droplet_id'], type='int'),
                         ip=dict(type='str'))

    module = AnsibleModule(
        argument_spec=argument_spec,
        required_one_of=(['id', 'name'], ),
    )

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=traceback.format_exc())
Example #25
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        image_type=dict(type='str',
                        required=False,
                        choices=['all', 'application', 'distribution', 'private'],
                        default='all'
                        )
    )

    module = AnsibleModule(argument_spec=argument_spec)
    if module._name in ('digital_ocean_image_facts', 'community.digitalocean.digital_ocean_image_facts'):
        module.deprecate("The 'digital_ocean_image_facts' module has been renamed to 'digital_ocean_image_info'",
                         version='2.0.0', collection_name='community.digitalocean')  # was Ansible 2.13

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e), exception=format_exc())
Example #26
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], default="present"),
        origin=dict(type="str", required=True),
        ttl=dict(
            type="int",
            choices=[60, 600, 3600, 86400, 604800],
            required=False,
            default=3600,
        ),
        certificate_id=dict(type="str", default=""),
        custom_domain=dict(type="str", default=""),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        supports_check_mode=True,
    )
    run(module)
Example #27
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent", "active", "inactive"],
                   default="present"),
        name=dict(type="str"),
        size=dict(aliases=["size_id"]),
        image=dict(aliases=["image_id"]),
        region=dict(aliases=["region_id"]),
        ssh_keys=dict(type="list", elements="str", no_log=False),
        private_networking=dict(type="bool", default=False),
        vpc_uuid=dict(type="str"),
        backups=dict(type="bool", default=False),
        monitoring=dict(type="bool", default=False),
        id=dict(aliases=["droplet_id"], type="int"),
        user_data=dict(default=None),
        ipv6=dict(type="bool", default=False),
        volumes=dict(type="list", elements="str"),
        tags=dict(type="list", elements="str"),
        wait=dict(type="bool", default=True),
        wait_timeout=dict(default=120, type="int"),
        unique_name=dict(type="bool", default=False),
        resize_disk=dict(type="bool", default=False),
        project_name=dict(type="str",
                          aliases=["project"],
                          required=False,
                          default=""),
        firewall=dict(type="list", elements="str", default=None),
        sleep_interval=dict(default=10, type="int"),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_one_of=(["id", "name"], ),
        required_if=([
            ("state", "present", ["name", "size", "image", "region"]),
            ("state", "active", ["name", "size", "image", "region"]),
            ("state", "inactive", ["name", "size", "image", "region"]),
        ]),
        supports_check_mode=True,
    )

    core(module)
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(name=dict(type='str', required=True),
                         leaf_certificate=dict(type='str'),
                         private_key=dict(type='str', no_log=True),
                         state=dict(choices=['present', 'absent'],
                                    default='present'),
                         certificate_chain=dict(type='str'))

    module = AnsibleModule(
        argument_spec=argument_spec,
        required_if=[
            ('state', 'present', ['leaf_certificate', 'private_key']),
        ],
    )

    try:
        core(module)
    except Exception as e:
        module.fail_json(msg=to_native(e))
Example #29
0
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], default="present"),
        name=dict(type="str", required=True),
        description=dict(type="str"),
        default=dict(type="bool", default=False),
        region=dict(type="str"),
        ip_range=dict(type="str"),
    )
    module = AnsibleModule(
        argument_spec=argument_spec,
        required_if=[
            ["state", "present", ["name", "region"]],
            ["state", "absent", ["name"]],
        ],
        supports_check_mode=True,
    )

    run(module)
def main():
    argument_spec = DigitalOceanHelper.digital_ocean_argument_spec()
    argument_spec.update(
        state=dict(choices=["present", "absent"], default="present"),
        name=dict(type="str"),
        id=dict(aliases=["droplet_id"], type="int"),
        ip=dict(type="str", aliases=["ip4", "ipv4"]),
        ip6=dict(type="str", aliases=["ipv6"]),
        project_name=dict(type="str",
                          aliases=["project"],
                          required=False,
                          default=""),
    )

    module = AnsibleModule(
        argument_spec=argument_spec,
        required_one_of=(["id", "name"], ),
        mutually_exclusive=[("ip", "ip6")],
    )

    run(module)