updated use of proxies
diff --git a/tasks/main.yml b/tasks/main.yml
index a1bf566..dafa9cd 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,167 +1,10 @@
 ---
 # tasks file for apigee-opdk-setup-os
-- name: Configure AWS AMI OS package manager repositories for Apigee
-  shell: "yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional"
-  when: ansible_bios_version | lower | search('amazon') and ansible_os_family | lower == 'redhat' and ansible_distribution_major_version | version_compare('6', '>')
 
-# TODO: Look up the ansible_distribution name for RHEL systems
-#- name: If using RHEL then register RHEL on RHN
-#  shell: "subscription-manager register --username={{ rhel_user_name }} --password={{ rhel_password }} --auto-attach"
-#  when: ansible_bios_version | lower | search('amazon') and ansible_os_family | lower == 'redhat' and ansible_distribution_major_version | version_compare('7', '>')
+- name: Do not use proxy definitions
+  include: with_no_proxy.yml
+  when: http_proxy is not defined and https_proxy is not defined
 
-- name: Yum clean
-  become: yes
-  shell: yum clean all
-
-#- block:
-#
-#  - name: Add yum centos-release-SCL repository for CentOS 6
-#    become: yes
-#    yum:
-#      name: "{{ item }}"
-#      state: present
-#    with_items:
-#      - centos-release-SCL
-#    when: ansible_distribution | lower == "centos"
-#
-#  - name: Add yum epel repository for Redhat/CentOS 6.x
-#    become: yes
-#    yum:
-#      name: "{{ item }}"
-#      state: present
-#    with_items:
-#    - '{{ epel_rhel6 }}'
-#
-#  when: ansible_distribution_major_version is defined and ansible_distribution_major_version | version_compare('7', '<')
-
-#- block:
-#
-#  - name: Add yum epel repository for Redhat/CentOS 7.x
-#    become: yes
-#    yum:
-#      name: "{{ item }}"
-#      state: present
-#    with_items:
-#    - '{{ epel_rhel7 }}'
-#
-#  when: ansible_distribution_major_version is defined and ansible_distribution_major_version | version_compare('7', '>=')
-
-#- name: Proactively remove qpid packages that cause yum update failures, ignore errors
-#  become: yes
-#  yum:
-#    name: '{{ item }}'
-#    state: absent
-#  with_items:
-#  - apigee-qpidd-*
-#  - qpid-*
-#  - python-qpid*
-#  - libqpid*
-
-#- name: Keep yum downloads small
-#  become: yes
-#  yum:
-#    name: "{{ item }}"
-#    state: present
-#  with_items:
-#  - deltarpm
-
-#- name: Speed up yum
-#  become: yes
-#  shell: yum makecache {{ item }}
-#  with_items:
-#  - yum-presto
-#  - fast
-
-- name: Update basic yum os packages
-  become: yes
-  yum:
-    name: "{{ item }}"
-    state: present
-  with_items:
-  - bind-utils
-  - chkconfig
-  - curl
-  - tar
-  - wget
-  - yum-utils
-  - unzip
-  - rsync
-  - which
-  - libselinux-python
-  - nss
-  - openssh-clients
-  - openssh-server
-  - grep
-  - rpm
-  - rng-tools
-  - sed
-  - unzip
-
-- name: Start rngd service
-  service:
-    name: rngd
-    enabled: yes
-    state: started
-
-- name: Update vm.swappiness
-  become: yes
-  sysctl:
-    name: vm.swappiness
-    value: '{{ vm_swappiness }}'
-    state: present
-
-- name: Disable Default IPV6
-  become: yes
-  shell: "sysctl -w net.ipv6.conf.default.disable_ipv6=1"
-  tags: ['ipv6']
-
-- name: Disable All IPV6
-  become: yes
-  shell: "sysctl -w net.ipv6.conf.all.disable_ipv6=1"
-  tags: ['ipv6']
-
-- name: Update for apigee installation environment
-  become: yes
-  lineinfile:
-    dest: /etc/environment
-    regexp: "^export CONTINUE_ON_WARNING="
-    line: 'export CONTINUE_ON_WARNING={{ apigee_continue_on_warning }}'
-    backup: yes
-
-- name: Create pip config folder
-  file:
-    path: "{{ pip_conf_dir }}"
-    state: directory
-  when: pip_conf_dir is defined
-
-- name: Configure pip
-  template:
-    src: pip.conf.j2
-    dest: "{{ pip_conf_dir }}/pip.conf"
-  when: pip_conf_dir is defined and pip_index_url is defined
-
-- name: Download pip package manager
-  become: yes
-  tags: ['pip-manager']
-  get_url:
-    url: https://bootstrap.pypa.io/get-pip.py
-    dest: /tmp/get-pip.py
-  when: pip_conf_dir is not defined
-
-- name: Install pip package manager
-  become: yes
-  tags: ['pip-manager']
-  shell: python /tmp/get-pip.py
-  when: pip_conf_dir is not defined
-
-- name: Update python packages
-  become: yes
-  pip:
-    name: '{{ item }}'
-    state: present
-  with_items:
-  - httplib2
-  - pexpect
-  - passlib
-  - requests
-  - kazoo
+- name: Use proxy definitions
+  include: with_proxy.yml
+  when: http_proxy is defined and https_proxy is defined
diff --git a/tasks/with_no_proxy.yml b/tasks/with_no_proxy.yml
new file mode 100644
index 0000000..d3771bd
--- /dev/null
+++ b/tasks/with_no_proxy.yml
@@ -0,0 +1,109 @@
+---
+---
+# tasks file for apigee-opdk-setup-os
+- name: Configure AWS AMI OS package manager repositories for Apigee
+  shell: "yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional"
+  when: ansible_bios_version | lower | search('amazon') and ansible_os_family | lower == 'redhat' and ansible_distribution_major_version | version_compare('6', '>')
+
+# TODO: Look up the ansible_distribution name for RHEL systems
+#- name: If using RHEL then register RHEL on RHN
+#  shell: "subscription-manager register --username={{ rhel_user_name }} --password={{ rhel_password }} --auto-attach"
+#  when: ansible_bios_version | lower | search('amazon') and ansible_os_family | lower == 'redhat' and ansible_distribution_major_version | version_compare('7', '>')
+
+- name: Yum clean
+  become: yes
+  shell: yum clean all
+
+- name: Update basic yum os packages
+  become: yes
+  yum:
+    name: "{{ item }}"
+    state: present
+  with_items:
+  - bind-utils
+  - chkconfig
+  - curl
+  - tar
+  - wget
+  - yum-utils
+  - unzip
+  - rsync
+  - which
+  - libselinux-python
+  - nss
+  - openssh-clients
+  - openssh-server
+  - grep
+  - rpm
+  - rng-tools
+  - sed
+  - unzip
+
+- name: Start rngd service
+  service:
+    name: rngd
+    enabled: yes
+    state: started
+
+- name: Update vm.swappiness
+  become: yes
+  sysctl:
+    name: vm.swappiness
+    value: '{{ vm_swappiness }}'
+    state: present
+
+- name: Disable Default IPV6
+  become: yes
+  shell: "sysctl -w net.ipv6.conf.default.disable_ipv6=1"
+  tags: ['ipv6']
+
+- name: Disable All IPV6
+  become: yes
+  shell: "sysctl -w net.ipv6.conf.all.disable_ipv6=1"
+  tags: ['ipv6']
+
+- name: Update for apigee installation environment
+  become: yes
+  lineinfile:
+    dest: /etc/environment
+    regexp: "^export CONTINUE_ON_WARNING="
+    line: 'export CONTINUE_ON_WARNING={{ apigee_continue_on_warning }}'
+    backup: yes
+
+- name: Create pip config folder
+  file:
+    path: "{{ pip_conf_dir }}"
+    state: directory
+  when: pip_conf_dir is defined
+
+- name: Configure pip
+  template:
+    src: pip.conf.j2
+    dest: "{{ pip_conf_dir }}/pip.conf"
+  when: pip_conf_dir is defined and pip_index_url is defined
+
+- name: Download pip package manager
+  become: yes
+  tags: ['pip-manager']
+  get_url:
+    url: https://bootstrap.pypa.io/get-pip.py
+    dest: /tmp/get-pip.py
+  when: pip_conf_dir is not defined
+
+- name: Install pip package manager
+  become: yes
+  tags: ['pip-manager']
+  shell: python /tmp/get-pip.py
+  when: pip_conf_dir is not defined
+
+- name: Update python packages
+  become: yes
+  pip:
+    name: '{{ item }}'
+    state: present
+  with_items:
+  - httplib2
+  - pexpect
+  - passlib
+  - requests
+  - kazoo
diff --git a/tasks/with_proxy.yml b/tasks/with_proxy.yml
new file mode 100644
index 0000000..41150fc
--- /dev/null
+++ b/tasks/with_proxy.yml
@@ -0,0 +1,120 @@
+---
+
+- name: Configure AWS AMI OS package manager repositories for Apigee
+  shell: "yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional"
+  when: ansible_bios_version | lower | search('amazon') and ansible_os_family | lower == 'redhat' and ansible_distribution_major_version | version_compare('6', '>')
+
+# TODO: Look up the ansible_distribution name for RHEL systems
+#- name: If using RHEL then register RHEL on RHN
+#  shell: "subscription-manager register --username={{ rhel_user_name }} --password={{ rhel_password }} --auto-attach"
+#  when: ansible_bios_version | lower | search('amazon') and ansible_os_family | lower == 'redhat' and ansible_distribution_major_version | version_compare('7', '>')
+
+- name: Yum clean
+  become: yes
+  shell: yum clean all
+
+- name: Update basic yum os packages
+  become: yes
+  yum:
+    name: "{{ item }}"
+    state: present
+  with_items:
+  - bind-utils
+  - chkconfig
+  - curl
+  - tar
+  - wget
+  - yum-utils
+  - unzip
+  - rsync
+  - which
+  - libselinux-python
+  - nss
+  - openssh-clients
+  - openssh-server
+  - grep
+  - rpm
+  - rng-tools
+  - sed
+  - unzip
+  environment:
+    http_proxy: "{{ http_proxy }}"
+    https_proxy: "{{ https_proxy }}"
+
+- name: Start rngd service
+  service:
+    name: rngd
+    enabled: yes
+    state: started
+
+- name: Update vm.swappiness
+  become: yes
+  sysctl:
+    name: vm.swappiness
+    value: '{{ vm_swappiness }}'
+    state: present
+
+- name: Disable Default IPV6
+  become: yes
+  shell: "sysctl -w net.ipv6.conf.default.disable_ipv6=1"
+  tags: ['ipv6']
+
+- name: Disable All IPV6
+  become: yes
+  shell: "sysctl -w net.ipv6.conf.all.disable_ipv6=1"
+  tags: ['ipv6']
+
+- name: Update for apigee installation environment
+  become: yes
+  lineinfile:
+    dest: /etc/environment
+    regexp: "^export CONTINUE_ON_WARNING="
+    line: 'export CONTINUE_ON_WARNING={{ apigee_continue_on_warning }}'
+    backup: yes
+
+- name: Create pip config folder
+  file:
+    path: "{{ pip_conf_dir }}"
+    state: directory
+  when: pip_conf_dir is defined
+
+- name: Configure pip
+  template:
+    src: pip.conf.j2
+    dest: "{{ pip_conf_dir }}/pip.conf"
+  when: pip_conf_dir is defined and pip_index_url is defined
+
+- name: Download pip package manager
+  become: yes
+  tags: ['pip-manager']
+  get_url:
+    url: https://bootstrap.pypa.io/get-pip.py
+    dest: /tmp/get-pip.py
+  when: pip_conf_dir is not defined
+  environment:
+    http_proxy: "{{ http_proxy }}"
+    https_proxy: "{{ https_proxy }}"
+
+- name: Install pip package manager
+  become: yes
+  tags: ['pip-manager']
+  shell: python /tmp/get-pip.py
+  when: pip_conf_dir is not defined
+  environment:
+    http_proxy: "{{ http_proxy }}"
+    https_proxy: "{{ https_proxy }}"
+
+- name: Update python packages
+  become: yes
+  pip:
+    name: '{{ item }}'
+    state: present
+  with_items:
+  - httplib2
+  - pexpect
+  - passlib
+  - requests
+  - kazoo
+  environment:
+    http_proxy: "{{ http_proxy }}"
+    https_proxy: "{{ https_proxy }}"