Ansible:检查提示值

Ansible:检查提示值,ansible,prompt,Ansible,Prompt,我创建了一个Ansible playbook脚本,运行它需要用户交互。 现在我需要检查用户在提示时是否正确插入了值 vars_prompt: - name: "vm_env" prompt: "vm_env (values: PRD, TST, DEV)" default: "DEV" private: false 如何检查用户是否只正确插入了其中一个值(PRD、TST、DEV),以及是否插入了case

我创建了一个Ansible playbook脚本,运行它需要用户交互。 现在我需要检查用户在提示时是否正确插入了值

  vars_prompt:
  - name: "vm_env"
    prompt: "vm_env (values: PRD, TST, DEV)"
    default: "DEV"
    private: false
如何检查用户是否只正确插入了其中一个值(PRD、TST、DEV),以及是否插入了case stop脚本

谢谢你的支持 Marco

如果条件不匹配,则有一种可能会验证内容并失败,并显示相应的错误消息

例如:

vars\u提示符:
-名称:“vm_env”
提示:“虚拟机环境(值:PRD、TST、DEV)”
默认值:“DEV”
二等兵:错
任务:
#“|下”过滤器用于修复任何大小写不一致,如果大小写匹配则不需要
-断言:
即:
-vm|U环境|在[‘珠三角’、‘尖沙咀’、‘开发’较低]
fail_msg:“虚拟机环境应该是以下环境之一:PRD、TST、DEV”
如果条件不匹配,则有一个Ansible来验证内容并失败,并显示相应的错误消息

例如:

vars\u提示符:
-名称:“vm_env”
提示:“虚拟机环境(值:PRD、TST、DEV)”
默认值:“DEV”
二等兵:错
任务:
#“|下”过滤器用于修复任何大小写不一致,如果大小写匹配则不需要
-断言:
即:
-vm|U环境|在[‘珠三角’、‘尖沙咀’、‘开发’较低]
fail_msg:“虚拟机环境应该是以下环境之一:PRD、TST、DEV”
如果您想给用户改进的机会,请使用。但是,没有默认设置

-hosts:localhost
收集事实:错误
任务:
-暂停:
提示:“虚拟机环境(值:PRD、TST、DEV)”
寄存器:结果
until:result.user|u input |默认(“”)在['PRD'、'TST'、'DEV']
重试次数:3次
延迟:0
-设定事实:
vm_env:“{{result.user_input}”
给予

PLAY[localhost]****
任务[暂停]****
[暂停]
vm_环境(值:PRD、TST、DEV):
确定:[本地主机]
任务[设置事实]****
确定:[本地主机]
任务[调试]****
确定:[本地主机]=>{
“vm_env”:“珠江三角洲”
}
重演****
localhost:确定=3更改=0无法访问=0失败=0跳过=0获救=0忽略=0
如果您想给用户改进的机会,请使用。但是,没有默认设置

-hosts:localhost
收集事实:错误
任务:
-暂停:
提示:“虚拟机环境(值:PRD、TST、DEV)”
寄存器:结果
until:result.user|u input |默认(“”)在['PRD'、'TST'、'DEV']
重试次数:3次
延迟:0
-设定事实:
vm_env:“{{result.user_input}”
给予

PLAY[localhost]****
任务[暂停]****
[暂停]
vm_环境(值:PRD、TST、DEV):
确定:[本地主机]
任务[设置事实]****
确定:[本地主机]
任务[调试]****
确定:[本地主机]=>{
“vm_env”:“珠江三角洲”
}
重演****
localhost:确定=3更改=0无法访问=0失败=0跳过=0获救=0忽略=0

在提示中,是否可以无值禁用,或强制使用介于“已接受”和“已接受”之间的值?我认为不可能防止按下“空”键。但是
default
参数应该会处理好它。嗨,seshadri_c,我找到了解决方案:直到:vm_ip_result.user_input | length>0在提示符中,是否可以无值禁用,或者强制使用一个介于已接受之间的值?我认为不可能防止按下empty。但是
default
参数应该会处理它。您好,我找到了解决方案:until:vm\u ip\u result.user\u input | length>0感谢您的支持。我试图使用你的代码,但我总是收到一个错误,不接受任何值,我试图插入PRD或PRD,但它不接受。不客气。我再次检查了代码。这对我有用。我已经添加了一个输出示例。感谢您的支持。我试图使用你的代码,但我总是收到一个错误,不接受任何值,我试图插入PRD或PRD,但它不接受。不客气。我再次检查了代码。这对我有用。我添加了一个输出示例。