GithubHelp home page GithubHelp logo

Comments (2)

zemosoramesh avatar zemosoramesh commented on June 3, 2024

Any workaround here?

from caf-terraform-landingzones.

YSDimov avatar YSDimov commented on June 3, 2024

@zemosoramesh ive used this code to replace with_filetree. Could you try and reply if it works for you?

`- debug:
msg:
- '{{deployment_mode}}'
- '{{stage}}'
- '{{region}}'
- '{{service}}'

  • name: '{{destination_alz_path}} - Set tfstate_object'
    set_fact:
    tfstate_object: '{{resources[''alz_'' + service].tfstate}}'

  • name: '{{destination_path}}/{{stage}} - Set landingzone file_path'
    set_fact:
    alz_template_folder: '{{public_templates_folder}}/{{ tfstate_object.template_lib_folder}}'
    destination_alz_path: '{{destination_path}}/{{stage}}/{{service}}'

  • name: '{{destination_alz_path}} - Set landingzone file_path'
    set_fact:
    template_lib_folder: '{{alz_template_folder}}/lib/{{ tfstate_object.alz_version }}'

  • name: '{{destination_alz_path}} - Set landingzone file_path'
    set_fact:
    mg: >-
    {{ lookup('template', '{{ template_lib_folder
    }}/archetype_config_overrides.caf.platform.yaml') | from_yaml }}
    mg_custom: >-
    {{ lookup('template', '{{ template_lib_folder
    }}/custom_landing_zones.caf.platform.yaml') | from_yaml }}

  • debug:
    msg:
    - 'tfstate_object: {{resources[''alz_'' + service].tfstate}}'
    - 'destination_alz_path: {{destination_path}}/{{stage}}/{{service}}'
    - >-
    template_lib_folder: {{alz_template_folder}}/lib/{{
    tfstate_object.alz_version }}
    - >-
    alz_template_folder: {{public_templates_folder}}/{{
    tfstate_object.template_lib_folder}}
    - 'tfstate_object: {{resources[''alz_'' + service].tfstate}}'
    - 'mkdir -p {{ destination_alz_path }}/lib/'

  • name: Clean-up destination directory
    shell: |
    rm -rf "{{ destination_alz_path }}"
    when:

      topology.management_groups[region][service].clean_up_destination_folder |
      default(True)
  • find:
    file_type: any
    get_checksum: true
    paths: '{{template_lib_folder}}'
    recurse: true
    register: out

  • debug:
    msg:
    - 'out: {{ out }}'
    - 'test1: {{ out.files | list }}'
    - 'test2: {{ out.files | to_json }}'
    - 'test3: {{ out.files[0] }}'
    - >-
    array: {{ out.files | groupby('path') | map(attribute='1.0.path') | list
    }}

  • name: '{{destination_alz_path}} - Set folder array variable'
    set_fact:
    folder_list: '{{ out.files }}'

  • file:
    path: '{{ destination_alz_path }}/lib'
    state: directory
    name: Create needed target dir

  • loop: '{{ folder_list }}'
    name: 'Creates directory structure - {{template_lib_folder}}'
    shell: >-
    mkdir -p "{{ destination_alz_path }}/lib/{{ item.path |
    regex_replace(template_lib_folder, '') }}"
    when: item.isdir == true

  • ansible.builtin.template:
    dest: >-
    {{ destination_alz_path }}/lib/{{ item.path |
    regex_replace(template_lib_folder, '') }}
    force: 'yes'
    src: '{{ item.path }}'
    loop: '{{ folder_list }}'
    name: ' Lib'
    when:

    • item.isdir == false
    • item.path is not search(".j2")
      item.path is not search(".yaml") or item.path is search(".json") or
      item.path is search(".md")
      topology.management_groups[region][service].update_lib_folder |
      default(True)
  • ansible.builtin.template:
    dest: >-
    {{ destination_alz_path }}/{{ item.path |
    regex_replace(template_lib_folder, '') }}
    force: 'yes'
    src: '{{ item.path }}'
    loop: '{{ folder_list }}'
    name: ' Lib'
    when:

    • item.isdir == false
    • item.path is search(".yaml")
      topology.management_groups[region][service].update_lib_folder |
      default(True)
  • ansible.builtin.template:
    dest: '{{destination_path}}/{{resources[stage + '''' + item].tfstate.config_file}}'
    src: >-
    {{platform_service_folder}}/{{topology.deployments[deployment_mode][stage][region][item]}}
    loop: '{{topology.deployments[deployment_mode][stage][region].keys()}}'
    name: >-
    {{deployment_mode}}/{{stage}}/{{region}}/{{service}} to
    {{destination_path}}/{{'alz
    ' + service}}.yaml`

from caf-terraform-landingzones.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.