提取Ansible/Shell中的CloudFoundry UAAC访问令牌
以下文件如下: 运行后:提取Ansible/Shell中的CloudFoundry UAAC访问令牌,ansible,cloud-foundry,Ansible,Cloud Foundry,以下文件如下: 运行后: $ uaac target https://OPS-MAN-FQDN/uaa $ uaac token owner get [options] $ uaac contexts 我使用access\u token字段集(也存储在~/.uaac.yml中)获取上下文 如何使用子字符串工具(如awk、gawk等)以编程方式从uaac上下文(如果不是从~/.uaac.yml)提取access\u令牌 我试图在ansible中实现这一点,但shell可以很好地工作 如果您想知
$ uaac target https://OPS-MAN-FQDN/uaa
$ uaac token owner get [options]
$ uaac contexts
我使用access\u token
字段集(也存储在~/.uaac.yml
中)获取上下文
如何使用子字符串工具(如awk、gawk等)以编程方式从uaac上下文
(如果不是从~/.uaac.yml
)提取access\u令牌
我试图在ansible中实现这一点,但shell可以很好地工作
如果您想知道,stdout中uaac context
的输出是:
[2]*[https://OPS-MAN-FQDN/uaa]
skip_ssl_validation: true
[0]*[USERNAME]
user_id: USERID
client_id: CLIENTID
access_token: ACCES_TOKEN
token_type: bearer
refresh_token: REFRESHTOKEN
expires_in: 43199
scope: opsman.admin scim.me opsman.user uaa.admin clients.admin
jti: JTI VALUE
如果您可以使用
grep
,它非常简单:
uaac context | grep -Po '(?<=access_token: ).*'
uaac上下文| grep-Po'(?如果您可以使用grep
它非常简单:
uaac context | grep -Po '(?<=access_token: ).*'
uaac上下文| grep-Po'(?以下是利用Fabian解决方案的Ansible命令:
- name: Extracting UAAC access_token
shell: "uaac context YOUREMAIL | grep -o -P '(?<=access_token:\ ).*(?=)'"
register: context
-名称:提取UAAC访问\u令牌
shell:“uaac上下文YOUREMAIL | grep-o-P'(?以下是利用Fabian解决方案的Ansible命令:
- name: Extracting UAAC access_token
shell: "uaac context YOUREMAIL | grep -o -P '(?<=access_token:\ ).*(?=)'"
register: context
-名称:提取UAAC访问\u令牌
shell:“uaac context YOUREMAIL | grep-o-P'(?如果你能安装一个工具,rq
是阅读.uaac.yml
非常容易的一个选项:。如果不能,你能使用内联python(python-c'cmd'
或ruby-e'cmd'
)?如果你能安装一个工具,rq
是一个非常容易阅读.uaac.yml
的选项:。如果不能,你能使用内联python(python-c'cmd'
或ruby-e'cmd'
)?谢谢Fabian。正如你在评论中提到的,我更喜欢rq这样的工具,以便从结构上提取变量。但由于时间限制,我放弃了,并使用了类似的命令。确切地说:-名称:提取UAAC访问权_令牌外壳:“UAAC上下文YOUREMAIL | grep-o-P”(?谢谢Fabian。正如你在评论中提到的,我更喜欢rq这样的工具,以便从结构上提取变量。但由于时间限制,我放弃了,并使用了类似的命令。确切地说:-名称:提取UAAC访问权\u令牌外壳:“UAAC上下文YOUREMAIL | grep-o-P'(?)?