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,
)