I'm trying to pass a generic date to the expires key in the user module and 
convert it inline so that our inventory doesn't have to include this same 
jinja over and over: 


```
users:
  name: asmith
  comment: Adam Smith
  key_exclusive: true
  key: |
    abcdefghijklmnopqrstuvwxyz

create_users:
  - >
    {{ users['asmith']  | combine(
      {'expires':("2022-07-12 00:00:00" | to_datetime).strftime("%s")
      ,'state':'present'
      })
    }}
```

My try thus far is

```yaml
- name: Create/Remove users
  user:
    name: "{{ item.name }}"
    update_password: "{{ item.update_password | default('always') }}"
    password: "{{ item.password | default(omit) }}"
    state:    "{{ item.state    | default('present') }}"
    remove:   "{{ item.remove   | default('no') }}"
    shell:    "{{ item.shell    | default('/bin/bash') }}"
    comment:  "{{ item.comment  | default(omit) }}"
    # account expires on whole day only
    expires:  "{% if 'expires' in item %}{{ ((item.expires + ' 00:00:00') | 
to_datetime).strftime('%s') | int }}{% else %}-1{% endif %}"
    group:    "{{ item.name }}"
    groups:   "{{ item.groups | default(omit) }}"
    append:   "{{ item.append   | default('no') }}" # "no" =  always remove 
from unspecified groups
  loop: "{{ create_users }}"
  loop_control:
    label: "{{ item.name }}"
  when:
    - create_users is defined
```

I call ansible-playbook with env var ANSIBLE_JINJA2_NATIVE=True.

However, I get the error: 
```
failed: [node1] (item=asmith) => changed=false 
  ansible_loop_var: item
  item:
    comment: Adam Smith
    groups:
    - admin
    key: |-
      abcdefghijklmnopqrstuvwxyz    
    name: asmith
  msg: 'argument expires is of type <type ''str''> and we were unable to 
convert to float: <type ''str''> cannot be converted to a float'
```


-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/b5d12bc3-e8bb-417a-949f-bcad5e718773n%40googlegroups.com.

Reply via email to