{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2020-12-01",
    "endpointPrefix": "devops-guru",
    "jsonVersion": "1.1",
    "protocol": "rest-json",
    "serviceFullName": "Amazon DevOps Guru",
    "serviceId": "DevOps Guru",
    "signatureVersion": "v4",
    "signingName": "devops-guru",
    "uid": "devops-guru-2020-12-01"
  },
  "operations": {
    "AddNotificationChannel": {
      "http": {
        "method": "PUT",
        "requestUri": "/channels",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "Config"
        ],
        "members": {
          "Config": {
            "shape": "S2"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {}
        }
      }
    },
    "DescribeAccountHealth": {
      "http": {
        "method": "GET",
        "requestUri": "/accounts/health",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "required": [
          "OpenReactiveInsights",
          "OpenProactiveInsights",
          "MetricsAnalyzed",
          "ResourceHours"
        ],
        "members": {
          "OpenReactiveInsights": {
            "type": "integer"
          },
          "OpenProactiveInsights": {
            "type": "integer"
          },
          "MetricsAnalyzed": {
            "type": "integer"
          },
          "ResourceHours": {
            "type": "long"
          }
        }
      }
    },
    "DescribeAccountOverview": {
      "http": {
        "requestUri": "/accounts/overview",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "FromTime"
        ],
        "members": {
          "FromTime": {
            "type": "timestamp"
          },
          "ToTime": {
            "type": "timestamp"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ReactiveInsights",
          "ProactiveInsights",
          "MeanTimeToRecoverInMilliseconds"
        ],
        "members": {
          "ReactiveInsights": {
            "type": "integer"
          },
          "ProactiveInsights": {
            "type": "integer"
          },
          "MeanTimeToRecoverInMilliseconds": {
            "type": "long"
          }
        }
      }
    },
    "DescribeAnomaly": {
      "http": {
        "method": "GET",
        "requestUri": "/anomalies/{Id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ProactiveAnomaly": {
            "type": "structure",
            "members": {
              "Id": {},
              "Severity": {},
              "Status": {},
              "UpdateTime": {
                "type": "timestamp"
              },
              "AnomalyTimeRange": {
                "shape": "Sp"
              },
              "PredictionTimeRange": {
                "shape": "Sq"
              },
              "SourceDetails": {
                "shape": "Sr"
              },
              "AssociatedInsightId": {},
              "ResourceCollection": {
                "shape": "S14"
              },
              "Limit": {
                "type": "double"
              }
            }
          },
          "ReactiveAnomaly": {
            "type": "structure",
            "members": {
              "Id": {},
              "Severity": {},
              "Status": {},
              "AnomalyTimeRange": {
                "shape": "Sp"
              },
              "SourceDetails": {
                "shape": "Sr"
              },
              "AssociatedInsightId": {},
              "ResourceCollection": {
                "shape": "S14"
              }
            }
          }
        }
      }
    },
    "DescribeFeedback": {
      "http": {
        "requestUri": "/feedback",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "InsightId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "InsightFeedback": {
            "shape": "S1c"
          }
        }
      }
    },
    "DescribeInsight": {
      "http": {
        "method": "GET",
        "requestUri": "/insights/{Id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ProactiveInsight": {
            "type": "structure",
            "members": {
              "Id": {},
              "Name": {},
              "Severity": {},
              "Status": {},
              "InsightTimeRange": {
                "shape": "S1k"
              },
              "PredictionTimeRange": {
                "shape": "Sq"
              },
              "ResourceCollection": {
                "shape": "S14"
              },
              "SsmOpsItemId": {}
            }
          },
          "ReactiveInsight": {
            "type": "structure",
            "members": {
              "Id": {},
              "Name": {},
              "Severity": {},
              "Status": {},
              "InsightTimeRange": {
                "shape": "S1k"
              },
              "ResourceCollection": {
                "shape": "S14"
              },
              "SsmOpsItemId": {}
            }
          }
        }
      }
    },
    "DescribeResourceCollectionHealth": {
      "http": {
        "method": "GET",
        "requestUri": "/accounts/health/resource-collection/{ResourceCollectionType}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceCollectionType"
        ],
        "members": {
          "ResourceCollectionType": {
            "location": "uri",
            "locationName": "ResourceCollectionType"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "NextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "CloudFormation"
        ],
        "members": {
          "CloudFormation": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "StackName": {},
                "Insight": {
                  "type": "structure",
                  "members": {
                    "OpenProactiveInsights": {
                      "type": "integer"
                    },
                    "OpenReactiveInsights": {
                      "type": "integer"
                    },
                    "MeanTimeToRecoverInMilliseconds": {
                      "type": "long"
                    }
                  }
                }
              }
            }
          },
          "Service": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ServiceName": {},
                "Insight": {
                  "type": "structure",
                  "members": {
                    "OpenProactiveInsights": {
                      "type": "integer"
                    },
                    "OpenReactiveInsights": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "DescribeServiceIntegration": {
      "http": {
        "method": "GET",
        "requestUri": "/service-integrations",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "members": {
          "ServiceIntegration": {
            "type": "structure",
            "members": {
              "OpsCenter": {
                "type": "structure",
                "members": {
                  "OptInStatus": {}
                }
              }
            }
          }
        }
      }
    },
    "GetCostEstimation": {
      "http": {
        "method": "GET",
        "requestUri": "/cost-estimation",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {
            "location": "querystring",
            "locationName": "NextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ResourceCollection": {
            "shape": "S25"
          },
          "Status": {},
          "Costs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Type": {},
                "State": {},
                "Count": {
                  "type": "integer"
                },
                "UnitCost": {
                  "type": "double"
                },
                "Cost": {
                  "type": "double"
                }
              }
            }
          },
          "TimeRange": {
            "type": "structure",
            "members": {
              "StartTime": {
                "type": "timestamp"
              },
              "EndTime": {
                "type": "timestamp"
              }
            }
          },
          "TotalCost": {
            "type": "double"
          },
          "NextToken": {}
        }
      }
    },
    "GetResourceCollection": {
      "http": {
        "method": "GET",
        "requestUri": "/resource-collections/{ResourceCollectionType}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceCollectionType"
        ],
        "members": {
          "ResourceCollectionType": {
            "location": "uri",
            "locationName": "ResourceCollectionType"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "NextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ResourceCollection": {
            "type": "structure",
            "members": {
              "CloudFormation": {
                "type": "structure",
                "members": {
                  "StackNames": {
                    "shape": "S16"
                  }
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListAnomaliesForInsight": {
      "http": {
        "requestUri": "/anomalies/insight/{InsightId}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "InsightId"
        ],
        "members": {
          "InsightId": {
            "location": "uri",
            "locationName": "InsightId"
          },
          "StartTimeRange": {
            "shape": "S2l"
          },
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ProactiveAnomalies": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Severity": {},
                "Status": {},
                "UpdateTime": {
                  "type": "timestamp"
                },
                "AnomalyTimeRange": {
                  "shape": "Sp"
                },
                "PredictionTimeRange": {
                  "shape": "Sq"
                },
                "SourceDetails": {
                  "shape": "Sr"
                },
                "AssociatedInsightId": {},
                "ResourceCollection": {
                  "shape": "S14"
                },
                "Limit": {
                  "type": "double"
                }
              }
            }
          },
          "ReactiveAnomalies": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Severity": {},
                "Status": {},
                "AnomalyTimeRange": {
                  "shape": "Sp"
                },
                "SourceDetails": {
                  "shape": "Sr"
                },
                "AssociatedInsightId": {},
                "ResourceCollection": {
                  "shape": "S14"
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListEvents": {
      "http": {
        "requestUri": "/events",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "Filters"
        ],
        "members": {
          "Filters": {
            "type": "structure",
            "members": {
              "InsightId": {},
              "EventTimeRange": {
                "type": "structure",
                "required": [
                  "FromTime",
                  "ToTime"
                ],
                "members": {
                  "FromTime": {
                    "type": "timestamp"
                  },
                  "ToTime": {
                    "type": "timestamp"
                  }
                }
              },
              "EventClass": {},
              "EventSource": {},
              "DataSource": {},
              "ResourceCollection": {
                "shape": "S14"
              }
            }
          },
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "Events"
        ],
        "members": {
          "Events": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ResourceCollection": {
                  "shape": "S14"
                },
                "Id": {},
                "Time": {
                  "type": "timestamp"
                },
                "EventSource": {},
                "Name": {},
                "DataSource": {},
                "EventClass": {},
                "Resources": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "Type": {},
                      "Name": {},
                      "Arn": {}
                    }
                  }
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListInsights": {
      "http": {
        "requestUri": "/insights",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "StatusFilter"
        ],
        "members": {
          "StatusFilter": {
            "type": "structure",
            "members": {
              "Ongoing": {
                "type": "structure",
                "required": [
                  "Type"
                ],
                "members": {
                  "Type": {}
                }
              },
              "Closed": {
                "type": "structure",
                "required": [
                  "Type",
                  "EndTimeRange"
                ],
                "members": {
                  "Type": {},
                  "EndTimeRange": {
                    "type": "structure",
                    "members": {
                      "FromTime": {
                        "type": "timestamp"
                      },
                      "ToTime": {
                        "type": "timestamp"
                      }
                    }
                  }
                }
              },
              "Any": {
                "type": "structure",
                "required": [
                  "Type",
                  "StartTimeRange"
                ],
                "members": {
                  "Type": {},
                  "StartTimeRange": {
                    "shape": "S2l"
                  }
                }
              }
            }
          },
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ProactiveInsights": {
            "shape": "S3i"
          },
          "ReactiveInsights": {
            "shape": "S3m"
          },
          "NextToken": {}
        }
      }
    },
    "ListNotificationChannels": {
      "http": {
        "requestUri": "/channels",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Channels": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Id": {},
                "Config": {
                  "shape": "S2"
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "ListRecommendations": {
      "http": {
        "requestUri": "/recommendations",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "InsightId"
        ],
        "members": {
          "InsightId": {},
          "NextToken": {},
          "Locale": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Recommendations": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "Description": {},
                "Link": {},
                "Name": {},
                "Reason": {},
                "RelatedEvents": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "Name": {},
                      "Resources": {
                        "type": "list",
                        "member": {
                          "type": "structure",
                          "members": {
                            "Name": {},
                            "Type": {}
                          }
                        }
                      }
                    }
                  }
                },
                "RelatedAnomalies": {
                  "type": "list",
                  "member": {
                    "type": "structure",
                    "members": {
                      "Resources": {
                        "type": "list",
                        "member": {
                          "type": "structure",
                          "members": {
                            "Name": {},
                            "Type": {}
                          }
                        }
                      },
                      "SourceDetails": {
                        "type": "list",
                        "member": {
                          "type": "structure",
                          "members": {
                            "CloudWatchMetrics": {
                              "type": "list",
                              "member": {
                                "type": "structure",
                                "members": {
                                  "MetricName": {},
                                  "Namespace": {}
                                }
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "NextToken": {}
        }
      }
    },
    "PutFeedback": {
      "http": {
        "method": "PUT",
        "requestUri": "/feedback",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "InsightFeedback": {
            "shape": "S1c"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "RemoveNotificationChannel": {
      "http": {
        "method": "DELETE",
        "requestUri": "/channels/{Id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "SearchInsights": {
      "http": {
        "requestUri": "/insights/search",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "StartTimeRange",
          "Type"
        ],
        "members": {
          "StartTimeRange": {
            "shape": "S2l"
          },
          "Filters": {
            "type": "structure",
            "members": {
              "Severities": {
                "type": "list",
                "member": {}
              },
              "Statuses": {
                "type": "list",
                "member": {}
              },
              "ResourceCollection": {
                "shape": "S14"
              },
              "ServiceCollection": {
                "shape": "S3k"
              }
            }
          },
          "MaxResults": {
            "type": "integer"
          },
          "NextToken": {},
          "Type": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ProactiveInsights": {
            "shape": "S3i"
          },
          "ReactiveInsights": {
            "shape": "S3m"
          },
          "NextToken": {}
        }
      }
    },
    "StartCostEstimation": {
      "http": {
        "method": "PUT",
        "requestUri": "/cost-estimation",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceCollection"
        ],
        "members": {
          "ResourceCollection": {
            "shape": "S25"
          },
          "ClientToken": {
            "idempotencyToken": true
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateResourceCollection": {
      "http": {
        "method": "PUT",
        "requestUri": "/resource-collections",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "Action",
          "ResourceCollection"
        ],
        "members": {
          "Action": {},
          "ResourceCollection": {
            "type": "structure",
            "members": {
              "CloudFormation": {
                "type": "structure",
                "members": {
                  "StackNames": {
                    "type": "list",
                    "member": {}
                  }
                }
              }
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "UpdateServiceIntegration": {
      "http": {
        "method": "PUT",
        "requestUri": "/service-integrations",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "ServiceIntegration"
        ],
        "members": {
          "ServiceIntegration": {
            "type": "structure",
            "members": {
              "OpsCenter": {
                "type": "structure",
                "members": {
                  "OptInStatus": {}
                }
              }
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    }
  },
  "shapes": {
    "S2": {
      "type": "structure",
      "required": [
        "Sns"
      ],
      "members": {
        "Sns": {
          "type": "structure",
          "members": {
            "TopicArn": {}
          }
        }
      }
    },
    "Sp": {
      "type": "structure",
      "required": [
        "StartTime"
      ],
      "members": {
        "StartTime": {
          "type": "timestamp"
        },
        "EndTime": {
          "type": "timestamp"
        }
      }
    },
    "Sq": {
      "type": "structure",
      "required": [
        "StartTime"
      ],
      "members": {
        "StartTime": {
          "type": "timestamp"
        },
        "EndTime": {
          "type": "timestamp"
        }
      }
    },
    "Sr": {
      "type": "structure",
      "members": {
        "CloudWatchMetrics": {
          "type": "list",
          "member": {
            "type": "structure",
            "members": {
              "MetricName": {},
              "Namespace": {},
              "Dimensions": {
                "type": "list",
                "member": {
                  "type": "structure",
                  "members": {
                    "Name": {},
                    "Value": {}
                  }
                }
              },
              "Stat": {},
              "Unit": {},
              "Period": {
                "type": "integer"
              }
            }
          }
        }
      }
    },
    "S14": {
      "type": "structure",
      "members": {
        "CloudFormation": {
          "type": "structure",
          "members": {
            "StackNames": {
              "shape": "S16"
            }
          }
        }
      }
    },
    "S16": {
      "type": "list",
      "member": {}
    },
    "S1c": {
      "type": "structure",
      "members": {
        "Id": {},
        "Feedback": {}
      }
    },
    "S1k": {
      "type": "structure",
      "required": [
        "StartTime"
      ],
      "members": {
        "StartTime": {
          "type": "timestamp"
        },
        "EndTime": {
          "type": "timestamp"
        }
      }
    },
    "S25": {
      "type": "structure",
      "members": {
        "CloudFormation": {
          "type": "structure",
          "members": {
            "StackNames": {
              "type": "list",
              "member": {}
            }
          }
        }
      }
    },
    "S2l": {
      "type": "structure",
      "members": {
        "FromTime": {
          "type": "timestamp"
        },
        "ToTime": {
          "type": "timestamp"
        }
      }
    },
    "S3i": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Id": {},
          "Name": {},
          "Severity": {},
          "Status": {},
          "InsightTimeRange": {
            "shape": "S1k"
          },
          "PredictionTimeRange": {
            "shape": "Sq"
          },
          "ResourceCollection": {
            "shape": "S14"
          },
          "ServiceCollection": {
            "shape": "S3k"
          }
        }
      }
    },
    "S3k": {
      "type": "structure",
      "members": {
        "ServiceNames": {
          "type": "list",
          "member": {}
        }
      }
    },
    "S3m": {
      "type": "list",
      "member": {
        "type": "structure",
        "members": {
          "Id": {},
          "Name": {},
          "Severity": {},
          "Status": {},
          "InsightTimeRange": {
            "shape": "S1k"
          },
          "ResourceCollection": {
            "shape": "S14"
          },
          "ServiceCollection": {
            "shape": "S3k"
          }
        }
      }
    }
  }
}