- hosts: localhost connection: local vars: alicloud_access_key: LTAIHA3tVSkKaUcd alicloud_secret_key: NF8XYvRmETqvCpCDOw7SOR7yGPvNpb alicloud_region: ap-south-1 alicloud_zone: ap-south-1a password: "Password@12345678" #alicloud_region: cn-beijing #alicloud_zone: cn-beijing-a tasks: - name: Create VPC ali_vpc: alicloud_access_key: '{{ alicloud_access_key }}' alicloud_secret_key: '{{ alicloud_secret_key }}' alicloud_region: '{{ alicloud_region }}' cidr_block: 172.22.0.0/20 vpc_name: new_vpc register: created_vpc - name: Create VSwitch ali_vswitch: alicloud_access_key: '{{ alicloud_access_key }}' alicloud_secret_key: '{{ alicloud_secret_key }}' alicloud_region: '{{ alicloud_region }}' alicloud_zone: '{{ alicloud_zone }}' cidr_block: 172.22.0.0/24 vswitch_name: new_vswitch vpc_id: '{{ created_vpc.vpc.id }}' register: created_vsw - name: Create security group ali_security_group: alicloud_access_key: '{{ alicloud_access_key }}' alicloud_secret_key: '{{ alicloud_secret_key }}' alicloud_region: '{{ alicloud_region }}' name: new_group vpc_id: '{{ created_vpc.vpc.id }}' rules: - ip_protocol: tcp port_range: 22/22 source_cidr_ip: '0.0.0.0/0' policy: accept - ip_protocol: tcp port_range: 80/80 source_cidr_ip: '0.0.0.0/0' policy: accept register: created_group - name: Get the existing groups ali_security_group_facts: alicloud_access_key: '{{ alicloud_access_key }}' alicloud_secret_key: '{{ alicloud_secret_key }}' region: '{{alicloud_region}}' group_name: "new_group" filters: vpc_id: '{{ created_vpc.vpc.id }}' register: sgs - name: Creating an ECS instance ali_instance: alicloud_access_key: '{{ alicloud_access_key }}' alicloud_secret_key: '{{ alicloud_secret_key }}' alicloud_region: '{{ alicloud_region }}' alicloud_zone: '{{ alicloud_zone }}' image: "m-a2d4qmk8v2w9s5wmh0rw" type: "ecs.n4.small" instance_name: "tomcat_nginx_mysql_vm" description: "Tomcat + Nginx + My SQL Stack Package on Ubuntu" host_name: "my-instance-from-image" password: '{{ password }}' allocate_public_ip: True internet_charge_type: "PayByTraffic" max_bandwidth_in: 200 max_bandwidth_out: 50 instance_tags: {created_by: Ansible-Alicloud, created_from: example-alicloud-ecs-vpc} security_groups: ['{{ sgs.groups.0.id }}'] vswitch_id: '{{ created_vsw.vswitch.id }}' system_disk_category: "cloud_ssd" system_disk_size: 50 state: 'present' count: 1 when: sgs.groups register: instance - name: Create first new disk and attach it to an instance 0 ali_disk: alicloud_access_key: '{{ alicloud_access_key }}' alicloud_secret_key: '{{ alicloud_secret_key }}' alicloud_region: '{{ alicloud_region }}' alicloud_zone: '{{ alicloud_zone }}' disk_name: "Disk_From_Image" disk_category: "cloud_ssd" description: "Create a new ECS disk resource with Tomcat + Nginx + My SQL Stack Package on Ubuntu." size: 50 disk_tags: [{tag_key: "created_by", tag_value: "Ansible-Alicloud"}, {tag_key: "created_from", tag_value: "example-alicloud-ecs-vpc"}] instance_id: '{{ instance.instances.0.id }}' delete_with_instance: False register: disk_details