{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2024-11-14",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"bcm-recommended-actions",
    "jsonVersion":"1.0",
    "protocol":"json",
    "protocols":["json"],
    "serviceFullName":"AWS Billing and Cost Management Recommended Actions",
    "serviceId":"BCM Recommended Actions",
    "signatureVersion":"v4",
    "signingName":"bcm-recommended-actions",
    "targetPrefix":"AWSBillingAndCostManagementRecommendedActions",
    "uid":"bcm-recommended-actions-2024-11-14"
  },
  "operations":{
    "ListRecommendedActions":{
      "name":"ListRecommendedActions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListRecommendedActionsRequest"},
      "output":{"shape":"ListRecommendedActionsResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"InternalServerException"},
        {"shape":"ValidationException"},
        {"shape":"ThrottlingException"}
      ]
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "exception":true
    },
    "AccountId":{
      "type":"string",
      "max":12,
      "min":12,
      "pattern":"[0-9]{12}"
    },
    "ActionFilter":{
      "type":"structure",
      "required":[
        "key",
        "matchOption",
        "values"
      ],
      "members":{
        "key":{"shape":"FilterName"},
        "matchOption":{"shape":"MatchOption"},
        "values":{"shape":"FilterValues"}
      }
    },
    "ActionFilterList":{
      "type":"list",
      "member":{"shape":"ActionFilter"}
    },
    "ActionType":{
      "type":"string",
      "enum":[
        "ADD_ALTERNATE_BILLING_CONTACT",
        "CREATE_ANOMALY_MONITOR",
        "CREATE_BUDGET",
        "ENABLE_COST_OPTIMIZATION_HUB",
        "MIGRATE_TO_GRANULAR_PERMISSIONS",
        "PAYMENTS_DUE",
        "PAYMENTS_PAST_DUE",
        "REVIEW_ANOMALIES",
        "REVIEW_BUDGET_ALERTS",
        "REVIEW_BUDGETS_EXCEEDED",
        "REVIEW_EXPIRING_RI",
        "REVIEW_EXPIRING_SP",
        "REVIEW_FREETIER_USAGE_ALERTS",
        "REVIEW_SAVINGS_OPPORTUNITY_RECOMMENDATIONS",
        "UPDATE_EXPIRED_PAYMENT_METHOD",
        "UPDATE_INVALID_PAYMENT_METHOD",
        "UPDATE_TAX_EXEMPTION_CERTIFICATE",
        "UPDATE_TAX_REGISTRATION_NUMBER"
      ]
    },
    "Context":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "Feature":{
      "type":"string",
      "enum":[
        "ACCOUNT",
        "BUDGETS",
        "COST_ANOMALY_DETECTION",
        "COST_OPTIMIZATION_HUB",
        "FREE_TIER",
        "IAM",
        "PAYMENTS",
        "RESERVATIONS",
        "SAVINGS_PLANS",
        "TAX_SETTINGS"
      ]
    },
    "FilterName":{
      "type":"string",
      "enum":[
        "FEATURE",
        "SEVERITY",
        "TYPE"
      ]
    },
    "FilterValue":{
      "type":"string",
      "max":1024,
      "min":1,
      "pattern":".*[\\S\\s]*.*"
    },
    "FilterValues":{
      "type":"list",
      "member":{"shape":"FilterValue"},
      "min":1
    },
    "InternalServerException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "exception":true,
      "fault":true
    },
    "ListRecommendedActionsRequest":{
      "type":"structure",
      "members":{
        "filter":{"shape":"RequestFilter"},
        "maxResults":{"shape":"MaxResults"},
        "nextToken":{"shape":"NextToken"}
      }
    },
    "ListRecommendedActionsResponse":{
      "type":"structure",
      "required":["recommendedActions"],
      "members":{
        "recommendedActions":{"shape":"RecommendedActions"},
        "nextToken":{"shape":"NextToken"}
      }
    },
    "MatchOption":{
      "type":"string",
      "enum":[
        "EQUALS",
        "NOT_EQUALS"
      ]
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":1000,
      "min":1
    },
    "NextStep":{"type":"string"},
    "NextSteps":{
      "type":"list",
      "member":{"shape":"NextStep"}
    },
    "NextToken":{
      "type":"string",
      "max":8192,
      "min":1,
      "pattern":"[\\S\\s]*"
    },
    "RecommendedAction":{
      "type":"structure",
      "members":{
        "id":{"shape":"String"},
        "type":{"shape":"ActionType"},
        "accountId":{"shape":"AccountId"},
        "severity":{"shape":"Severity"},
        "feature":{"shape":"Feature"},
        "context":{"shape":"Context"},
        "nextSteps":{"shape":"NextSteps"},
        "lastUpdatedTimeStamp":{"shape":"String"}
      }
    },
    "RecommendedActions":{
      "type":"list",
      "member":{"shape":"RecommendedAction"}
    },
    "RequestFilter":{
      "type":"structure",
      "members":{
        "actions":{"shape":"ActionFilterList"}
      }
    },
    "Severity":{
      "type":"string",
      "enum":[
        "INFO",
        "WARNING",
        "CRITICAL"
      ]
    },
    "String":{"type":"string"},
    "ThrottlingException":{
      "type":"structure",
      "required":["message"],
      "members":{
        "message":{"shape":"String"}
      },
      "exception":true
    },
    "ValidationException":{
      "type":"structure",
      "required":[
        "message",
        "reason"
      ],
      "members":{
        "message":{"shape":"String"},
        "reason":{"shape":"ValidationExceptionReason"},
        "fieldList":{"shape":"ValidationExceptionFieldList"}
      },
      "exception":true
    },
    "ValidationExceptionField":{
      "type":"structure",
      "required":[
        "name",
        "message"
      ],
      "members":{
        "name":{"shape":"String"},
        "message":{"shape":"String"}
      }
    },
    "ValidationExceptionFieldList":{
      "type":"list",
      "member":{"shape":"ValidationExceptionField"}
    },
    "ValidationExceptionReason":{
      "type":"string",
      "enum":[
        "unknownOperation",
        "cannotParse",
        "fieldValidationFailed",
        "other"
      ]
    }
  }
}
