I suspect the issue is introduced by the copy/pasting. Can you pipe it directly to yamllint and tell us what that says?
DIck On Tue, 8 Jan 2019 at 11:06, Kishore Ponniah <[email protected]> wrote: > > Please find my code below: I checked the code using YAML validator and looks > like it is valid. But still complaining about Line 12 column 6. > > Any help please? > > --- > # This playbook builds IAM infrastructure in all configured accounts > - name: Install/Update RXGT Identity account CF templates > hosts: infrastructure > tasks: > > - name: Install/Update RXGT PS cross account CF templates > hosts: infrastructure > tasks: > # Support using STS temporary creds (optional) > # See readme.md > - name: get sts session token > sts_session_token: > duration_seconds: "{{ sts_session_duration | default(3600) }}" > # Support role policy with mandatory MFA > mfa_serial_number: "{{ sts_mfa_serial_number | default(omit) }}" > mfa_token: "{{ sts_mfa_token | default(omit) }}" > register: sts_session_token > when: with_sts > tags: > rxgt-ps-identity-stack-deploy > > - name: retrieve sts credentials > set_fact: > sts_access_key: "{{ sts_session_token.sts_creds.access_key }}" > sts_secret_key: "{{ sts_session_token.sts_creds.secret_key }}" > sts_session_token: "{{ sts_session_token.sts_creds.session_token }}" > when: with_sts > tags: > rxgt-ps-identity-stack-deploy > > - name: debug role arns > debug: > msg: "Assuming role: {{ account_config.sts_role_arn }}" > verbosity: 1 > loop: "{{ rxgt_identity_account['deploy_accounts']|map('extract', > rxgt_identity_account['account_config'])|list }}" > loop_control: > loop_var: account_config > label: "{{ account_config.sts_role_arn }}" > tags: > rxgt-ps-identity-stack-deploy > > - name: assume cross account roles > sts_assume_role: > role_arn: "{{ account_config.sts_role_arn }}" > role_session_name: "ansibledeploy" > duration_seconds: "{{ sts_session_duration | default(3600) }}" > # Use STS temporary creds or fallback to aws cli/boto creds - see readme.md > aws_access_key: "{{ sts_access_key | default(omit) }}" > aws_secret_key: "{{ sts_secret_key | default(omit) }}" > security_token: "{{ sts_session_token | default(omit) }}" > # Support role policy with mandatory MFA > mfa_serial_number: "{{ sts_mfa_serial_number | default(omit) }}" > mfa_token: "{{ sts_mfa_token | default(omit) }}" > loop: "{{ rxgt_identity_account['deploy_accounts']|map('extract', > rxgt_identity_account['account_config'])|list }}" > loop_control: > loop_var: account_config > label: "{{ account_config.sts_role_arn }}" > # > https://docs.ansible.com/ansible/latest/user_guide/playbooks_loops.html#using-register-with-a-loop > register: assumed_roles_with_account_config > tags: > rxgt-ps-identity-stack-deploy > > - name: create rxgt-ps-cross-account-iam-atlas-developer-roles changeset > cloudformation: > stack_name: "rxgt-ps-cross-account-iam-atlas-developer-roles" > state: present > region: "{{ account_config.1 }}" > aws_access_key: "{{ account_config.0.sts_creds.access_key }}" > aws_secret_key: "{{ account_config.0.sts_creds.secret_key }}" > security_token: "{{ account_config.0.sts_creds.session_token }}" > create_changeset: true > changeset_name: "{{ cf_changeset_name }}" > # Don't pass the cd-deploy-role to CF due to [possible privilege > escalation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html) > # for anyone able to perform stack updates. > # role_arn: "{{ account_config.0.account_config.pass_role_arn }}" > template_url: > "https://s3.console.aws.amazon.com/s3/buckets/xxxxxxxxxxxxxxxx/xxxxxxxxxxxx/xxxxxxxxxx/xxxxxxxxx/rxgt-ps-cross-account-iam-atlas-developer-roles.yaml" > template_parameters: "{{ > account_config.0.account_config.stacks['rxgt-ps-cross-account-iam-atlas-developer-roles'].params > }}" > termination_protection: no > tags: "{{ global_tags | > combine(account_config.0.account_config.stacks['rxgt-ps-cross-account-iam-atlas-developer-roles'].override_tags, > recursive=True) }}" > # Convert to a list of dicts duplicated per region. See > https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#subelements-filter > loop: "{{ > assumed_roles_with_account_config.results|subelements('account_config.regions', > skip_missing=True) }}" > loop_control: > loop_var: account_config > label: "{{ account_config.0.account_config.account_alias }}:{{ > account_config.1 }}" > tags: > rxgt-ps-identity-stack-deploy > > - name: create rxgt-ps-cross-account-iam-atlas-developer-roles stack > cloudformation: > stack_name: "rxgt-ps-cross-account-iam-atlas-developer-roles" > state: present > region: "{{ account_config.1 }}" > aws_access_key: "{{ account_config.0.sts_creds.access_key }}" > aws_secret_key: "{{ account_config.0.sts_creds.secret_key }}" > security_token: "{{ account_config.0.sts_creds.session_token }}" > create_changeset: false > changeset_name: "{{ cf_changeset_name }}" > # Don't pass the cd-deploy-role to CF due to [possible privilege > escalation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html) > # for anyone able to perform stack updates. > # role_arn: "{{ account_config.0.account_config.pass_role_arn }}" > template_url: > "https://s3.console.aws.amazon.com/s3/buckets/xxxxxxxxxxxxxxxx/xxxxxxxxxxxx/xxxxxxxxxx/xxxxxxxxx/rxgt-ps-cross-account-iam-atlas-developer-roles.yaml" > template_parameters: "{{ > account_config.0.account_config.stacks['rxgt-ps-cross-account-iam-atlas-developer-roles'].params > }}" > termination_protection: no > tags: "{{ global_tags | > combine(account_config.0.account_config.stacks['rxgt-ps-cross-account-iam-atlas-developer-roles'].override_tags, > recursive=True) }}" > # Convert to a list of dicts duplicated per region. See > https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#subelements-filter > loop: "{{ > assumed_roles_with_account_config.results|subelements('account_config.regions', > skip_missing=True) }}" > loop_control: > loop_var: account_config > label: "{{ account_config.0.account_config.account_alias }}:{{ > account_config.1 }}" > when: with_stack_deploy > tags: > rxgt-ps-identity-stack-deploy > > On Tuesday, January 8, 2019 at 1:37:43 AM UTC, goforawalktwice wrote: >> >> ooops ... the error was due to me copy/paste formatting - the second '-name' >> got indented too far - fixing that indentation makes it valid YAML according >> to that site >> >> >> On Tuesday, January 8, 2019 at 2:04:24 PM UTC+13, Karl Auer wrote: >>> >>> What is the problem that it reports on line 22? >>> >>> When posting code, please post in a fixed-width font if you can. Makes it >>> easier to check indentation. >>> >>> Regards, K. >>> >>> >>> On Tue, Jan 8, 2019 at 11:58 AM goforawalktwice <[email protected]> wrote: >>>> >>>> hi, when I paste that YAML to >>>> >>>> https://jsonformatter.org/yaml-validator >>>> >>>> it reckons line 22 is a problem - the second -name entry. When I remove >>>> from line 22 down it reckons it's valid YAML. >>>> >>>> Regards, Straff >>>> >>>> >>>> >>>> On Tuesday, January 8, 2019 at 5:34:25 AM UTC+13, Kishore Ponniah wrote: >>>>> >>>>> Hi all, >>>>> >>>>> My cloudformation template has exceeded the template body limit more than >>>>> 51200 bytes and I am trying to upload to s3 and deploy using cross >>>>> account. I used template_url parameter in the playbook but giving an >>>>> error. Before adding template_url, I had template_body which was working >>>>> fine. I have only replaced template_body to template_url. >>>>> >>>>> Please find the playbook below: >>>>> >>>>> - name: create xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles changeset >>>>> cloudformation: >>>>> stack_name: "xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles" >>>>> state: present >>>>> region: "{{ account_config.1 }}" >>>>> aws_access_key: "{{ account_config.0.sts_creds.access_key }}" >>>>> aws_secret_key: "{{ account_config.0.sts_creds.secret_key }}" >>>>> security_token: "{{ account_config.0.sts_creds.session_token }}" >>>>> create_changeset: true >>>>> changeset_name: "{{ cf_changeset_name }}" >>>>> template_url: >>>>> "https://s3.console.aws.amazon.com/s3/buckets/xxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxx/cloudformation/xxxxxxx/xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles.yaml" >>>>> template_parameters: "{{ account_config.0.account_config.stacks[' >>>>> xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles'].params }}" >>>>> termination_protection: no >>>>> tags: "{{ global_tags | >>>>> combine(account_config.0.account_config.stacks[' >>>>> xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles'].override_tags, >>>>> recursive=True) }}" >>>>> loop: "{{ >>>>> assumed_roles_with_account_config.results|subelements('account_config.regions', >>>>> skip_missing=True) }}" >>>>> loop_control: >>>>> loop_var: account_config >>>>> label: "{{ account_config.0.account_config.account_alias }}:{{ >>>>> account_config.1 }}" >>>>> tags: >>>>> rxgt-ps-identity-stack-deploy >>>>> >>>>> - name: create xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles stack >>>>> cloudformation: >>>>> stack_name: "xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles" >>>>> state: present >>>>> region: "{{ account_config.1 }}" >>>>> aws_access_key: "{{ account_config.0.sts_creds.access_key }}" >>>>> aws_secret_key: "{{ account_config.0.sts_creds.secret_key }}" >>>>> security_token: "{{ account_config.0.sts_creds.session_token }}" >>>>> create_changeset: false >>>>> changeset_name: "{{ cf_changeset_name }}" >>>>> template_url: >>>>> "https://s3.console.aws.amazon.com/s3/buckets/xxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxx/cloudformation/xxxxxxx/xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles.yaml" >>>>> template_parameters: "{{ >>>>> account_config.0.account_config.stacks['xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles'].params >>>>> }}" >>>>> termination_protection: no >>>>> tags: "{{ global_tags | >>>>> combine(account_config.0.account_config.stacks['xx-xxxx-xxxx-xxxxxx-iam-atlas-developer-roles'].override_tags, >>>>> recursive=True) }}" >>>>> # Convert to a list of dicts duplicated per region. See >>>>> https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#subelements-filter >>>>> loop: "{{ >>>>> assumed_roles_with_account_config.results|subelements('account_config.regions', >>>>> skip_missing=True) }}" >>>>> loop_control: >>>>> loop_var: account_config >>>>> label: "{{ account_config.0.account_config.account_alias }}:{{ >>>>> account_config.1 }}" >>>>> when: with_stack_deploy >>>>> tags: >>>>> rxgt-ps-identity-stack-deploy >>>> >>>> -- >>>> 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/c8fce4d7-b3f2-4495-9604-d554187f7ea0%40googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>> >>> >>> >>> -- >>> Karl Auer >>> >>> Email : [email protected] >>> Website: http://2pisoftware.com >>> >>> GPG/PGP : 958A 2647 6C44 D376 3D63 86A5 FFB2 20BC 0257 5816 >>> Previous: F0AB 6C70 A49D 1927 6E05 81E7 AD95 268F 2AB6 40EA > > -- > 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/28a0aea4-ce8c-4d6a-bda8-e33824808a19%40googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- Dick Visser Trust & Identity Service Operations Manager GÉANT -- 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/CAL8fbwOoMSwVKy9Fn_iLRot2cAQvYMY8EfFR5t%2BN2uwtT1155Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
