UpdateAutomationRuleRequest

Amazon Web ServicesCost OptimizationFinOpsMachine LearningResource Recommendations

Properties

Name Type Description
ruleArn string The ARN of the rule to update.
ruleRevision integer The revision number of the rule to update.
name string The updated name of the automation rule. Must be 1-128 characters long and contain only alphanumeric characters, underscores, and hyphens.
description string The updated description of the automation rule. Can be up to 1024 characters long and contain alphanumeric characters, underscores, hyphens, spaces, and certain special characters.
ruleType string The updated type of automation rule. Can be either OrganizationRule for organization-wide rules or AccountRule for account-specific rules.
organizationConfiguration object
priority string The updated priority level of the automation rule, used to determine execution order when multiple rules apply to the same resource.
recommendedActionTypes array Updated list of recommended action types that this rule can execute, such as SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType.
criteria object
schedule object
status string The updated status of the automation rule. Can be Active or Inactive.
clientToken string A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens.
View JSON Schema on GitHub

JSON Schema

amazon-compute-optimizer-update-automation-rule-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/amazon-compute-optimizer/json-schema/amazon-compute-optimizer-update-automation-rule-request-schema.json",
  "title": "UpdateAutomationRuleRequest",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/amazon-compute-optimizer-automation-rule-api-openapi.yml#/components/schemas/UpdateAutomationRuleRequest",
  "type": "object",
  "properties": {
    "ruleArn": {
      "type": "string",
      "description": "The ARN of the rule to update."
    },
    "ruleRevision": {
      "type": "integer",
      "description": "The revision number of the rule to update."
    },
    "name": {
      "type": "string",
      "description": "The updated name of the automation rule. Must be 1-128 characters long and contain only alphanumeric characters, underscores, and hyphens."
    },
    "description": {
      "type": "string",
      "description": "The updated description of the automation rule. Can be up to 1024 characters long and contain alphanumeric characters, underscores, hyphens, spaces, and certain special characters."
    },
    "ruleType": {
      "type": "string",
      "enum": [
        "OrganizationRule",
        "AccountRule"
      ],
      "description": "The updated type of automation rule. Can be either OrganizationRule for organization-wide rules or AccountRule for account-specific rules."
    },
    "organizationConfiguration": {
      "$ref": "#/$defs/OrganizationConfiguration"
    },
    "priority": {
      "type": "string",
      "description": "The updated priority level of the automation rule, used to determine execution order when multiple rules apply to the same resource."
    },
    "recommendedActionTypes": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "SnapshotAndDeleteUnattachedEbsVolume",
          "UpgradeEbsVolumeType"
        ]
      },
      "description": "Updated list of recommended action types that this rule can execute, such as SnapshotAndDeleteUnattachedEbsVolume or UpgradeEbsVolumeType."
    },
    "criteria": {
      "$ref": "#/$defs/Criteria"
    },
    "schedule": {
      "$ref": "#/$defs/Schedule"
    },
    "status": {
      "type": "string",
      "enum": [
        "Active",
        "Inactive"
      ],
      "description": "The updated status of the automation rule. Can be Active or Inactive."
    },
    "clientToken": {
      "type": "string",
      "description": "A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Must be 1-64 characters long and contain only alphanumeric characters, underscores, and hyphens."
    }
  },
  "required": [
    "ruleArn",
    "ruleRevision"
  ],
  "$defs": {
    "Criteria": {
      "type": "object",
      "properties": {
        "region": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCriteriaCondition"
          },
          "description": "Filter criteria for Amazon Web Services regions where resources must be located."
        },
        "resourceArn": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCriteriaCondition"
          },
          "description": "Filter criteria for specific resource ARNs to include or exclude."
        },
        "ebsVolumeType": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCriteriaCondition"
          },
          "description": "Filter criteria for EBS volume types, such as gp2, gp3, io1, io2, st1, or sc1."
        },
        "ebsVolumeSizeInGib": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/IntegerCriteriaCondition"
          },
          "description": "Filter criteria for EBS volume sizes in gibibytes (GiB)."
        },
        "estimatedMonthlySavings": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/DoubleCriteriaCondition"
          },
          "description": "Filter criteria for estimated monthly cost savings from the recommended action."
        },
        "resourceTag": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/ResourceTagsCriteriaCondition"
          },
          "description": "Filter criteria for resource tags, allowing filtering by tag key and value combinations."
        },
        "lookBackPeriodInDays": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/IntegerCriteriaCondition"
          },
          "description": "Filter criteria for the lookback period in days used to analyze resource utilization."
        },
        "restartNeeded": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StringCriteriaCondition"
          },
          "description": "Filter criteria indicating whether the recommended action requires a resource restart."
        }
      }
    },
    "DoubleCriteriaCondition": {
      "type": "object",
      "properties": {
        "comparison": {
          "type": "string",
          "enum": [
            "StringEquals",
            "StringNotEquals",
            "StringEqualsIgnoreCase",
            "StringNotEqualsIgnoreCase",
            "StringLike",
            "StringNotLike",
            "NumericEquals",
            "NumericNotEquals",
            "NumericLessThan",
            "NumericLessThanEquals",
            "NumericGreaterThan",
            "NumericGreaterThanEquals",
            "StringEqualsIfExists",
            "StringNotEqualsIfExists",
            "StringEqualsIgnoreCaseIfExists",
            "StringNotEqualsIgnoreCaseIfExists",
            "StringLikeIfExists",
            "StringNotLikeIfExists",
            "NumericEqualsIfExists",
            "NumericNotEqualsIfExists",
            "NumericLessThanIfExists",
            "NumericLessThanEqualsIfExists",
            "NumericGreaterThanIfExists",
            "NumericGreaterThanEqualsIfExists"
          ],
          "description": "The comparison operator used to evaluate the attribute against the specified values."
        },
        "values": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "The list of double values to compare against using the specified comparison operator."
        }
      }
    },
    "IntegerCriteriaCondition": {
      "type": "object",
      "properties": {
        "comparison": {
          "type": "string",
          "enum": [
            "StringEquals",
            "StringNotEquals",
            "StringEqualsIgnoreCase",
            "StringNotEqualsIgnoreCase",
            "StringLike",
            "StringNotLike",
            "NumericEquals",
            "NumericNotEquals",
            "NumericLessThan",
            "NumericLessThanEquals",
            "NumericGreaterThan",
            "NumericGreaterThanEquals",
            "StringEqualsIfExists",
            "StringNotEqualsIfExists",
            "StringEqualsIgnoreCaseIfExists",
            "StringNotEqualsIgnoreCaseIfExists",
            "StringLikeIfExists",
            "StringNotLikeIfExists",
            "NumericEqualsIfExists",
            "NumericNotEqualsIfExists",
            "NumericLessThanIfExists",
            "NumericLessThanEqualsIfExists",
            "NumericGreaterThanIfExists",
            "NumericGreaterThanEqualsIfExists"
          ],
          "description": "The comparison operator used to evaluate the attribute against the specified values."
        },
        "values": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "description": "The list of integer values to compare against using the specified comparison operator."
        }
      }
    },
    "OrganizationConfiguration": {
      "type": "object",
      "properties": {
        "ruleApplyOrder": {
          "type": "string",
          "enum": [
            "BeforeAccountRules",
            "AfterAccountRules"
          ],
          "description": "Specifies when organization rules should be applied relative to account rules."
        },
        "accountIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of specific Amazon Web Services account IDs where the organization rule should be applied."
        }
      }
    },
    "ResourceTagsCriteriaCondition": {
      "type": "object",
      "properties": {
        "comparison": {
          "type": "string",
          "enum": [
            "StringEquals",
            "StringNotEquals",
            "StringEqualsIgnoreCase",
            "StringNotEqualsIgnoreCase",
            "StringLike",
            "StringNotLike",
            "NumericEquals",
            "NumericNotEquals",
            "NumericLessThan",
            "NumericLessThanEquals",
            "NumericGreaterThan",
            "NumericGreaterThanEquals",
            "StringEqualsIfExists",
            "StringNotEqualsIfExists",
            "StringEqualsIgnoreCaseIfExists",
            "StringNotEqualsIgnoreCaseIfExists",
            "StringLikeIfExists",
            "StringNotLikeIfExists",
            "NumericEqualsIfExists",
            "NumericNotEqualsIfExists",
            "NumericLessThanIfExists",
            "NumericLessThanEqualsIfExists",
            "NumericGreaterThanIfExists",
            "NumericGreaterThanEqualsIfExists"
          ],
          "description": "The comparison operator used to evaluate the attribute against the specified values."
        },
        "key": {
          "type": "string",
          "description": "The tag key to use for comparison when filtering resources."
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of tag values to compare against when filtering resources."
        }
      }
    },
    "Schedule": {
      "type": "object",
      "properties": {
        "scheduleExpression": {
          "type": "string",
          "description": "The expression that defines when the schedule runs. cron expression is supported. A cron expression consists of six fields separated by white spaces: (minutes hours day_of_month month day_of_week year) You can schedule rules to run at most once per day. Your cron expression must use specific values (not wildcards) for the minutes and hours fields. For example: (30 12 * * *) runs daily at 12:30 PM UTC."
        },
        "scheduleExpressionTimezone": {
          "type": "string",
          "description": "The timezone to use when interpreting the schedule expression."
        },
        "executionWindowInMinutes": {
          "type": "integer",
          "description": "The time window in minutes during which the automation rule can start implementing recommended actions."
        }
      }
    },
    "StringCriteriaCondition": {
      "type": "object",
      "properties": {
        "comparison": {
          "type": "string",
          "enum": [
            "StringEquals",
            "StringNotEquals",
            "StringEqualsIgnoreCase",
            "StringNotEqualsIgnoreCase",
            "StringLike",
            "StringNotLike",
            "NumericEquals",
            "NumericNotEquals",
            "NumericLessThan",
            "NumericLessThanEquals",
            "NumericGreaterThan",
            "NumericGreaterThanEquals",
            "StringEqualsIfExists",
            "StringNotEqualsIfExists",
            "StringEqualsIgnoreCaseIfExists",
            "StringNotEqualsIgnoreCaseIfExists",
            "StringLikeIfExists",
            "StringNotLikeIfExists",
            "NumericEqualsIfExists",
            "NumericNotEqualsIfExists",
            "NumericLessThanIfExists",
            "NumericLessThanEqualsIfExists",
            "NumericGreaterThanIfExists",
            "NumericGreaterThanEqualsIfExists"
          ],
          "description": "The comparison operator used to evaluate the attribute against the specified values."
        },
        "values": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of string values to compare against when applying the criteria condition."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/amazon-compute-optimizer-update-automation-rule-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.