Git Product home page Git Product logo

alibaba.alicloud's Introduction

Alibaba Cloud Collection

The Ansible Alibaba Cloud collection includes a variety of Ansible content to help automate the management of Alibaba Cloud instances. This collection is maintained by the Alibaba Cloud team.

Python version compatibility

This collection requires Python 3.6 or greater.

Installing this collection

You can install the Alibaba Cloud collection with the Ansible Galaxy CLI:

  1. create a requirements.txt file with the following:
    collections:
      - name: https://github.com/alibaba/alibaba.alicloud.git
        type: git
        branch: master
  2. running the commond to install alibaba.alicloud using requirements.txt file:
    ansible-galaxy collection install -r requirements.txt

Using this collection

You can either call modules by their Fully Qualified Collection Namespace (FQCN), such as alibaba.alicloud.ali_vpc, or you can call modules by their short name if you list the alibaba.alicloud collection in the playbook's collections keyword:

---
- name: Using module alibaba.alicloud.ali_vpc
  hosts: localhost
  remote_user: root

  vars:
    name: "ansible-testacc-ali_vpc-module"
    vpc_cidr: "172.16.0.0/12"
    vpc_description: "Create a new VPC resource via Ansible example alicloud-ecs-vpc."

  roles:
    - vpc

  tasks:
    - name: Create a new vpc with user_cidrs
      alibaba.alicloud.ali_vpc:
        cidr_block: '{{ vpc_cidr }}'
        vpc_name: '{{ name }}-user_cidrs'
        description: '{{ vpc_description }}'
        user_cidrs:
          - 172.16.100.0/24
          - 172.16.101.0/24

plugins/modules

There are several files in the module directory, and these files describe some function that can operate alicloud products.

  • ali_instance.py: Create, Start, Stop, Restart or Terminate an Instance in ECS. Add or Remove Instance to/from a Security Group
  • ali_disk.py: Create, Attach, Detach or Delete a disk in ECS
  • ali_security_group.py: Create or Delete a Security Group
  • ali_vpc.py: Create or Delete a Vpc.
  • ali_vswitch.py: Create or Delete a VSwitch.
  • ali_route_entry.py: Create or Delete a route entry.
  • ali_slb_lb.py: Create or Delete a Load balancer.
  • ali_slb_listener.py: Create or Delete a listener for one Load balancer.
  • ali_slb_server.py: Add or Remove backend server to/from Load balancer.
  • ali_ess_group.py: Create or Delete a scaling group.
  • ali_ess_configuration.py: Create or Delete a scaling configuration.
  • ali_ess_instance.py: Add or Remove ECS instnaces in a specified scaling group.
  • ali_ess_task.py: Create or Delete a scheduled task for scaling activity.
  • ali_ess_rule.py: Create or Delete a scaling rule.
  • ali_eni.py: Create or Delete a network interface.
  • ali_bucket.py: Create or Delete an OSS bucket.
  • ali_bucket_object.py: Upload or Download an object to/from an OSS bucket.

lib/ansible/module_utils

In the module utils directory, the file alicloud_ecs.py identifies and gains playbook params, and provides this params to modules/*.py. In addition, this file implements connection between ansible and Alicloud API via footmark.

examples

There are some playbooks to create some alicloud resource or build infrastructure architecture.

Execute playbook

  • Input your alicloud access key in the playbook or set environment variable:ALICLOUD_ACCESS_KEY and ALICLOUD_SECRET_KEY).

  • Input others resource params in the playbook.

  • execute ansible-playbook command as follows:

    $ ansible-playbook xxx.yml
    

Refrence

Ansible Document: https://docs.ansible.com/ansible/latest/

Ansible Alicloud: Docs Details

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.