{
  "components": {
    "schemas": {
      "ActionDefinition": {
        "discriminator": {
          "mapping": {
            "simpleNotification": "#/components/schemas/ActionDefinitionSimpleNotification",
            "workflows": "#/components/schemas/ActionDefinitionWorkflows"
          },
          "propertyName": "actionType"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ActionDefinitionSimpleNotification"
          },
          {
            "$ref": "#/components/schemas/ActionDefinitionWorkflows"
          }
        ],
        "type": "object"
      },
      "ActionDefinitionSimpleNotification": {
        "properties": {
          "actionParameter": {
            "$ref": "#/components/schemas/SakuraSimpleNotification"
          },
          "actionType": {
            "enum": [
              "simpleNotification"
            ],
            "type": "string"
          }
        },
        "required": [
          "actionType",
          "actionParameter"
        ],
        "type": "object"
      },
      "ActionDefinitionWorkflows": {
        "properties": {
          "actionParameter": {
            "$ref": "#/components/schemas/SakuraWorkflows"
          },
          "actionType": {
            "enum": [
              "workflows"
            ],
            "type": "string"
          }
        },
        "required": [
          "actionType",
          "actionParameter"
        ],
        "type": "object"
      },
      "ActivationCreateInput": {
        "description": "新規プロジェクトのセキュリティコントロール有効化時に使用するリクエストボディ。",
        "properties": {
          "servicePrincipalId": {
            "description": "プロジェクトに紐づくサービスプリンシパルID（評価対象リソースへのアクセス権限付与）。",
            "type": "string"
          }
        },
        "required": [
          "servicePrincipalId"
        ],
        "type": "object"
      },
      "ActivationOutput": {
        "description": "現在のプロジェクトにおける「セキュリティコントロール」有効化状態を返すレスポンスボディ。\n\n基本情報に加えて、システム内部で定義された追加情報を含む。",
        "properties": {
          "automatedActionLimit": {
            "description": "登録可能な自動アクションの最大数。",
            "readOnly": true,
            "type": "integer"
          },
          "isActive": {
            "description": "現在のプロジェクトで「セキュリティコントロール」が有効かどうか。",
            "type": "boolean"
          },
          "servicePrincipalId": {
            "description": "プロジェクトに紐づくサービスプリンシパルID（評価対象リソースへのアクセス権限付与）。",
            "type": "string"
          }
        },
        "required": [
          "servicePrincipalId",
          "isActive",
          "automatedActionLimit"
        ],
        "type": "object"
      },
      "ActivationUpdateInput": {
        "description": "有効化状態更新時のリクエストボディ",
        "properties": {
          "isActive": {
            "description": "現在のプロジェクトで「セキュリティコントロール」が有効かどうか。",
            "type": "boolean"
          },
          "servicePrincipalId": {
            "description": "プロジェクトに紐づくサービスプリンシパルID（評価対象リソースへのアクセス権限付与）。",
            "type": "string"
          }
        },
        "required": [
          "servicePrincipalId",
          "isActive"
        ],
        "type": "object"
      },
      "AddonDatalakeNoPublicAccess": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "addon-datalake-no-public-access"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.EvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1"
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "AddonDwhNoPublicAccess": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "addon-dwh-no-public-access"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.EvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1"
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "AddonThreatDetectionEnabled": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "addon-threat-detection-enabled"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.ZonedEvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1",
                "zones": [
                  "tk1a",
                  "is1a",
                  "is1b"
                ]
              },
              {
                "servicePrincipalId": "1",
                "zones": []
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "AddonThreatDetections": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "addon-threat-detections"
            ],
            "type": "string"
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "AddonVulnerabilityDetections": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "addon-vulnerability-detections"
            ],
            "type": "string"
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "AutomatedActionID": {
        "description": "自動アクションの一意な識別子。",
        "type": "string"
      },
      "AutomatedActionInput": {
        "description": "自動アクションを作成または更新する際に使用するリクエストボディ。",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDefinition"
              }
            ],
            "description": "アクションの定義（アクションタイプごとに異なる）。"
          },
          "description": {
            "description": "自動アクションの説明。",
            "type": "string"
          },
          "executionCondition": {
            "description": "どのような条件で自動アクションを実行するかの条件式。\nこの条件式を満たした場合にのみ、自動アクションが実行される。\nCEL（Common Expression Language）形式で記述する。",
            "type": "string"
          },
          "isEnabled": {
            "description": "自動アクションが有効かどうか。",
            "type": "boolean"
          },
          "name": {
            "description": "自動アクションの名称。",
            "type": "string"
          }
        },
        "required": [
          "name",
          "action",
          "executionCondition",
          "isEnabled"
        ],
        "type": "object"
      },
      "AutomatedActionOutput": {
        "description": "自動アクションの現在の状態を取得するためのレスポンスボディ。\n\n基本情報に加えて、識別子や作成日時など、システムによって付与される情報を含む。",
        "properties": {
          "action": {
            "allOf": [
              {
                "$ref": "#/components/schemas/ActionDefinition"
              }
            ],
            "description": "アクションの定義（アクションタイプごとに異なる）。"
          },
          "automatedActionId": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AutomatedActionID"
              }
            ],
            "description": "自動アクションの一意な識別子。",
            "readOnly": true
          },
          "createdAt": {
            "description": "自動アクションの作成日時。",
            "format": "date-time",
            "readOnly": true,
            "type": "string"
          },
          "description": {
            "description": "自動アクションの説明。",
            "type": "string"
          },
          "executionCondition": {
            "description": "どのような条件で自動アクションを実行するかの条件式。\nこの条件式を満たした場合にのみ、自動アクションが実行される。\nCEL（Common Expression Language）形式で記述する。",
            "type": "string"
          },
          "isEnabled": {
            "description": "自動アクションが有効かどうか。",
            "type": "boolean"
          },
          "name": {
            "description": "自動アクションの名称。",
            "type": "string"
          }
        },
        "required": [
          "automatedActionId",
          "name",
          "action",
          "executionCondition",
          "isEnabled",
          "createdAt"
        ],
        "type": "object"
      },
      "BadRequest": {
        "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。",
        "properties": {
          "detail": {
            "description": "この問題の詳細な説明。",
            "enum": [
              "invalid"
            ],
            "type": "string"
          },
          "instance": {
            "description": "この問題の発生を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          },
          "status": {
            "description": "この問題のHTTPステータスコード。本APIの運用規約により、このフィールドは常に設定される。",
            "enum": [
              400
            ],
            "type": "number"
          },
          "title": {
            "description": "問題の種類の簡潔な説明。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "string"
          },
          "type": {
            "description": "問題の種類を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Conflict": {
        "description": "リクエストが現在のリソースの状態と競合した場合のエラー。\n\n例えば、既に存在するリソースを再度作成しようとした場合などに返される。",
        "properties": {
          "detail": {
            "description": "この問題の詳細な説明。",
            "enum": [
              "conflict"
            ],
            "type": "string"
          },
          "instance": {
            "description": "この問題の発生を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          },
          "status": {
            "description": "この問題のHTTPステータスコード。本APIの運用規約により、このフィールドは常に設定される。",
            "enum": [
              409
            ],
            "type": "number"
          },
          "title": {
            "description": "問題の種類の簡潔な説明。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "string"
          },
          "type": {
            "description": "問題の種類を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          }
        },
        "type": "object"
      },
      "DbaEncryptionEnabled": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "dba-encryption-enabled"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.ZonedEvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1",
                "zones": [
                  "tk1a",
                  "is1a",
                  "is1b"
                ]
              },
              {
                "servicePrincipalId": "1",
                "zones": []
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "DbaNoPublicIP": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "dba-no-public-ip"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.ZonedEvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1",
                "zones": [
                  "tk1a",
                  "is1a",
                  "is1b"
                ]
              },
              {
                "servicePrincipalId": "1",
                "zones": []
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "DiskEncryptionEnabled": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "disk-encryption-enabled"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.ZonedEvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1",
                "zones": [
                  "tk1a",
                  "is1a",
                  "is1b"
                ]
              },
              {
                "servicePrincipalId": "1",
                "zones": []
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "ELBLoggingEnabled": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "elb-logging-enabled"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.EvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1"
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "EvaluationRule": {
        "description": "プロジェクトに適用できるセキュリティ評価ルールを表す。",
        "properties": {
          "description": {
            "description": "評価ルールの説明。",
            "readOnly": true,
            "type": "string"
          },
          "iamRolesRequired": {
            "description": "評価ルールを適用するために必要なIAMロールの一覧。",
            "items": {
              "type": "string"
            },
            "readOnly": true,
            "type": "array"
          },
          "isEnabled": {
            "description": "ルールが有効かどうか。",
            "type": "boolean"
          },
          "rule": {
            "$ref": "#/components/schemas/EvaluationRuleUnion"
          }
        },
        "required": [
          "rule",
          "iamRolesRequired",
          "isEnabled"
        ],
        "type": "object"
      },
      "EvaluationRuleID": {
        "enum": [
          "server-no-public-ip",
          "disk-encryption-enabled",
          "dba-encryption-enabled",
          "dba-no-public-ip",
          "objectstorage-bucket-acl-changed",
          "objectstorage-bucket-encryption-enabled",
          "addon-datalake-no-public-access",
          "addon-dwh-no-public-access",
          "addon-threat-detection-enabled",
          "elb-logging-enabled",
          "iam-member-operation-detected",
          "nosql-encryption-enabled",
          "addon-threat-detections",
          "addon-vulnerability-detections"
        ],
        "type": "string"
      },
      "EvaluationRuleInput": {
        "description": "評価ルールの更新に使用するリクエストボディ。",
        "properties": {
          "isEnabled": {
            "description": "ルールが有効かどうか。",
            "type": "boolean"
          },
          "rule": {
            "$ref": "#/components/schemas/EvaluationRuleUnion"
          }
        },
        "required": [
          "rule",
          "isEnabled"
        ],
        "type": "object"
      },
      "EvaluationRuleParameters.EvaluationTarget": {
        "description": "すべての評価ルールに共通する最小セットのパラメータ。",
        "properties": {
          "servicePrincipalId": {
            "description": "評価対象リソースに対する読み取り権限を持つサービスプリンシパルのID。未指定の場合はセキュリティコントロール有効化時に設定されたサービスプリンシパルが使用される。",
            "type": "string"
          }
        },
        "type": "object"
      },
      "EvaluationRuleParameters.ObjectStorageEvaluationTarget": {
        "description": "サービスプリンシパルIDと評価対象のオブジェクトストレージ用サイト配列を要求するパラメータ。\nオブジェクトストレージに関連する評価ルールで使用される。\n`sites == []` の場合は「全サイト対象」の意味。",
        "properties": {
          "servicePrincipalId": {
            "description": "評価対象リソースに対する読み取り権限を持つサービスプリンシパルのID。未指定の場合はセキュリティコントロール有効化時に設定されたサービスプリンシパルが使用される。",
            "type": "string"
          },
          "sites": {
            "description": "評価対象のオブジェクトストレージ用サイトを指定。未指定または空配列の場合はすべてのサイトが対象となる。",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "EvaluationRuleParameters.ZonedEvaluationTarget": {
        "description": "サービスプリンシパルIDと評価対象ゾーン配列を要求するパラメータ。\n`zones == []` の場合は「全ゾーン対象」の意味。",
        "properties": {
          "servicePrincipalId": {
            "description": "評価対象リソースに対する読み取り権限を持つサービスプリンシパルのID。未指定の場合はセキュリティコントロール有効化時に設定されたサービスプリンシパルが使用される。",
            "type": "string"
          },
          "zones": {
            "description": "評価対象ゾーンを指定。未指定または空配列の場合はすべてのゾーンが対象となる。",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "EvaluationRuleUnion": {
        "discriminator": {
          "mapping": {
            "addon-datalake-no-public-access": "#/components/schemas/AddonDatalakeNoPublicAccess",
            "addon-dwh-no-public-access": "#/components/schemas/AddonDwhNoPublicAccess",
            "addon-threat-detection-enabled": "#/components/schemas/AddonThreatDetectionEnabled",
            "addon-threat-detections": "#/components/schemas/AddonThreatDetections",
            "addon-vulnerability-detections": "#/components/schemas/AddonVulnerabilityDetections",
            "dba-encryption-enabled": "#/components/schemas/DbaEncryptionEnabled",
            "dba-no-public-ip": "#/components/schemas/DbaNoPublicIP",
            "disk-encryption-enabled": "#/components/schemas/DiskEncryptionEnabled",
            "elb-logging-enabled": "#/components/schemas/ELBLoggingEnabled",
            "iam-member-operation-detected": "#/components/schemas/IAMMemberOperationDetected",
            "nosql-encryption-enabled": "#/components/schemas/NoSQLEncryptionEnabled",
            "objectstorage-bucket-acl-changed": "#/components/schemas/ObjectStorageBucketACLChanged",
            "objectstorage-bucket-encryption-enabled": "#/components/schemas/ObjectStorageBucketEncryptionEnabled",
            "server-no-public-ip": "#/components/schemas/ServerNoPublicIP"
          },
          "propertyName": "evaluationRuleId"
        },
        "oneOf": [
          {
            "$ref": "#/components/schemas/ServerNoPublicIP"
          },
          {
            "$ref": "#/components/schemas/DiskEncryptionEnabled"
          },
          {
            "$ref": "#/components/schemas/DbaEncryptionEnabled"
          },
          {
            "$ref": "#/components/schemas/DbaNoPublicIP"
          },
          {
            "$ref": "#/components/schemas/ObjectStorageBucketACLChanged"
          },
          {
            "$ref": "#/components/schemas/ObjectStorageBucketEncryptionEnabled"
          },
          {
            "$ref": "#/components/schemas/AddonDatalakeNoPublicAccess"
          },
          {
            "$ref": "#/components/schemas/AddonDwhNoPublicAccess"
          },
          {
            "$ref": "#/components/schemas/AddonThreatDetectionEnabled"
          },
          {
            "$ref": "#/components/schemas/ELBLoggingEnabled"
          },
          {
            "$ref": "#/components/schemas/IAMMemberOperationDetected"
          },
          {
            "$ref": "#/components/schemas/NoSQLEncryptionEnabled"
          },
          {
            "$ref": "#/components/schemas/AddonThreatDetections"
          },
          {
            "$ref": "#/components/schemas/AddonVulnerabilityDetections"
          }
        ],
        "type": "object"
      },
      "Forbidden": {
        "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。",
        "properties": {
          "detail": {
            "description": "この問題の詳細な説明。",
            "enum": [
              "forbidden"
            ],
            "type": "string"
          },
          "instance": {
            "description": "この問題の発生を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          },
          "status": {
            "description": "この問題のHTTPステータスコード。本APIの運用規約により、このフィールドは常に設定される。",
            "enum": [
              403
            ],
            "type": "number"
          },
          "title": {
            "description": "問題の種類の簡潔な説明。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "string"
          },
          "type": {
            "description": "問題の種類を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          }
        },
        "type": "object"
      },
      "IAMMemberOperationDetected": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "iam-member-operation-detected"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.EvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1"
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "NoSQLEncryptionEnabled": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "nosql-encryption-enabled"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.ZonedEvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1",
                "zones": [
                  "tk1a",
                  "is1a",
                  "is1b"
                ]
              },
              {
                "servicePrincipalId": "1",
                "zones": []
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "NotFound": {
        "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。",
        "properties": {
          "detail": {
            "description": "この問題の詳細な説明。",
            "enum": [
              "not_found"
            ],
            "type": "string"
          },
          "instance": {
            "description": "この問題の発生を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          },
          "status": {
            "description": "この問題のHTTPステータスコード。本APIの運用規約により、このフィールドは常に設定される。",
            "enum": [
              404
            ],
            "type": "number"
          },
          "title": {
            "description": "問題の種類の簡潔な説明。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "string"
          },
          "type": {
            "description": "問題の種類を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          }
        },
        "type": "object"
      },
      "ObjectStorageBucketACLChanged": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "objectstorage-bucket-acl-changed"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.EvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1"
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "ObjectStorageBucketEncryptionEnabled": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "objectstorage-bucket-encryption-enabled"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.ObjectStorageEvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1",
                "sites": [
                  "isk01",
                  "tky01"
                ]
              },
              {
                "servicePrincipalId": "1",
                "sites": []
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "SakuraSimpleNotification": {
        "properties": {
          "notificationGroupId": {
            "description": "通知先グループID",
            "type": "string"
          },
          "servicePrincipalId": {
            "description": "さくらのクラウドの作成・削除権限を持つサービスプリンシパルID。\n\nこのサービスプリンシパルには `作成・削除` ロールが付与されている必要がある。\n付与されていない場合、自動アクションの実行に失敗する。",
            "type": "string"
          }
        },
        "required": [
          "servicePrincipalId",
          "notificationGroupId"
        ],
        "type": "object"
      },
      "SakuraWorkflows": {
        "properties": {
          "args": {
            "description": "実行時にワークフローへ渡す引数（JSON文字列）。\n引数を要求するワークフローの場合は指定が必須。\n例: `{\\\"server_id\\\": 12345}`",
            "type": "string"
          },
          "name": {
            "description": "ワークフロー実行名。",
            "type": "string"
          },
          "revisionAlias": {
            "description": "実行したいリビジョンのエイリアス。\n指定しない場合は最新のリビジョンが使用される。",
            "type": "string"
          },
          "revisionId": {
            "description": "実行したいワークフローのリビジョンID。\n指定しない場合は最新のリビジョンが使用される。",
            "type": "integer"
          },
          "servicePrincipalId": {
            "description": "さくらのクラウドの作成・削除権限を持つサービスプリンシパルID。\n\nこのサービスプリンシパルには `ワークフロー` ロールが付与されている必要がある。\n付与されていない場合、自動アクションの実行に失敗する。",
            "type": "string"
          },
          "workflowId": {
            "description": "ワークフローID",
            "type": "string"
          }
        },
        "required": [
          "servicePrincipalId",
          "workflowId"
        ],
        "type": "object"
      },
      "ServerNoPublicIP": {
        "properties": {
          "evaluationRuleId": {
            "enum": [
              "server-no-public-ip"
            ],
            "type": "string"
          },
          "parameter": {
            "allOf": [
              {
                "$ref": "#/components/schemas/EvaluationRuleParameters.ZonedEvaluationTarget"
              }
            ],
            "examples": [
              {
                "servicePrincipalId": "1",
                "zones": [
                  "tk1a",
                  "is1a",
                  "is1b"
                ]
              },
              {
                "servicePrincipalId": "1",
                "zones": []
              }
            ]
          }
        },
        "required": [
          "evaluationRuleId"
        ],
        "type": "object"
      },
      "TooManyRequests": {
        "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
        "properties": {
          "detail": {
            "description": "この問題の詳細な説明。",
            "enum": [
              "too_many_requests"
            ],
            "type": "string"
          },
          "instance": {
            "description": "この問題の発生を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          },
          "status": {
            "description": "この問題のHTTPステータスコード。本APIの運用規約により、このフィールドは常に設定される。",
            "enum": [
              429
            ],
            "type": "number"
          },
          "title": {
            "description": "問題の種類の簡潔な説明。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "string"
          },
          "type": {
            "description": "問題の種類を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          }
        },
        "type": "object"
      },
      "Unauthorized": {
        "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。",
        "properties": {
          "detail": {
            "description": "この問題の詳細な説明。",
            "enum": [
              "authentication_failed"
            ],
            "type": "string"
          },
          "instance": {
            "description": "この問題の発生を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          },
          "status": {
            "description": "この問題のHTTPステータスコード。本APIの運用規約により、このフィールドは常に設定される。",
            "enum": [
              401
            ],
            "type": "number"
          },
          "title": {
            "description": "問題の種類の簡潔な説明。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "string"
          },
          "type": {
            "description": "問題の種類を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UnexpectedError": {
        "description": "標準的な問題詳細に該当しない予期しないエラー用の汎用エラーモデル。\nAPI処理中に発生する予期しないエラーを扱うために使用。",
        "properties": {
          "detail": {
            "description": "この問題の詳細な説明。",
            "type": "string"
          },
          "instance": {
            "description": "この問題の発生を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          },
          "status": {
            "description": "この問題のHTTPステータスコード。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "integer"
          },
          "title": {
            "description": "問題の種類の簡潔な説明。本APIの運用規約により、このフィールドは常に設定される。",
            "type": "string"
          },
          "type": {
            "description": "問題の種類を識別するURI参照。",
            "format": "uri-reference",
            "type": "string"
          }
        },
        "type": "object"
      },
      "clientDelaySeconds": {
        "description": "レスポンスを受信してから遅延する秒数を示す負でない 10 進数の整数。",
        "type": "integer"
      },
      "clientRetryDateTime": {
        "description": "再試行する日付。HTTP の日付形式の詳細については RFC 7231, セクション 7.1.1.2: Date を参照。",
        "format": "date-time",
        "type": "string"
      }
    },
    "securitySchemes": {
      "BasicAuth": {
        "scheme": "Basic",
        "type": "http"
      }
    }
  },
  "externalDocs": {
    "url": "https://manual.sakura.ad.jp/cloud/controlpanel/eventlog/security-control.html"
  },
  "info": {
    "description": "さくらのクラウド セキュリティコントロール機能のAPI。\n\nクラウド環境におけるセキュリティ上の問題を早期に発見して対応を支援する。",
    "title": "Security Control API",
    "version": "1.0.0"
  },
  "openapi": "3.1.0",
  "paths": {
    "/activation": {
      "get": {
        "description": "現在のプロジェクトの有効化状態を取得します。\n成功時は200で有効化詳細を返し、プロジェクトがまだ一度も有効化されていない場合は404を返します。",
        "operationId": "readActivation",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivationOutput"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            },
            "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "現在のプロジェクトの有効化状態の取得",
        "tags": [
          "有効化"
        ]
      },
      "post": {
        "description": "現在のプロジェクトでセキュリティコントロールを有効化します。\n成功時は201を返し、リクエストが不正な場合は400を返します。",
        "operationId": "createActivation",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivationCreateInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivationOutput"
                }
              }
            },
            "description": "The request has succeeded and a new resource has been created as a result."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            },
            "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Conflict"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Conflict"
                }
              }
            },
            "description": "リクエストが現在のリソースの状態と競合した場合のエラー。\n\n例えば、既に存在するリソースを再度作成しようとした場合などに返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "現在のプロジェクトの有効化",
        "tags": [
          "有効化"
        ]
      },
      "put": {
        "description": "現在のプロジェクトの有効化状態を更新します。\n成功時は200で更新後の有効化詳細を返し、リクエストが不正な場合は400を返します。",
        "operationId": "updateActivation",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ActivationUpdateInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ActivationOutput"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            },
            "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            },
            "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "現在のプロジェクトの有効化状態の更新",
        "tags": [
          "有効化"
        ]
      }
    },
    "/automated_actions": {
      "get": {
        "description": "自動アクション一覧を取得します。\n\npageSizeの最大値は100。100を超える値は100として扱う。\npageSize未指定時は50。",
        "operationId": "listAutomatedActions",
        "parameters": [
          {
            "description": "返却する要素の最大数。\n\nサービス側でこの値より少なく返す場合がある。",
            "explode": false,
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "このページトークンより後の要素を取得する。\n\nこのフィールドと `prev` は同時に指定できない。\n\nページネーション時、他のリクエストパラメータは元のリクエストと一致している必要がある。\n無効な場合は400 Bad Requestとなる。",
            "explode": false,
            "in": "query",
            "name": "next",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "このページトークンより前の要素を取得する。\n\nこのフィールドと `next` は同時に指定できない。\n\nページネーション時、他のリクエストパラメータは元のリクエストと一致している必要がある。\n無効な場合は400 Bad Requestとなる。",
            "explode": false,
            "in": "query",
            "name": "prev",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/components/schemas/AutomatedActionOutput"
                      },
                      "type": "array"
                    },
                    "nextPageToken": {
                      "description": "次ページ取得用のトークン。\n\nこのフィールドが省略されている場合は次ページなし。\n次のページを取得するには、この値を次のリクエストの `next` に指定する。",
                      "type": "string"
                    },
                    "prevPageToken": {
                      "description": "前ページ取得用のトークン。\n\nこのフィールドが省略されている場合は前ページなし。\n前のページを取得するには、この値を次のリクエストの `prev` に指定する。",
                      "type": "string"
                    },
                    "totalSize": {
                      "description": "ページネーション対象リストの全アイテム数。\n\nこの値は推定値である可能性がある。",
                      "type": "integer"
                    }
                  },
                  "required": [
                    "items",
                    "totalSize"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            },
            "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "自動アクション一覧の取得",
        "tags": [
          "自動アクション"
        ]
      },
      "post": {
        "description": "新しい自動アクションを作成します。",
        "operationId": "createAutomatedAction",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomatedActionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomatedActionOutput"
                }
              }
            },
            "description": "The request has succeeded and a new resource has been created as a result."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            },
            "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "自動アクションの作成",
        "tags": [
          "自動アクション"
        ]
      }
    },
    "/automated_actions/{actionId}": {
      "delete": {
        "description": "指定されたIDの自動アクションを削除します。",
        "operationId": "deleteAutomatedAction",
        "parameters": [
          {
            "in": "path",
            "name": "actionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/AutomatedActionID"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "There is no content to send for this request, but the headers may be useful."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "自動アクションの削除",
        "tags": [
          "自動アクション"
        ]
      },
      "get": {
        "description": "指定されたIDの自動アクション詳細を取得します。",
        "operationId": "readAutomatedAction",
        "parameters": [
          {
            "in": "path",
            "name": "actionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/AutomatedActionID"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomatedActionOutput"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            },
            "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "自動アクション詳細の取得",
        "tags": [
          "自動アクション"
        ]
      },
      "put": {
        "description": "指定されたIDの自動アクションを更新します。",
        "operationId": "updateAutomatedAction",
        "parameters": [
          {
            "in": "path",
            "name": "actionId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/AutomatedActionID"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AutomatedActionInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomatedActionOutput"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            },
            "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            },
            "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "自動アクションの更新",
        "tags": [
          "自動アクション"
        ]
      }
    },
    "/evaluation_rules": {
      "get": {
        "description": "プロジェクトの評価ルール一覧を取得します。\n\npageSizeの最大値は100。100を超える値は100として扱う。\npageSize未指定時は50。",
        "operationId": "listEvaluationRules",
        "parameters": [
          {
            "description": "返却する要素の最大数。\n\nサービス側でこの値より少なく返す場合がある。",
            "explode": false,
            "in": "query",
            "name": "page_size",
            "required": false,
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "このページトークンより後の要素を取得する。\n\nこのフィールドと `prev` は同時に指定できない。\n\nページネーション時、他のリクエストパラメータは元のリクエストと一致している必要がある。\n無効な場合は400 Bad Requestとなる。",
            "explode": false,
            "in": "query",
            "name": "next",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "このページトークンより前の要素を取得する。\n\nこのフィールドと `next` は同時に指定できない。\n\nページネーション時、他のリクエストパラメータは元のリクエストと一致している必要がある。\n無効な場合は400 Bad Requestとなる。",
            "explode": false,
            "in": "query",
            "name": "prev",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "properties": {
                    "items": {
                      "items": {
                        "$ref": "#/components/schemas/EvaluationRule"
                      },
                      "type": "array"
                    },
                    "nextPageToken": {
                      "description": "次ページ取得用のトークン。\n\nこのフィールドが省略されている場合は次ページなし。\n次のページを取得するには、この値を次のリクエストの `next` に指定する。",
                      "type": "string"
                    },
                    "prevPageToken": {
                      "description": "前ページ取得用のトークン。\n\nこのフィールドが省略されている場合は前ページなし。\n前のページを取得するには、この値を次のリクエストの `prev` に指定する。",
                      "type": "string"
                    },
                    "totalSize": {
                      "description": "ページネーション対象リストの全アイテム数。\n\nこの値は推定値である可能性がある。",
                      "type": "integer"
                    }
                  },
                  "required": [
                    "items",
                    "totalSize"
                  ],
                  "type": "object"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            },
            "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            },
            "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "評価ルール一覧の取得",
        "tags": [
          "評価ルール"
        ]
      }
    },
    "/evaluation_rules/{evaluationRuleId}": {
      "get": {
        "description": "指定されたIDの評価ルール詳細を取得します。",
        "operationId": "readEvaluationRule",
        "parameters": [
          {
            "in": "path",
            "name": "evaluationRuleId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/EvaluationRuleID"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvaluationRule"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            },
            "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "評価ルール詳細の取得",
        "tags": [
          "評価ルール"
        ]
      },
      "put": {
        "description": "指定されたIDの評価ルールを更新します。",
        "operationId": "updateEvaluationRule",
        "parameters": [
          {
            "in": "path",
            "name": "evaluationRuleId",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/EvaluationRuleID"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EvaluationRuleInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EvaluationRule"
                }
              }
            },
            "description": "The request has succeeded."
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/BadRequest"
                }
              }
            },
            "description": "サーバーがリクエストのパラメータやペイロードを理解できなかった場合のエラー。"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Unauthorized"
                }
              }
            },
            "description": "認証が必要なリクエスト。\nユーザーが認証されていない、または認証トークンが無効な場合に返されるエラー。"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Forbidden"
                }
              }
            },
            "description": "サーバーがリクエストを理解したが認可を拒否した場合のエラー。\nユーザーにリソースへのアクセス権限がない場合に返される。"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/NotFound"
                }
              }
            },
            "description": "リクエストされたリソースが見つからない場合のエラー。\nリソースが存在しない、またはアクセスできない場合に返される。"
          },
          "429": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/TooManyRequests"
                }
              }
            },
            "description": "クライアントが一定期間内に過剰なリクエストを送信した場合のエラー。\n\nレートリミットに達した場合に返される。",
            "headers": {
              "Retry-After": {
                "description": "クライアントが再試行するまでにどれぐらい待つべきかを示す。",
                "required": false,
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/clientDelaySeconds"
                    },
                    {
                      "$ref": "#/components/schemas/clientRetryDateTime"
                    }
                  ]
                }
              }
            }
          },
          "default": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              },
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/UnexpectedError"
                }
              }
            },
            "description": "An unexpected error response."
          }
        },
        "summary": "評価ルールの更新",
        "tags": [
          "評価ルール"
        ]
      }
    }
  },
  "security": [
    {
      "BasicAuth": []
    }
  ],
  "servers": [
    {
      "description": "さくらのクラウド セキュリティコントロール エンドポイント",
      "url": "https://secure.sakura.ad.jp/cloud/zone/is1a/api/securitycontrol/1.0/",
      "variables": {}
    }
  ],
  "tags": [
    {
      "name": "有効化"
    },
    {
      "name": "評価ルール"
    },
    {
      "name": "自動アクション"
    }
  ]
}
