# Create module ansible

**URL:** <https://forum.ansible.com/t/create-module-ansible/30717>\
**Category:** Ansible Project\
**Created:** [July 4, 2019, 2:40pm UTC](https://forum.ansible.com/t/create-module-ansible/30717 "2019-07-04T14:40:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rafael\_Tomelin](https://avatars.discourse-cdn.com/v4/letter/r/da6949/32.png) [@Rafael\_Tomelin](https://forum.ansible.com/u/Rafael_Tomelin)\
**Post date:** [July 4, 2019, 2:40pm UTC](https://forum.ansible.com/t/create-module-ansible/30717/1 "2019-07-04T14:40:18Z")

</div>

Hi guys,

I maned be creating ansible module for generating name my resources a cloud, but need before defined fields know this type of resource.  
I wanna valid field type before declared other fields.

Ex.:  
fields = {“type”: {“required”: False, “type”: “str”}}  
module = AnsibleModule(argument\_spec=fields)

if module.params[‘type’] == ‘vm’:  
fields = {  
“entity”: {“required”: False, “type”: “str”},  
“region”: {“required”: False, “type”: “str”},  
“product”: {“default”: False, “type”: “str” },  
“environment”: {“default”: False, “type”: “str” },  
“resource”: {“required”: False, “type”: “str” },  
“os”: {“default”: False, “type”: “str” },  
“type”: {“required”: True, “type”: “str”},  
}  
else:  
fields = {  
“entity”: {“required”: True, “type”: “str”},  
“region”: {“required”: True, “type”: “str”},  
“product”: {“default”: True, “type”: “str” },  
“environment”: {“default”: True, “type”: “str” },  
“purpose”: {“default”: True, “type”: “str” },  
“resource”: {“required”: True, “type”: “str” },  
“acronym”: {“default”: True, “type”: “str” },  
“type”: {“required”: True, “type”: “str”},  
}

module = AnsibleModule(argument\_spec=fields)

…

but return error msg: ‘Unsupported parameters for (generate\_name) module: entity, environment, os, product, region, resource Supported parameters include: type’

How can valid type value?
