constrict0r.unify
統合
.. image:: https://gitlab.com/constrict0r/unify/badges/master/pipeline.svg :alt: パイプライン
.. image:: https://travis-ci.com/constrict0r/unify.svg :alt: travis
.. image:: https://readthedocs.org/projects/unify/badge :alt: readthedocs
.. image:: https://coveralls.io/repos/github/constrict0r/unify/badge.svg :alt: カバレッジ
.. image:: https://gitlab.com/constrict0r/unify/badges/master/coverage.svg :alt: coverage_gitlab
Ansibleロールを使用して、コレクションを単一の統一されたコレクションに統合します。
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/avatar.png :alt: avatar
完全なドキュメントはReadthedocs <https://unify.readthedocs.io>
_にあります。
ソースコードは以下にあります:
Github <https://github.com/constrict0r/unify>
_
Gitlab <https://gitlab.com/constrict0r/unify>
_
関連プロジェクト: <https://gitlab.com/explore/projects?tag=doombot>
_
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/doombot.png :alt: doombot
材料
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/ingredient.png :alt: ingredient
目次
説明 <#Description>
_使用方法 <#Usage>
_変数 <#Variables>
_入力変数 <#input>
_validate <#validate>
_update <#update>
_items <#items>
_expand <#expand>
_titles <#titles>
_secondary <#secondary>
_items_b <#items-b>
_expand_b <#expand-b>
_titles_b <#titles-b>
_
出力 <#output>
_unified <#unified>
_unified_b <#unified-b>
_
モジュール <#Modules>
_unify-module <#unify-module>
_概要 <#synopsis>
_パラメータ <#parameters>
_例 <#examples>
_戻り値 <#return-values>
_ステータス <#status>
_作者 <#authors>
_
プラグイン <#Plugins>
_user_root <#user-root>
_variable_boolean <#variable-boolean>
_variable_boolean_true <#variable-boolean-true>
_variable_collection <#variable-collection>
_variable_empty <#variable-empty>
_variable_path <#variable-path>
_variable_url <#variable-url>
_variable_url_existent <#variable-url-existent>
_
YAML <#YAML>
_属性 <#Attributes>
_item_expand <#item-expand>
_item_path <#item-path>
_
要件 <#Requirements>
_互換性 <#Compatibility>
_制限 <#Limitations>
_ライセンス <#License>
_リンク <#Links>
_UML <#UML>
_クラス <#class>
_デプロイメント <#deployment>
_メイン <#main>
_user-root <#user-root>
_variable-boolean <#variable-boolean>
_variable-boolean-true <#variable-boolean-true>
_variable-collection <#variable-collection>
_variable-empty <#variable-empty>
_variable-path <#variable-path>
_variable-url <#variable-url>
_variable-url-existent <#variable-url-existent>
_unify-collection <#unify-collection>
_unify-item <#unify-item>
_
作者 <#Author>
_
API 目次
API <#API>
_パッケージ <#packages>
_Unify-package <#module-library>
_モジュール library.unify <#module-library.unify>
_
Util <#module-test_plugins>
_モジュール test_plugins.util <#module-test_plugins.util>
_
説明
Ansibleロールを使用してコレクションを単一の統一されたコレクションに統合します。 プラグインを含むutilと、unifyという名前のモジュールがあります。
統合するアイテムは、単一のアイテム、アイテムのコレクション、パス、 および*.yml*ファイルのURLで、新しいアイテムを読み込む場所を指定します。
変数itemsは、統合するアイテムを指定するために使用され、結果は単一のunifiedコレクション変数に保存されます。オプションとして、変数secondaryがtrueに設定されている場合、追加のunified_bコレクションが作成されます。2つ以上の統一されたコレクションが必要な場合は、付属のunifyモジュールを使用できます。
変数expandがtrueに設定されるか、1つのアイテムがitem_expand属性をtrueとして指定すると、リストされた各ファイルパスまたはURLのアイテムが、titlesをインデックスとして使用して読み込まれます。したがって、ファイルからアイテムを展開する場合、変数titlesは空ではあってはいけません。
たとえば、items変数の値がパス*/home/username/my-config.ymlで、titles変数の値がpackages、expand変数がtrueに設定されている場合、このロールはファイル/home/username/my-config.ymlからリスト名packages*を読み込もうとします。
/home/username/my-config.ymlの内容は、以下のようなものになる可能性があります:
..
::
---
packages:
- leafpad
- rolldice
- /home/username/extra-config.yml
- https://my-url/my-config.yml
変数expandがfalseに設定されると、items変数内を見つけたファイルパスやURLは単なるテキストアイテムとして扱われます。これは、たとえばバックアップ目的でファイルやディレクトリのリストを維持するのに便利です。
unified変数にアイテムを追加する場合、すでに存在しない場合にのみ追加されます。ブール値の場合、複製はunifiedで許可されます。なぜならブール値はチェックリストに一般的に使用されるからです。
このロールには、次の機能も含まれています:
- 要件がインストールされていることを確認します。
使用方法
- インストールと実行:
..
::
ansible-galaxy install constrict0r.unify
ansible localhost -m include_role -a name=constrict0r.unify -K
- 変数を渡す:
..
::
ansible localhost -m include_role -a name=constrict0r.unify -K \
-e "{items: [1, '/home/user/my-config.yml']}"
- プレイブックにロールを含める:
..
::
- hosts: servers
roles:
- {role: constrict0r.unify}
- 他のロールの依存関係としてロールを含める:
..
::
dependencies:
- role: constrict0r.unify
items: [gemmata, muscaria]
- タスクからロールを使用する:
..
::
- name: 役割タスクを実行します。
import_role:
name: constrict0r.unify
vars:
items: [gemmata, muscaria]
テストを実行するには:
::
cd unify chmod +x testme.sh ./testme.sh
いくつかのテストでは、成功するためにsudoを使用する必要があります。
変数
入力
次の変数がサポートされています:
validate
ブール値で、バリデーションを適用するかどうかを示します。
trueに設定すると、次のバリデーションが適用されます:
- ユーザーがrootになれるかを確認します。
この変数は初期値でfalseに設定されています。
::
ターミナルから含める。
ansible localhost -m include_role -a name=constrict0r.unify -K -e
"validate=false"
プレイブックに含める。
- hosts: servers
roles:
- role: constrict0r.unify validate: false
ターミナルからプレイブックに。
ansible-playbook -i inventory my-playbook.yml -K -e
"validate=false"
予期しない動作を防ぐために、このロールを呼び出す際には常にこの変数を指定することをお勧めします。
update
aptキャッシュを更新するかどうかを定義するブール変数です。
trueに設定すると、aptキャッシュが更新されます。
この変数は初期値でfalseに設定されています。
::
ターミナルから含める。
ansible localhost -m include_role -a name=constrict0r.unify -K -e
"update=false"
プレイブックに含める。
- hosts: servers
roles:
- role: constrict0r.unify update: false
ターミナルからプレイブックに。
ansible-playbook -i inventory my-playbook.yml -K -e
"update=false"
予期しない動作を防ぐために、このロールを呼び出す際には常にこの変数を指定することをお勧めします。
items
unified変数に追加されるアイテムのリストです。
各アイテムは、定義されており、空でない場合にのみ追加されます。
この変数には、単一のアイテム、リスト、辞書、ファイルへのパス、およびURLを含めることができます。
パスやURLのアイテムを指定する場合、titles変数は空であってはいけません。titlesは各ファイルから読み込むコレクションの名前として使用されます。
ファイルパスを指定する際は、必ず絶対パスを使用し、常に*.ymlまたは.yaml*拡張子を追加することをお勧めします。同じことがURLを使用したファイルにも当てはまります。
この変数は初期値で空です。
::
ansible localhost -m include_role -a name=constrict0r.unify
--extra-vars "{
items: [
itemA, itemB, itemC,
'/home/username/my-config.yml',
'https://is.gd/lnf6vn'],
titles: 'items'
expand: true]}"
expand
ファイルパスまたはURLからアイテムを読み込むか、単にファイルとURLをプレーンテキストとして扱うかを示すブール値です。
trueに設定すると、このロールは指定されたパスやURLからアイテムを読み込もうとします。
falseに設定すると、itemsで見つかった各ファイルパスまたはURLはプレーンテキストとして扱われます。
この変数は初期値でfalseに設定されています。
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand=true configuration='/home/username/my-config.yml' titles='items'"
この変数の値を上書きしたい場合は、アイテムを渡す際にitem_pathおよびitem_expand属性を指定します。item_path属性はURLでも使用できます:
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "{expand: false,
items: [
item_path: '/home/username/my-config.yml',
item_expand: false
], titles: 'items'}"
予期しない動作を防ぐために、このロールを呼び出す際には常にこの変数を指定することをお勧めします。
titles
ファイルやURLからアイテムを読み込むために使われるインデックス名です。
この変数は、expand変数がtrueに設定されているときに使用されます。
この変数は初期値で空です。
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand=true items='/home/username/my-config.yml' titles='items'"
予期しない動作を防ぐために、使用しない場合はこの変数を空のリスト*[]*として渡すことをお勧めします。
secondary
items_b変数で見つかったアイテムをunified_bコレクションに統合するかどうかを示すブール値です。
trueに設定すると、このロールはitems_bのアイテムからunified_bコレクションを構築します。
この変数はitems_b、expand_b、titles_b変数と一緒に使用されます。
この変数の初期値はfalseです。
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "secondary=true items_b='/home/username/extra-packages.yml' titles_b='items'"
予期しない動作を防ぐために、このロールを呼び出す際には常にこの変数を指定することをお勧めします。
items_b
unified_b変数に追加されるアイテムのリストです。
各アイテムは、定義されており、空でない場合にのみ追加されます。
この変数には、単一のアイテム、リスト、辞書、ファイルへのパス、およびURLを含めることができます。
パスやURLのアイテムを指定する場合、titles_b変数は空であってはいけません。titles_bは各ファイルから読み込むコレクションの名前として使用されます。
ファイルパスを指定する際は、必ず絶対パスを使用し、常に*.ymlまたは.yaml*拡張子を追加することをお勧めします。同じことがURLを使用したファイルにも当てはまります。
この変数は初期値で空です。
::
ansible localhost -m include_role -a name=constrict0r.unify
--extra-vars "{
items_b: [
itemD, itemE, itemF,
'/home/username/my-config.yml',
'https://is.gd/lnf6vn'],
titles_b: 'items'
expand_b: true]}"
expand_b
ファイルパスまたはURLからアイテムを読み込むか、単にファイルとURLをプレーンテキストとして扱うかを示すブール値です。
trueに設定すると、このロールは指定されたパスやURLからアイテムを読み込もうとします。
falseに設定すると、itemsで見つかった各ファイルパスまたはURLはプレーンテキストとして扱われます。
この変数は初期値でfalseに設定されています。
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand=true configuration='/home/username/my-config.yml' titles='items'"
この変数の値を上書きしたい場合は、アイテムを渡す際にitem_pathおよびitem_expand属性を指定します。item_path属性はURLでも使用できます:
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "{expand: false,
items_b: [
item_path: '/home/username/my-config.yml',
item_expand: false
], titles: 'items'}"
titles_b
ファイルやURLからアイテムを読み込むために使われるインデックス名です。
この変数は、expand_b変数がtrueに設定されているときに使用されます。
この変数は初期値で空です。
::
ansible localhost -m include_role -a name=constrict0r.unify
-e "expand_b=true items_b='/home/username/my-config.yml' titles_b='items'"
出力
次の結果変数が生成されます:
unified
items変数からのアイテムが格納された、結果として得られる単一のリストです。
unified_b
items_b変数からのアイテムが格納された、結果として得られる単一のリストです。
モジュール
利用可能なモジュールは以下の通りです:
unify-module
アイテムを単一のunified変数に統合します
概要
複数のソースからアイテムを取得して、単一のunifiedコレクションに追加します。
アイテムは、単一のアイテム、リスト、辞書、ファイルパス、URLを*.yml*ファイルに含めることができます。
null、None、未定義の値を扱えます。
パラメータ
+-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | パラメータ | 選択肢/デフォルト | コメント | +=============+=======================+===================================================================================================================================================================================================================================================================================================================================================================================================================================+ | expand | 選択肢: no, yes. | yesに設定された場合、ファイルパスやURLアイテムが見つかると、それらのアイテムをunifiedコレクションに読み込みます。アイテムを展開する際、パラメータtitlesは空であってはいけません。なぜなら、ファイル上のコレクションインデックスとして使用されるからです。noに設定された場合、ファイルパスやURLアイテムが見つかると、これらのアイテムは単なるプレーンテキストとして扱われます。これは、例えばバックアップ目的でファイルのリストを管理する際に最適です。 | +-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | items | — | unifiedコレクションに追加するアイテム。アイテムには、単一のアイテム(文字列または数字)、リスト、辞書、*.ymlファイルへのパス、URLを含めることができます。 | +-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | titles | — | アイテムをunified変数に読み込むためのファイルやURLのインデックス。ファイルがmy-file.ymlであり、titlesがpackagesに設定されている場合、my-file.ymlからpackages*という名前のリストが読み込まれ、unifiedに追加されます。 | +-------------+-----------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
例
..
::
# 2つのリストを統合します。
- name: 2つのリストを統合します。
items: [[one, two], [three, four]]
register: unified_result
# 1つのパッケージリストを変数として渡します。
- name: 2つのパッケージリストを統合します。
items: [[emacs, vim], "{{ my_packages }}"]
register: unified_result
# 2つのファイルパスを読み込んで統合します。
- name: 2つのファイルを統合します。
items: [/home/user/packages.yml, /home/user/more-packages.yml]
titles: 'packages'
register: unified_result
# 1つのファイルと1つのURLを読み込んで統合します。
- name: 1つのファイルと1つのURLを統合します。
items: [/home/user/packages.yml, https://my-url/packages.yml]
titles: 'packages'
register: unified_result
# 1つのアイテムとファイルパスを読み込んで統合します。
- name: 1つのアイテムとファイルパスを統合します。
items: [gedit, /home/user/packages.yml]
titles: 'packages'
register: unified_result
# アイテムとファイルパスを展開して統合します。
- name: 1つのアイテムとファイルパスを展開して統合します。
items: [gedit, /home/user/packages.yml]
titles: 'packages'
expand: yes
register: unified_result
# URLを読み込んで統合します。
- name: URLを統合します。
items: [https://my-url/packages.yml]
titles: 'packages'
expand: yes
register: unified_result
戻り値
+------------+-----------------------+-----------------------------------------------------------------+ | キー | 戻り値 | 説明 | +============+=======================+=================================================================+ | unified | 常に | アイテムのunifiedリストまたは空のリスト。 | +------------+-----------------------+-----------------------------------------------------------------+ | unified_b | secondaryがtrueの時 | オプションの二次リスト。 | +------------+-----------------------+-----------------------------------------------------------------+
ステータス
このモジュールは、将来の後方互換性のないインターフェース変更がないことを保証します。
このモジュールはコミュニティによって管理されています。
作者
- constrict0r
プラグイン
利用可能なアサーションは以下の通りです:
user_root
ユーザーがrootになることができるかどうかを判断します。
ユーザーがrootになれる場合はtrueが返され、それ以外の場合はfalseが返されます。
ユーザーが未定義または空の場合、falseが返されます。
::
- name: 非空のrootでuser_rootをテストします。
debug:
msg: 'ユーザーはrootになることができます'
failed_when: "not 'root' is user_root"
variable_boolean
変数がブール型かどうかを判断します。
ブールとして考慮される値は:
true
false
True
False
yes
no
変数がブールの場合はtrueが返され、そうでなければfalseが返されます。
::
- name: ブールtrue型変数を定義します。
set_fact:
boolean_true_var: true
::
- name: 非空のboolean falseでvariable_booleanをテストします。
debug:
msg: '変数はbooleanです'
failed_when: boolean_false_var is not variable_boolean
variable_boolean_true
変数がブール型で、値がtrueであるかどうかを判断します。
ブールと見なされる値は:
true
false
True
False
yes
no
変数がブール型でtrueに設定されている場合、trueの値が返され、それ以外の場合はfalseが返されます。
::
- name: ブールfalse型変数を定義します。
set_fact:
boolean_false_var: false
::
- name: 非空のboolean falseでvariable_boolean_trueをテストします。
debug:
msg: '変数はboolean trueではありません'
failed_when: boolean_false_var is variable_boolean_true
variable_collection
変数がコレクション型かどうかを判断します。
この関数において、空の変数はコレクションとは見なされません。
::
- name: 非空のコレクション変数を定義します。
set_fact:
non_empty_collection_var: [one, two]
::
- name: 非空のコレクションでvariable_collectionをテストします。
debug:
msg: '変数はコレクションです'
failed_when: non_empty_collection_var is not variable_collection
variable_empty
変数が空かどうかを判断します。
変数が空の場合はtrueが返され、そうでなければfalseが返されます。
::
- name: 非空の変数を定義します。
set_fact:
non_empty_var: 'non-empty-value'
::
- name: 非空のvariable_emptyをテストします。
debug:
msg: '変数は空ではありません'
failed_when: non_empty_var is variable_empty
variable_path
変数が存在するパスかどうかを判断します。
変数が存在するパスの場合はtrueが返され、そうでなければfalseが返されます。
::
- name: パス変数を定義します。
set_fact:
path_var: /bin/ls
::
- name: 非空のvariable_pathをテストします。
debug:
msg: '変数はパスです'
failed_when: path_var is not variable_path
variable_url
変数がURLかどうかを判断します。
変数がURLの場合はtrueが返され、そうでなければfalseが返されます。
::
- name: 存在しないurl変数を定義します。
set_fact:
non_existent_url_var: https://constrict0r.readthedocs.io
::
- name: 非空の非存在でvariable_urlをテストします。
debug:
msg: '変数はURLです'
failed_when: non_existent_url_var is not variable_url
variable_url_existent
変数が存在するURLかどうかを判断します。
単一のファイルを指すURLを使用することをお勧めします。インデックスまたはメインサイトではなく、そうすることで200ステータス以外の応答を防ぐことができます。
::
- name: 存在するurl変数を定義します。
set_fact:
existent_url_var: https://is.gd/AuuivH
::
- name: 非空の存在するvariable_url_existentをテストします。
debug:
msg: '変数はURLです'
failed_when: existent_url_var is not variable_url_existent
YAML
このロールにパラメータとして設定ファイルを渡す際は、各ファイルに*.ymlまたは.yaml*拡張子を追加することをお勧めします。
また、各ファイルの先頭には3つのダッシュを追加することをお勧めします:
::
ファイルにタスクに必要な変数を含めることができます:
::
items: - [gemmata, muscaria]
ファイルやURLからアイテムのリストを読み込ませたい場合は、expand変数をtrueに設定します:
::
items: /home/username/my-config.yml
expand: true
expand変数がfalseの場合、見つかったファイルパスやURLはプレーンテキストとして扱われます。
属性
アイテムレベルでは、このロールがアイテムデータをどのように処理するかを設定するために属性を使用できます。
このロールがサポートしている属性は以下の通りです:
item_expand
このアイテムをファイルパスまたはURLとして扱うか、単にプレーンテキストとして扱うかを示すブール値です。
::
items: - item_expand: true item_path: /home/username/my-config.yml
item_path
.ymlファイルへの絶対ファイルパスまたはURLです。
::
items: - item_path: /home/username/my-config.yml
この属性はURLでも使用できます。
要件
Ansible <https://www.ansible.com>
_ >= 2.8.Jinja2 <https://palletsprojects.com/p/jinja/>
_.Pip <https://pypi.org/project/pip/>
_.Python <https://www.python.org/>
_.PyYAML <https://pyyaml.org/>
_.Requests <https://2.python-requests.org/en/master/>
_.
テストを実行する場合は、次の情報も必要です:
Docker <https://www.docker.com/>
_.Molecule <https://molecule.readthedocs.io/>
_.Setuptools <https://pypi.org/project/setuptools/>
_.
互換性
Debian Buster <https://wiki.debian.org/DebianBuster>
_.Debian Raspbian <https://raspbian.org/>
_.Debian Stretch <https://wiki.debian.org/DebianStretch>
_.Ubuntu Xenial <http://releases.ubuntu.com/16.04/>
_.
制限
このロールは、定義されていない変数がプロセスに入らないようにするために、コレクション内のネストされた変数(例:*{{ my_variable }}*)を無視します。
予期しない動作を防ぐために、使用されていない場合はtitles変数を空にすることをお勧めします:
..
::
ansible localhost -m include_role -a name=constrict0r.unify \
--extra-vars "{ \
items: [gemmata, muscaria], \
titles: []}"
- 予期しない動作を防ぐために、変数expand、secondary、update、およびvalidateを常に渡すことをお勧めします:
..
::
ansible localhost -m include_role -a name=constrict0r.unify \
--extra-vars "{ \
items: [gemmata, muscaria], \
expand: true, \
secondary: true, \
update: false, \
validate: false}"
- このロールはボールト値をサポートしていません。
ライセンス
MITです。詳細についてはLICENSEファイルを参照してください。
リンク
Coveralls <https://coveralls.io/github/constrict0r/unify>
_.Github <https://github.com/constrict0r/unify>
_.Gitlab <https://gitlab.com/constrict0r/unify>
_.Gitlab CI <https://gitlab.com/constrict0r/unify/pipelines>
_.Readthedocs <https://unify.readthedocs.io>
_.Travis CI <https://travis-ci.com/constrict0r/unify>
_.
UML
クラス
プロジェクトのクラスは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/class.png :alt: class
デプロイメント
プロジェクトの完全な構造は以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/deploy.png :alt: deploy
メイン
プロジェクトのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/main.png :alt: main
user-root
テストフィルタuser_rootのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/user_root.png :alt: user_root
variable-boolean
テストフィルタvariable_booleanのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_boolean.png :alt: variable_boolean
variable-boolean-true
テストフィルタvariable_boolean_trueのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_boolean_true.png :alt: variable_boolean_true
variable-collection
テストフィルタvariable_collectionのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_collection.png :alt: variable_collection
variable-empty
テストフィルタvariable_emptyのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_empty.png :alt: variable_empty
variable-path
テストフィルタvariable_pathのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_path.png :alt: variable_path
variable-url
テストフィルタvariable_urlのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_url.png :alt: variable_url
variable-url-existent
テストフィルタvariable_url_existentのデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/variable_url_existent.png :alt: variable_url_existent
unify-collection
unify-collection関数のデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/unify_collection.png :alt: unify_collection
unify-item
unify-item関数のデータフローは以下に示されています:
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/unify_item.png :alt: unify_item
作者
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/author.png :alt: author
旅するバルデビルの悪党です。
楽しんでください!!!
.. image:: https://gitlab.com/constrict0r/img/raw/master/unify/enjoy.png :alt: enjoy
API
パッケージ
Unify-package
library - アイテムのコレクションを統合します。
モジュール library.unify
library.unify.main()
library.unify.run_module()
モジュールを実行します。
:パラメータ: * items (list) – 統合コレクションに追加するアイテムのリスト。
* **titles** (*list*) – ファイルやURLから読み込むコレクションの名前。
* **expand** (*bool*) – パス/URLからアイテムを読み込むか、プレーンパス/URLを使用するか。
:戻り値: 統合されたアイテムのリスト。
:戻り値の型: list
library.unify.unify_collection(collection, unified=[], titles=[], expand=False)
コレクションを単一の統一されたコレクションに統合します。
:パラメータ: * collection (dict) – 統合コレクションに追加するコレクション。
* **unified** (*dict*) – 現在の統一コレクション。
* **titles** (*dict*) – ファイルやURLで検索するアイテムのリスト。
* **expand** (*bool*) – ファイルやURLのアイテムを読み込むかどうか。
:戻り値: 渡されたコレクションを含む統一されたコレクション。
:戻り値の型: dict
library.unify.unify_item(item, unified=[], titles=[], expand=False)
アイテムを単一の統一されたコレクションに統合します。
:パラメータ: * item (str) – 統一されたコレクションに追加する値。
* **unified** (*dict*) – 現在の統一コレクション。
* **titles** (*dict*) – ファイルやURLで検索するアイテムのリスト。
* **expand** (*bool*) – ファイルやURLのアイテムを読み込むかどうか。
:戻り値: 現在のコレクションに現在のアイテムを追加します。
:戻り値の型: dict
library.unify.variable_boolean(value)
変数がブール型かどうかを確認します。
:パラメータ: value (str) – テストする変数。
:戻り値: 変数がブール型であればtrueを返し、そうでなければfalseを返します。
:戻り値の型: bool
library.unify.variable_boolean_value(value)
変数のブール値を取得します。
真のブール値として受け入れられる値は: * true
* True
* yes
偽のブール値として受け入れられる値は: * false
* False
* no
:パラメータ: value (str) – テストする変数。
:戻り値: 変数が真のブール値であればtrueを返し、そうでなければfalseを返します。
:戻り値の型: bool
library.unify.variable_collection(value)
変数がコレクションであるかどうかを確認します。
この関数において、空の変数はコレクションとは見なされません。
:パラメータ: value (str) – テストする変数。
:戻り値: 変数が非空のコレクションであればtrueを返し、そうでなければfalseを返します。
:戻り値の型: bool
library.unify.variable_empty(value)
変数が空かどうかを確認します。
:パラメータ: value (str) – テストする変数。
:戻り値: 変数が非空であればtrueを返し、そうでなければfalseを返します。
:戻り値の型: bool
library.unify.variable_path(value)
変数が存在するファイルであるかどうかを確認します。
:パラメータ: value (str) – テストする変数。
:戻り値: 変数が存在するファイルパスであればtrueを返し、そうでなければfalseを返します。
:戻り値の型: bool
library.unify.variable_url(value)
変数が有効なURLであるかどうかを確認します。
:パラメータ: value (str) – テストする変数。
:戻り値: 変数が有効なURLであればtrueを返し、そうでなければfalseを返します。
:戻り値の型: bool
library.unify.variable_url_existent(value)
変数が存在するURLであるかどうかを確認します。
単一のファイルを指すURLを使用することをお勧めします。インデックスまたはメインサイトではなく。
:パラメータ: value (str) – テストする変数。
:戻り値: 変数が存在するURLであればtrueを返し、そうでなければfalseを返します。
:戻り値の型: bool
Unify collections into a single unified_collection.
ansible-galaxy install constrict0r.unify