Support conditions on artifact level
It would be very nice when conditions attribute can be set on a artifact like it could on resources in an ARM template. So it would be possible to deploy or not deploy artifacts based on parameter inputs or outputs from an ARM.
Example use case:
Blueprint creates a vNet and an AKS cluster. Then you configure an ingress controller on AKS and after that a new NSG should be deployed which locks down the vNet so only the LB of the Ingress Controller is reachable. This can be done by update the blueprint assignment and specify a parameter like “postdeployment” as true. In the blueprint you can the evaluate by the parameter value if the ARM Template/Artifact, to create the NSG should, be deployed or not.
What are the implications if you just let the idempotency of ARM to decide what resource(s) to update? In your NSG example, if you have all the required rules in your Blueprint (code in your repo) then Blueprint will invoke ARM, and ARM will simply skip the update of the resource.