import of the role
Change-Id: Id2cd819def3e83f92fcd8126a74aa19690dcf4c8
This commit is contained in:
parent
b2abea53c9
commit
822a950d43
42
README.rst
Normal file
42
README.rst
Normal file
@ -0,0 +1,42 @@
|
||||
==================
|
||||
ansible-role-boto3
|
||||
==================
|
||||
|
||||
Ansible role to install AWS's boto3 library
|
||||
|
||||
* License: Apache License, Version 2.0
|
||||
* Documentation: https://ansible-role-boto3.readthedocs.org
|
||||
* Source: https://git.openstack.org/cgit/openstack/ansible-role-boto3
|
||||
* Bugs: https://bugs.launchpad.net/ansible-role-boto3
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
AWS's boto3 is a simple client library for operating AWS.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
See `bindep.txt` for role dependencies.
|
||||
|
||||
Packages
|
||||
~~~~~~~~
|
||||
|
||||
Package repository index files should be up to date before using this role, we
|
||||
do not manage them.
|
||||
|
||||
Role Variables
|
||||
--------------
|
||||
|
||||
Dependencies
|
||||
------------
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- name: Install AWS's Boto3 lib
|
||||
hosts: nodepool
|
||||
roles:
|
||||
- ansible-role-boto3
|
9
bindep.txt
Normal file
9
bindep.txt
Normal file
@ -0,0 +1,9 @@
|
||||
# This is a cross-platform list tracking distribution packages needed by tests;
|
||||
# see http://docs.openstack.org/infra/bindep/ for additional information.
|
||||
|
||||
git
|
||||
libffi-devel [platform:rpm]
|
||||
libffi-dev [platform:dpkg]
|
||||
libssl-dev [platform:dpkg]
|
||||
openssl-devel [platform:rpm]
|
||||
python2-dnf [platform:fedora]
|
32
defaults/main.yaml
Normal file
32
defaults/main.yaml
Normal file
@ -0,0 +1,32 @@
|
||||
# Copyright 2015-2020 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
---
|
||||
# tasks/main.yaml
|
||||
boto3_task_manager:
|
||||
- install
|
||||
- config
|
||||
|
||||
# tasks/config.yaml
|
||||
boto3_user_name: root
|
||||
boto3_user_group: root
|
||||
boto3_user_home: /root
|
||||
|
||||
boto3_file_credentials_dest: "{{ boto3_user_home }}/.aws/credentials"
|
||||
boto3_file_credentials_group: "{{ boto3_user_group }}"
|
||||
boto3_file_credentials_mode: 0640
|
||||
boto3_file_credentials_owner: "{{ boto3_user_name }}"
|
||||
boto3_file_credentials_src: root/.aws/credentials.j2
|
||||
|
||||
boto3_pip_name: boto3
|
||||
# boto3_pip_virtualenv: /root/venv
|
73
doc/source/conf.py
Executable file
73
doc/source/conf.py
Executable file
@ -0,0 +1,73 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
# implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.abspath('../..'))
|
||||
# -- General configuration ----------------------------------------------------
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
||||
extensions = [
|
||||
'sphinx.ext.autodoc',
|
||||
]
|
||||
|
||||
# autodoc generation is a bit aggressive and a nuisance when doing heavy
|
||||
# text edit cycles.
|
||||
# execute "export SPHINX_DEBUG=1" in your terminal to disable
|
||||
|
||||
# The suffix of source filenames.
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The master toctree document.
|
||||
master_doc = 'index'
|
||||
|
||||
# General information about the project.
|
||||
project = u'ansible-role-openstacksdk'
|
||||
copyright = u'2013, OpenStack Foundation'
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text.
|
||||
add_function_parentheses = True
|
||||
|
||||
# If true, the current module name will be prepended to all description
|
||||
# unit titles (such as .. function::).
|
||||
add_module_names = True
|
||||
|
||||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = 'sphinx'
|
||||
|
||||
# -- Options for HTML output --------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. Major themes that come with
|
||||
# Sphinx are currently 'default' and 'sphinxdoc'.
|
||||
# html_theme_path = ["."]
|
||||
# html_theme = '_theme'
|
||||
# html_static_path = ['static']
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = '%sdoc' % project
|
||||
|
||||
# Grouping the document tree into LaTeX files. List of tuples
|
||||
# (source start file, target name, title, author, documentclass
|
||||
# [howto/manual]).
|
||||
latex_documents = [
|
||||
('index',
|
||||
'%s.tex' % project,
|
||||
u'%s Documentation' % project,
|
||||
u'OpenStack Foundation', 'manual'),
|
||||
]
|
||||
|
||||
# Example configuration for intersphinx: refer to the Python standard library.
|
||||
# intersphinx_mapping = {'http://docs.python.org/': None}
|
1
doc/source/index.rst
Normal file
1
doc/source/index.rst
Normal file
@ -0,0 +1 @@
|
||||
.. include:: ../../README.rst
|
31
meta/main.yml
Normal file
31
meta/main.yml
Normal file
@ -0,0 +1,31 @@
|
||||
# Copyright 2015-2020 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
---
|
||||
galaxy_info:
|
||||
author: Gonéri Le Bouder
|
||||
description: Boto3 library for AWS
|
||||
company: Red Hat, Inc.
|
||||
license: Apache
|
||||
min_ansible_version: 2.4
|
||||
platforms:
|
||||
- name: Fedora
|
||||
versions:
|
||||
- 31
|
||||
- name: Ubuntu
|
||||
versions:
|
||||
- 18.04
|
||||
- 20.04
|
||||
categories:
|
||||
- system
|
||||
dependencies: []
|
30
tasks/config.yaml
Normal file
30
tasks/config.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
# Copyright 2020 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
---
|
||||
- name: Create the .aws
|
||||
become: true
|
||||
file:
|
||||
group: "{{ boto3_user_group }}"
|
||||
owner: "{{ boto3_user_name }}"
|
||||
path: "{{ boto3_user_home }}/.aws"
|
||||
state: directory
|
||||
|
||||
- name: Generate the AWS credentials file
|
||||
become: true
|
||||
template:
|
||||
group: "{{ boto3_user_group }}"
|
||||
owner: "{{ boto3_user_name }}"
|
||||
dest: "{{ boto3_user_home }}/.aws/credentials"
|
||||
mode: "{{ boto3_file_credentials_mode }}"
|
||||
src: "{{ boto3_file_credentials_src }}"
|
20
tasks/install.yaml
Normal file
20
tasks/install.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
# Copyright 2020 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
---
|
||||
- name: Install boto3 using pip
|
||||
become: true
|
||||
become_user: "{{ boto3_user_name }}"
|
||||
pip:
|
||||
name: "{{ boto3_pip_name }}"
|
||||
virtualenv: "{{ boto3_pip_virtualenv|default(omit) }}"
|
18
tasks/main.yaml
Normal file
18
tasks/main.yaml
Normal file
@ -0,0 +1,18 @@
|
||||
# Copyright 2020 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
---
|
||||
- include: "{{ boto3_task }}.yaml"
|
||||
with_items: "{{ boto3_task_manager }}"
|
||||
loop_control:
|
||||
loop_var: boto3_task
|
1
templates/root/.aws/credentials.j2
Normal file
1
templates/root/.aws/credentials.j2
Normal file
@ -0,0 +1 @@
|
||||
# Default credentials template
|
1
tests/inventory
Normal file
1
tests/inventory
Normal file
@ -0,0 +1 @@
|
||||
localhost
|
9
tests/playbooks/pre.yaml
Normal file
9
tests/playbooks/pre.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
---
|
||||
- hosts: all
|
||||
tasks:
|
||||
- name: Disable extra wheels mirror
|
||||
become: true
|
||||
lineinfile:
|
||||
dest: /etc/pip.conf
|
||||
regexp: ^extra-index-url
|
||||
state: absent
|
36
tests/playbooks/run.yaml
Normal file
36
tests/playbooks/run.yaml
Normal file
@ -0,0 +1,36 @@
|
||||
# Copyright 2015-2020 Red Hat, Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
---
|
||||
- hosts: all
|
||||
vars:
|
||||
rolename: ansible-role-boto3
|
||||
|
||||
roles:
|
||||
- "{{ rolename }}"
|
||||
|
||||
post_tasks:
|
||||
- name: Register aws_credentials_file_stat
|
||||
become: true
|
||||
stat:
|
||||
path: /root/.aws/credentials
|
||||
register: aws_credentials_file_stat
|
||||
|
||||
- name: Assert aws_credentials_file_stat tests
|
||||
assert:
|
||||
that:
|
||||
- aws_credentials_file_stat.stat.exists
|
||||
- aws_credentials_file_stat.stat.isreg
|
||||
- aws_credentials_file_stat.stat.pw_name == 'root'
|
||||
- aws_credentials_file_stat.stat.gr_name == 'root'
|
||||
- aws_credentials_file_stat.stat.mode == '0640'
|
Loading…
Reference in New Issue
Block a user