Skip to content
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • По умолчанию (Нет скина)
  • Нет скина
Collapse

Networks Engineering

  1. Главная
  2. Центры обработки данных и облако
  3. Cisco Intersight
  4. присоединение шаблона vnic ansible к политике подключения к локальной сети

присоединение шаблона vnic ansible к политике подключения к локальной сети

Запланировано Прикреплена Закрыта Перенесена Cisco Intersight
16 Сообщения 0 Posters 0 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • R Не в сети
    R Не в сети
    roxyfoxtrotter
    написал в отредактировано
    #3

    Есть какие-нибудь идеи? Я посмотрел инструменты разработчика Chrome в разделе «Сеть» и попробовал "Cdn"
    :
    {
    "Source"
    :
    "vnic"
    "Value"
    :
    "{{ vnic_template_fabA }}"
    } но это не сработало.

    1 ответ Последний ответ
    0
    • D Не в сети
      D Не в сети
      dsoper
      написал в отредактировано
      #4

      Пример создания шаблона vnic и его привязки к политикам можно найти по адресу https://github.com/CiscoDevNet/intersight-ansible/blob/main/playbooks/intersight_vnic_template.yml . Для привязки шаблонов к политикам необходимо использовать ресурс массового API.

      1 ответ Последний ответ
      0
      • R Не в сети
        R Не в сети
        roxyfoxtrotter
        написал в отредактировано
        #5

        Это создает виртуальные сетевые карты, если они отсутствуют? Я получил свой плейбук для создания шаблонов виртуальных сетевых карт, но мне также нужно создать виртуальные сетевые карты из vmnic0-vmnic7.

        1 ответ Последний ответ
        0
        • D Не в сети
          D Не в сети
          dsoper
          написал в отредактировано
          #6

          Да, vnic_name в плейбуке будет создан, если он еще не существует.

          1 ответ Последний ответ
          0
          • R Не в сети
            R Не в сети
            roxyfoxtrotter
            написал в отредактировано
            #7

            Я не понимаю, почему задача по созданию виртуальных сетевых карт пропускается. Вот мой измененный плейбук. Шаблоны виртуальных сетевых карт создаются, но отсутствующие виртуальные сетевые карты: vmnic0-vmnic7 -
            name
            :
            "Configure vNIC Templates"
            vars
            :
            api_info
            :
            &
            api_info_vnic api_private_key
            :
            "{{ api_private_key }}"
            api_key_id
            :
            "{{ api_key_id }}"
            api_uri
            :
            "{{ api_uri | default(omit) }}"
            validate_certs
            :
            "{{ validate_certs | default(omit) }}"
            state
            :
            "{{ state | default('present') }}"
            block
            :

            name
            :
            "Configure vNIC Templates in Intersight"
            cisco
            .
            intersight
            .
            intersight_rest_api
            :
            <<
            :
            *
            api_info_vnic resource_path
            :
            "/vnic/VnicTemplates"
            query_params
            :
            $filter
            :
            "Name eq '{{ item.name }}'"
            api_body
            :
            Name
            :
            "{{ item.name }}"
            Organization
            :
            Moid
            :
            "{{ intersight_org.api_response.Moid }}"
            Description
            :
            "vNIC Template for {{ item.name }}"
            Cdn
            :
            Source
            :
            "vnic"
            EnableOverride
            :
            false EthAdapterPolicy
            :
            Moid
            :
            "{{ ethernet_adapter_policy_details.api_response.Moid }}"
            EthQosPolicy
            :
            Moid
            :
            "{{ ethernet_qos_policy_details.api_response.Moid }}"
            FabricEthNetworkControlPolicy
            :
            Moid
            :
            "{{ ethernet_network_control_policy_details.api_response.Moid }}"
            FabricEthNetworkGroupPolicy
            :

            Moid
            :
            "{{ item.eth_network_group_policy }}"
            FailoverEnabled
            :
            false MacPool
            :
            Moid
            :
            "{{ item.mac_pool }}"
            SwitchId
            :
            "{{ item.switch_id }}"
            Tags
            :

            Key
            :
            "configmode"
            Value
            :
            "ansible"

            Key
            :
            "prefix"
            Value
            :
            "{{ prefix }}"
            loop
            :
            "{{ vnic_templates }}"
            loop_control
            :
            label
            :
            "{{ item.name }}"
            register
            :
            template_resp

            name
            :
            "Get LAN Connectivity Policy Moid"
            cisco
            .
            intersight
            .
            intersight_rest_api
            :
            <<
            :
            *
            api_info_vnic resource_path
            :
            /
            vnic
            /
            LanConnectivityPolicies query_params
            :
            $filter
            :
            "Name eq '{{ name_of_fc_lan_connectivity_policy_biz }}'"
            register
            :
            lan_resp

            name
            :
            "Get Moid of vNICs by Name"
            cisco
            .
            intersight
            .
            intersight_rest_api
            :
            <<
            :
            *
            api_info_vnic resource_path
            :
            /
            vnic
            /
            EthIfs query_params
            :
            $filter
            :
            "Name eq '{{ item.vnic }}'"
            loop
            :
            "{{ vnic_templates }}"
            loop_control
            :
            label
            :
            "{{ item.vnic }}"
            register
            :
            vnic_resp

            name
            :
            "Debug vnic_resp"
            debug
            :
            var
            :
            vnic_resp

            Derive profiles from template (if profiles don't already exist)

            name
            :
            "POST to derive {{ item.vnic }}"
            intersight_rest_api
            :
            resource_path
            :
            /
            bulk
            /
            MoCloners update_method
            :
            post api_body
            :
            |
            {
            "Organization"
            :
            {
            "Moid"
            :
            "{{ intersight_org.api_response.Moid }}"
            }
            ,
            "Sources"
            :
            [
            {
            "ClassId"
            :
            "mo.MoRef"
            ,
            "ObjectType"
            :
            "vnic.VnicTemplate"
            ,
            "Moid"
            :
            "{{ template_resp.api_response.Moid }}"
            }
            ]
            ,
            "Targets"
            :
            [
            {
            "Name"
            :
            "{{ item.vnic }}"
            ,
            "LanConnectivityPolicy"
            :
            "{{ lan_resp.api_response.Moid }}"
            ,
            "MacAddressType"
            :
            "POOL"
            ,
            "ObjectType"
            :
            "vnic.EthIf"
            ,
            "Placement"
            :
            {
            }
            ,
            "ClassId"
            :
            "vnic.EthIf"
            }
            ]
            }
            when
            :
            vnic_resp
            is
            not
            defined
            or
            vnic_resp
            .
            results
            is
            not
            defined
            or
            vnic_resp
            .
            results
            |
            length

            0
            or
            vnic_resp
            .
            results
            [
            0
            ]
            .
            api_response
            is
            not
            defined loop
            :
            "{{ vnic_templates }}"
            loop_control
            :
            label
            :
            "{{ item.vnic }}" .

            1 ответ Последний ответ
            0
            • R Не в сети
              R Не в сети
              roxyfoxtrotter
              написал в отредактировано
              #8

              Я запустил плейбук в автономном режиме, но получил следующую ошибку: fatal: [localhost]: FAILED! => {
              "msg": "Условная проверка 'vnic_resp.api_response не определена или не является vnic_resp.api_response.Results' не прошла. Ошибка: ошибка при оценке условия (vnic_resp.api_response не определено или не является vnic_resp.api_response.Results): 'dict object' не имеет атрибута 'Results'\n\nОшибка, по-видимому, находится в 'create_vnics.yml': строка 100, столбец 7, но может\nбыть и в другом месте файла, в зависимости от точной синтаксической проблемы.\n\nСтрока, вызывающая ошибку, находится, по-видимому, здесь:\n\n # POST для получения vNIC '{{ vnic_name }}'\n - name: "POST для получения vNIC '{{ vnic_name }}'"\n ^ здесь\nВозможно, мы ошибаемся, но, по-видимому, проблема заключается в\nотсутствии кавычек. Всегда заключайте в кавычки скобки выражения шаблона, когда они\nначинают значение. Например:\n\n with_items:\n - {{ foo }}\n\nДолжно быть написано так:\n\n with_items:\n - "{{ foo }}"\n"
              }

              1 ответ Последний ответ
              0
              • R Не в сети
                R Не в сети
                roxyfoxtrotter
                написал в отредактировано
                #9

                Это сценарий, который я скопировал из репозитория github, но при выполнении задачи по созданию виртуальной сетевой карты постоянно возникает ошибка. -

                name
                :
                "Configure vNIC from Template"
                hosts
                :
                localhost connection
                :
                local gather_facts
                :
                false vars
                :
                api_info
                :
                &
                api_info api_private_key
                :
                "ansible-automation-SecretKey.txt"
                api_key_id
                :
                "xxxxxxxxxx api_uri
                :
                "https://cva"
                validate_certs
                :
                false state
                :
                present prefix
                :
                "DC1"
                org_name
                :
                "my_org"
                template_name
                :
                "name_of_vnic_template_A"
                lan_connectivity_policy
                :
                "fc_lan_connectivity_policy"
                vnic_name
                :
                "vnic0"
                mac_pool
                :
                "{{ prefix }}-Mac-Pool-A"
                network_group
                :
                "{{ prefix }}-vSwitch0-Policy"
                network_control_policy
                :
                "{{ prefix }}-Enable-CDP-LLDP-Policy"
                qos_policy
                :
                "{{ prefix }}-EthernetQoS-Policy"
                ethernet_adapter_policy
                :
                "{{ prefix }}-EthAdapter-VMware-Policy"
                tasks
                :

                name
                :
                "Get Organization Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                organization
                /
                Organizations query_params
                :
                $filter
                :
                "Name eq '{{ org_name }}'"
                register
                :
                org_resp

                name
                :
                "Get vNIC Template Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                vnic
                /
                VnicTemplates query_params
                :
                $filter
                :
                "Name eq '{{ template_name }}'"
                register
                :
                template_resp

                name
                :
                "Check if FC vNIC '{{ vnic_name }}' exists"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                vnic
                /
                EthIfs query_params
                :
                $filter
                :
                "Name eq '{{ vnic_name }}'"
                register
                :
                vnic_resp

                name
                :
                "Get MAC Pool Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                macpool
                /
                Pools query_params
                :
                $filter
                :
                "Name eq '{{ mac_pool }}'"
                register
                :
                mac_resp

                name
                :
                "Get Network Group Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                fabric
                /
                EthNetworkGroupPolicies query_params
                :
                $filter
                :
                "Name eq '{{ network_group }}'"
                register
                :
                network_resp

                name
                :
                "Get Network Control Policy Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                fabric
                /
                EthNetworkControlPolicies query_params
                :
                $filter
                :
                "Name eq '{{ network_control_policy }}'"
                register
                :
                control_resp

                name
                :
                "Get QoS Policy Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                vnic
                /
                EthQosPolicies query_params
                :
                $filter
                :
                "Name eq '{{ qos_policy }}'"
                register
                :
                qos_resp

                name
                :
                "Get Ethernet Adapter Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                vnic
                /
                EthAdapterPolicies query_params
                :
                $filter
                :
                "Name eq '{{ ethernet_adapter_policy }}'"
                register
                :
                adapter_resp

                Check if vNIC exists

                name
                :
                "Get {{ vnic_name }} Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                vnic
                /
                EthIfs query_params
                :
                $filter
                :
                "Name eq '{{ vnic_name }}'"
                register
                :
                vnic_resp

                name
                :
                "Get LAN Connectivity Policy Moid"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                vnic
                /
                LanConnectivityPolicies query_params
                :
                $filter
                :
                "Name eq '{{ lan_connectivity_policy }}'"
                register
                :
                lan_resp

                name
                :
                "POST to derive vNIC '{{ vnic_name }}'"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                bulk
                /
                MoCloners update_method
                :
                post api_body
                :
                |
                {
                "Organization"
                :
                {
                #"Moid": "{{ org_resp.api_response.Moid }}"
                }
                ,
                "Sources"
                :
                [
                {
                "ClassId"
                :
                "mo.MoRef"
                ,
                "ObjectType"
                :
                "vnic.VnicTemplate"
                ,
                Moid
                :
                "{{ template_resp.api_response.Moid }}"
                }
                ]
                ,
                "Targets"
                :
                [
                {
                "Name"
                :
                "{{ vnic_name }}"
                ,
                "LanConnectivityPolicy"
                :
                "{{ lan_resp.api_response.Moid }}"
                ,
                "MacAddressType"
                :
                "POOL"
                ,
                "ObjectType"
                :
                "vnic.EthIf"
                ,
                "Placement"
                :
                {
                }
                ,
                "ClassId"
                :
                "vnic.EthIf"
                }
                ]
                }
                when
                :
                vnic_resp
                .
                api_response
                is
                not
                defined
                or
                not
                vnic_resp
                .
                api_response

                name
                :
                "POST to update vNIC '{{ vnic_name }}'"
                cisco
                .
                intersight
                .
                intersight_rest_api
                :
                <<
                :
                *
                api_info resource_path
                :
                /
                bulk
                /
                MoMergers update_method
                :
                post api_body
                :
                {
                "Sources"
                :
                [
                {
                "ObjectType"
                :
                "vnic.VnicTemplate"
                ,
                "Moid"
                :
                "{{ template_resp.api_response.Moid }}"
                }
                ]
                ,
                "Targets"
                :
                [
                {
                "ObjectType"
                :
                "vnic.EthIf"
                ,
                "Moid"
                :
                "{{ vnic_resp.api_response.Moid }}"
                }
                ]
                ,
                "MergeAction"
                :
                "Replace"
                }
                when
                :
                vnic_resp
                .
                api_response
                and
                vnic_resp
                .
                changed fatal
                :
                [
                localhost
                ]
                :
                FAILED!

                {
                "msg"
                :
                "The task includes an option with an undefined variable.. 'dict object' has no attribute 'Moid'\n\nThe error appears to be in 'create_vnics.yml': line 107, column 7, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n - name: "POST to derive vNIC '{{ vnic_name }}'"\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - "{{ foo }}"\n"
                }

                1 ответ Последний ответ
                0
                • D Не в сети
                  D Не в сети
                  dsoper
                  написал в отредактировано
                  #10

                  Похоже, что условия в примере не будут работать во всех случаях, и запрос на существующий vnic должен быть более конкретным. Я поработаю над обновленным примером с исправлениями.

                  1 ответ Последний ответ
                  0
                  • D Не в сети
                    D Не в сети
                    dsoper
                    написал в отредактировано
                    #11

                    Я обновил пример на
                    https://github.com/CiscoDevNet/intersight-ansible/blob/main/playbooks/intersight_vnic_template.yml
                    , добавив более конкретный запрос и список vnics для создания или обновления из шаблона.

                    1 ответ Последний ответ
                    0
                    • R Не в сети
                      R Не в сети
                      roxyfoxtrotter
                      написал в отредактировано
                      #12

                      Я смог создать шаблоны vnic непосредственно из своей политики подключения к локальной сети. Ваш плейбук привязывает vnic к существующему шаблону vnic?

                      1 ответ Последний ответ
                      0
                      • D Не в сети
                        D Не в сети
                        dsoper
                        написал в отредактировано
                        #13

                        Да, в примере vnics присоединяются к шаблону vnic, созданному в плейбуке.

                        1 ответ Последний ответ
                        0
                        • R Не в сети
                          R Не в сети
                          roxyfoxtrotter
                          написал в отредактировано
                          #14

                          все еще получаю ошибку # Проверить, существует ли vNIC

                          • name: «Получить {{ vnic_name }} Moid»
                            intersight_rest_api:
                            resource_path: /vnic/EthIfs
                            query_params:
                            $filter: "Name eq '{{ vnic_name }}' and LanConnectivityPolicy.Moid eq '{{ lan_resp.api_response.Moid }}'"
                            регистр: vnic_resp
                            цикл: "{{ vnic_names }}"
                            loop_control:
                            loop_var: vnic_name TASK
                            [
                            Get
                            00

                          vSwitch0

                          fc

                          A Moid
                          ]
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          **
                          task path
                          :
                          create_vnics
                          .
                          yml
                          :
                          95
                          [
                          WARNING
                          ]
                          :
                          TASK
                          :
                          Get
                          00

                          vSwitch0

                          fc

                          A Moid
                          :
                          The loop variable
                          'vnic_name'
                          is
                          already
                          in
                          use
                          .
                          You should set the loop_var value
                          in
                          the loop_control option
                          for
                          the task to something
                          else
                          to avoid variable collisions
                          and
                          unexpected behavior
                          .
                          fatal
                          :
                          [
                          localhost
                          ]
                          :
                          FAILED!

                          {
                          "msg"
                          :
                          "The task includes an option
                          with
                          an undefined variable
                          .
                          .
                          'dict object'
                          has no attribute
                          'Moid'
                          \n\nThe error appears to be
                          in
                          'create_vnics.yml'
                          :
                          line
                          95
                          ,
                          column
                          7
                          ,
                          but may\nbe elsewhere
                          in
                          the file depending on the exact syntax problem
                          .
                          \n\nThe offending line appears to be
                          :
                          \n\n

                          Check if vNIC exists\n - name: "Get {{ vnic_name }} Moid"\n ^ here\nWe could be wrong, but this one looks like it might be an issue with\nmissing quotes. Always quote template expression brackets when they\nstart a value. For instance:\n\n with_items:\n - {{ foo }}\n\nShould be written as:\n\n with_items:\n - "{{ foo }}"\n"

                          1 ответ Последний ответ
                          0
                          • D Не в сети
                            D Не в сети
                            dsoper
                            написал в отредактировано
                            #15

                            Можете ли вы опубликовать полный плейбук, который вы используете? В примере из github vnic_names является списком в разделе vars, а loop_var, используемый при цикле в vnic_names, является vnic_name. Судя по вашей ошибке, vnic_name, похоже, используется где-то еще в вашем плейбуке.

                            1 ответ Последний ответ
                            0
                            • R Не в сети
                              R Не в сети
                              roxyfoxtrotter
                              написал в отредактировано
                              #16

                              name
                              :
                              "Configure vNICs from Template"
                              hosts
                              :
                              localhost connection
                              :
                              local gather_facts
                              :
                              false vars
                              :
                              api_info
                              :
                              &
                              api_info api_private_key
                              :
                              "ansible-automation-SecretKey.txt"
                              api_key_id
                              :
                              "xxxxxxxx"
                              api_uri
                              :
                              "https://intersight/api/v1"
                              validate_certs
                              :
                              false state
                              :
                              present prefix
                              :
                              "DC1"
                              org_name
                              :
                              "my-org"
                              template_name
                              :
                              "FAB-A-BIZ-MGMT"
                              lan_connectivity_policy
                              :
                              "lan_connectivity_policy"
                              mac_pool
                              :
                              "{{ prefix }}-Mac-Pool-A"
                              network_group
                              :
                              "{{ prefix }}-vSwitch0-Policy"
                              network_control_policy
                              :
                              "{{ prefix }}-Enable-CDP-LLDP-Policy"
                              qos_policy
                              :
                              "{{ prefix }}-EthernetQoS-Policy"
                              ethernet_adapter_policy
                              :
                              "{{ prefix }}-EthAdapter-VMware-Policy"
                              vnic_names
                              :

                              "00-vSwitch0-A"

                              "01-vSwitch0-B"
                              tasks
                              :

                              name
                              :
                              "Get Organization Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              organization
                              /
                              Organizations query_params
                              :
                              $filter
                              :
                              "Name eq '{{ org_name }}'"
                              register
                              :
                              org_resp

                              name
                              :
                              "Get MAC Pool Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              macpool
                              /
                              Pools query_params
                              :
                              $filter
                              :
                              "Name eq '{{ mac_pool }}'"
                              register
                              :
                              mac_resp

                              name
                              :
                              "Get Network Group Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              fabric
                              /
                              EthNetworkGroupPolicies query_params
                              :
                              $filter
                              :
                              "Name eq '{{ network_group }}'"
                              register
                              :
                              network_resp

                              name
                              :
                              "Get Network Control Policy Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              fabric
                              /
                              EthNetworkControlPolicies query_params
                              :
                              $filter
                              :
                              "Name eq '{{ network_control_policy }}'"
                              register
                              :
                              control_resp

                              name
                              :
                              "Get QoS Policy Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              vnic
                              /
                              EthQosPolicies query_params
                              :
                              $filter
                              :
                              "Name eq '{{ qos_policy }}'"
                              register
                              :
                              qos_resp

                              name
                              :
                              "Get Ethernet Adapter Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              vnic
                              /
                              EthAdapterPolicies query_params
                              :
                              $filter
                              :
                              "Name eq '{{ ethernet_adapter_policy }}'"
                              register
                              :
                              adapter_resp

                              name
                              :
                              "Get vNIC Template Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              vnic
                              /
                              VnicTemplates query_params
                              :
                              $filter
                              :
                              "Name eq '{{ template_name }}'"
                              register
                              :
                              template_resp

                              name
                              :
                              "Get LAN Connectivity Policy Moid"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              vnic
                              /
                              LanConnectivityPolicies query_params
                              :
                              $filter
                              :
                              "Name eq '{{ lan_connectivity_policy }}'"
                              register
                              :
                              lan_resp

                              name
                              :
                              "Check if each vNIC exists"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              vnic
                              /
                              EthIfs query_params
                              :
                              $filter
                              :
                              "Name eq '{{ item }}' and LanConnectivityPolicy.Moid eq '{{ lan_resp.api_response.Moid }}'"
                              loop
                              :
                              "{{ vnic_names }}"
                              loop_control
                              :
                              label
                              :
                              "{{ item }}"
                              register
                              :
                              vnic_checks

                              name
                              :
                              "POST to derive vNIC if it does not exist"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              bulk
                              /
                              MoCloners update_method
                              :
                              post api_body
                              :

                              {
                              {
                              {
                              "Organization"
                              :
                              {
                              "Moid"
                              :
                              org_resp
                              .
                              api_response
                              .
                              Moid
                              }
                              ,
                              "Sources"
                              :
                              [
                              {
                              "ClassId"
                              :
                              "mo.MoRef"
                              ,
                              "ObjectType"
                              :
                              "vnic.VnicTemplate"
                              ,
                              "Moid"
                              :
                              template_resp
                              .
                              api_response
                              .
                              Moid
                              }
                              ]
                              ,
                              "Targets"
                              :
                              [
                              {
                              "Name"
                              :
                              item
                              .
                              item
                              ,
                              "LanConnectivityPolicy"
                              :
                              lan_resp
                              .
                              api_response
                              .
                              Moid
                              ,
                              "MacAddressType"
                              :
                              "POOL"
                              ,
                              "ObjectType"
                              :
                              "vnic.EthIf"
                              ,
                              "Placement"
                              :
                              {
                              }
                              ,
                              "ClassId"
                              :
                              "vnic.EthIf"
                              }
                              ]
                              }
                              }
                              }
                              when
                              :
                              item
                              .
                              api_response
                              .
                              Moid
                              is
                              not
                              defined loop
                              :
                              "{{ vnic_checks.results }}"
                              loop_control
                              :
                              label
                              :
                              "{{ item.item }}"

                              name
                              :
                              "POST to update vNIC if it exists and template changed"
                              cisco
                              .
                              intersight
                              .
                              intersight_rest_api
                              :
                              <<
                              :
                              *
                              api_info resource_path
                              :
                              /
                              bulk
                              /
                              MoMergers update_method
                              :
                              post api_body
                              :

                              {
                              {
                              {
                              "Sources"
                              :
                              [
                              {
                              "ObjectType"
                              :
                              "vnic.VnicTemplate"
                              ,
                              "Moid"
                              :
                              template_resp
                              .
                              api_response
                              .
                              Moid
                              }
                              ]
                              ,
                              "Targets"
                              :
                              [
                              {
                              "ObjectType"
                              :
                              "vnic.EthIf"
                              ,
                              "Moid"
                              :
                              item
                              .
                              api_response
                              .
                              Moid
                              }
                              ]
                              ,
                              "MergeAction"
                              :
                              "Replace"
                              }
                              }
                              }
                              when
                              :
                              item
                              .
                              api_response
                              .
                              Moid
                              is
                              defined
                              and
                              template_resp
                              .
                              changed loop
                              :
                              "{{ vnic_checks.results }}"
                              loop_control
                              :
                              label
                              :
                              "{{ item.item }}"

                              1 ответ Последний ответ
                              0

                              Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.

                              Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.

                              С вашими комментариями этот пост может стать ещё лучше 💗

                              Зарегистрироваться Войти
                              Ответить
                              • Ответить, создав новую тему
                              Авторизуйтесь, чтобы ответить
                              • Сначала старые
                              • Сначала новые
                              • По количеству голосов


                              • Войти

                              • Нет учётной записи? Зарегистрироваться

                              • Login or register to search.
                              • Первое сообщение
                                Последнее сообщение
                              0
                              • Категории
                              • Последние
                              • Метки
                              • Популярные
                              • Пользователи
                              • Группы