WebLogic Deploy Toolingでは、モデル・フィルタを使用してドメイン・モデルを操作できます。 バリデートとドメインへの適用前に、Create Domain、Update DomainおよびDeploy Applications Toolによって、モデルの読取り後にフィルタが適用されます。 Discover Domain Toolは、モデルがバリデートおよび書込みされる前に、検出後にモデルにフィルタを適用します。
モデル・フィルタはJythonで記述され、対応するバージョンのWLSTで使用されるバージョンと互換性がある必要があります。 フィルタはメソッドfilter_model(model)
を実装する必要があります。これは、ドメイン・モデルをJythonディクショナリとして単一の引数として受け入れます。 このメソッドでは、必要なドメイン・モデルを調整できます。 フィルタは、WebLogic Deploy Toolingによってアクセス可能なかぎり、任意のディレクトリに格納できます。
次のフィルタ例( fix-password.py
)は、SecurityConfiguration
WLSTフォルダ内の2つの属性のパスワードを設定します。
def filter_model(model):
if model and 'topology' in model:
if 'SecurityConfiguration' in model['topology']:
model['topology']['SecurityConfiguration']['CredentialEncrypted'] = 'welcome1'
model['topology']['SecurityConfiguration']['NodeManagerPasswordEncrypted'] = 'welcome1'
print 'Replaced SecurityConfiguration password'
else:
print 'SecurityConfiguration not in the model'
モデル・フィルタは、WLSDEPLOY_HOME/lib
ディレクトリにmodel_filters.json
ファイルを作成することによって構成されます。 このファイルには、特定のツールに適用されるフィルタ用の個別のセクションがあります。
もう1つのオプションは、「カスタム構成」ディレクトリにモデル・フィルタを構成することです。 $WDT_CUSTOM_CONFIG
ディレクトリにmodel_filters.json
ファイルを作成します。
この例では、Create Domain Tool用に2つのフィルタ(fix-password.py
とno-mail.py
)を構成し、Discover Domainツール用に1つのフィルタを構成します。
{
"create": [
{ "name": "fixPassword", "path": "/home/user/fix-password.py" },
{ "name": "noMail", "path": "/home/user/no-mail.py" }
],
"deploy": [
],
"discover": [
{ "name": "noMail", "path": "/home/user/no-mail.py" }
],
"update": [
]
}
ドメイン・モデルに対する変更を実行するために、WebLogic Deploy Toolingによって内部フィルタが提供されます。 ターゲット構成ファイルでIDで参照されます。 この例では、Create Domain Toolで使用する内部フィルタwko_filter
およびユーザー定義フィルタfix-password
の使用を示します。
{
"create": [
{ "name": "fixPassword", "path": "/home/user/fix-password.py" },
{ "id": "wko_filter" }
]
}
内部フィルタは、他のタイプのフィルタのようにコピーまたは変更できません。
wko_filter
このフィルタは、WebLogic Kubernetes Operatorで使用するドメイン・モデルを準備します。 次の変更が実行されます:
CalculatedListenPorts
属性をfalseに設定