{
  "repo": "tidbcloud/cloud-costs-management",
  "binary": "shoot-sleeping",
  "binary_path": "sleeping/shoot-sleeping/shoot.py",
  "dependencies": {
    "Runtime ShootSleepingWorker.run": {
      "infrastructure": {
        "aws": {
          "conditions": [
            "When deciding whether idle shoots can be slept"
          ],
          "operations": [
            {
              "operation": "QUERY / UPDATE CLOUD RESOURCES",
              "trigger": "Inspect shoot activity and issue sleep operations",
              "conditions": [
                "The scheduled worker is invoked"
              ],
              "implementation": "AWS/Gardener logic inside sleeping/shoot-sleeping/shoot.py"
            }
          ]
        },
        "http": {
          "conditions": [
            "When posting status notifications"
          ],
          "operations": [
            {
              "operation": "POST",
              "trigger": "Send Feishu webhook notifications for sleeping actions",
              "conditions": [
                "post_bot_webhook() is reached"
              ],
              "implementation": "webhook POST logic in sleeping/shoot-sleeping/shoot.py"
            }
          ]
        }
      },
      "services": []
    }
  }
}
