The error message here is the RDS API, and it suggests to me that the 
instance_name contains invalid characters. The API response says that RDS 
instance identifiers must have "only ASCII letters, digits, and hyphens; 
and must not end with a hyphen or contain two consecutive hyphens".

The underscore character that you have in the instance_name is not in that 
list of valid characters.

-Baraa

On Tuesday, July 14, 2015 at 6:23:45 PM UTC-4, Guy Knights wrote:
>
> I'm getting the following error when I use the rds module:
>
> failed: [localhost] => {"failed": true, "parsed": false}
> Traceback (most recent call last):
>   File 
> "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", 
> line 2822, in <module>
>     main()
>   File 
> "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", 
> line 1012, in main
>     invocations[module.params.get('command')](module, conn)
>   File 
> "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", 
> line 645, in create_db_instance
>     result = conn.get_db_instance(instance_name)
>   File 
> "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", 
> line 415, in get_db_instance
>     raise e
> boto.exception.JSONResponseError: JSONResponseError: 400 Bad Request
> {'RequestId': '673d1f59-2a74-11e5-af29-2dbda5511805', 'Error': {'Message': 
> 'The parameter Filter: db-instance-id is not a valid identifier. 
> Identifiers must begin with a letter; must contain only ASCII letters, 
> digits, and hyphens; and must not end with a hyphen or contain two 
> consecutive hyphens.', 'Code': 'InvalidParameterValue', 'Type': 'Sender'}}
>
>
> FATAL: all hosts have already failed -- aborting
>
> The task config is as follows:
>
>     - name: provision rds master
>       rds:
>         command: create
>         instance_name: "{{ wl_name }}_db_master"
>         db_engine: MySQL
>         db_name: "{{ db_name }}"
>         instance_type: db.m3.large
>         username: "{{ db_username }}"
>         password: "{{ wl_name}}_db_password"
>         size: 50
>         wait: yes
>         wait_timeout: 600
>         multi_zone: no
>         subnet: "{{ wl_name }}-rds-sg"
>         tags:
>           Application: "{{ wl_name }}"
>           Environment: prod
>         region: us-west-1
>
> I guess it's a problem with the lookup to check if the instance already 
> exists, but I'm not sure what it's supposed to be using as the lookup 
> parameter. Does anyone know why it's wrong, and how to fix it?
>
> Thanks,
> Guy
>

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/3386be62-9541-4003-889b-02fee49e8826%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to