def _analyze_secretsync()

in azext_edge/edge/providers/orchestration/clone.py [0:0]


    def _analyze_secretsync(self):
        nested_params = {
            **build_parameter(name=TemplateParams.CUSTOM_LOCATION_NAME.value),
        }
        ssc_client = self.instances.ssc_mgmt_client
        ssc_api_version = ssc_client._config.api_version
        instance_resource_id_expr = get_resource_id_by_param(
            "microsoft.iotoperations/instances", TemplateParams.INSTANCE_NAME
        )
        ext_loc_id = self.instance_record["extendedLocation"]["name"].lower()
        ssc_spcs = list(
            ssc_client.azure_key_vault_secret_provider_classes.list_by_resource_group(
                resource_group_name=self.resource_group_name
            )
        )

        ssc_spcs = [spc for spc in ssc_spcs if spc["extendedLocation"]["name"].lower() == ext_loc_id]
        client_ids = [spc["properties"]["clientId"] for spc in ssc_spcs if "clientId" in spc["properties"]]
        if client_ids:
            self.instance_identities.extend([mid["id"] for mid in self.get_identities_by_client_id(client_ids)])

        self._add_deployment(
            key=StateResourceKey.SSC_SPC,
            api_version=ssc_api_version,
            data_iter=ssc_spcs,
            depends_on=instance_resource_id_expr,
            parameters=nested_params,
        )

        ssc_secretsyncs = list(
            ssc_client.secret_syncs.list_by_resource_group(resource_group_name=self.resource_group_name)
        )
        ssc_secretsyncs = [
            secretsync
            for secretsync in ssc_secretsyncs
            if secretsync["extendedLocation"]["name"].lower() == ext_loc_id
        ]
        if ssc_secretsyncs and ssc_spcs:
            self._add_deployment(
                key=StateResourceKey.SSC_SECRETSYNC,
                api_version=ssc_api_version,
                data_iter=ssc_secretsyncs,
                depends_on=get_resource_id_by_parts(
                    "Microsoft.Resources/deployments", self.active_deployment[StateResourceKey.SSC_SPC][-1]
                ),
                parameters=nested_params,
            )