{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2019-11-01",
    "endpointPrefix": "access-analyzer",
    "jsonVersion": "1.1",
    "protocol": "rest-json",
    "serviceFullName": "Access Analyzer",
    "serviceId": "AccessAnalyzer",
    "signatureVersion": "v4",
    "signingName": "access-analyzer",
    "uid": "accessanalyzer-2019-11-01"
  },
  "operations": {
    "ApplyArchiveRule": {
      "http": {
        "method": "PUT",
        "requestUri": "/archive-rule",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerArn",
          "ruleName"
        ],
        "members": {
          "analyzerArn": {},
          "clientToken": {
            "idempotencyToken": true
          },
          "ruleName": {}
        }
      },
      "idempotent": true
    },
    "CreateAnalyzer": {
      "http": {
        "method": "PUT",
        "requestUri": "/analyzer",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName",
          "type"
        ],
        "members": {
          "analyzerName": {},
          "archiveRules": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "filter",
                "ruleName"
              ],
              "members": {
                "filter": {
                  "shape": "S8"
                },
                "ruleName": {}
              }
            }
          },
          "clientToken": {
            "idempotencyToken": true
          },
          "tags": {
            "shape": "Sc"
          },
          "type": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "arn": {}
        }
      },
      "idempotent": true
    },
    "CreateArchiveRule": {
      "http": {
        "method": "PUT",
        "requestUri": "/analyzer/{analyzerName}/archive-rule",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName",
          "filter",
          "ruleName"
        ],
        "members": {
          "analyzerName": {
            "location": "uri",
            "locationName": "analyzerName"
          },
          "clientToken": {
            "idempotencyToken": true
          },
          "filter": {
            "shape": "S8"
          },
          "ruleName": {}
        }
      },
      "idempotent": true
    },
    "DeleteAnalyzer": {
      "http": {
        "method": "DELETE",
        "requestUri": "/analyzer/{analyzerName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName"
        ],
        "members": {
          "analyzerName": {
            "location": "uri",
            "locationName": "analyzerName"
          },
          "clientToken": {
            "idempotencyToken": true,
            "location": "querystring",
            "locationName": "clientToken"
          }
        }
      },
      "idempotent": true
    },
    "DeleteArchiveRule": {
      "http": {
        "method": "DELETE",
        "requestUri": "/analyzer/{analyzerName}/archive-rule/{ruleName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName",
          "ruleName"
        ],
        "members": {
          "analyzerName": {
            "location": "uri",
            "locationName": "analyzerName"
          },
          "clientToken": {
            "idempotencyToken": true,
            "location": "querystring",
            "locationName": "clientToken"
          },
          "ruleName": {
            "location": "uri",
            "locationName": "ruleName"
          }
        }
      },
      "idempotent": true
    },
    "GetAnalyzedResource": {
      "http": {
        "method": "GET",
        "requestUri": "/analyzed-resource",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerArn",
          "resourceArn"
        ],
        "members": {
          "analyzerArn": {
            "location": "querystring",
            "locationName": "analyzerArn"
          },
          "resourceArn": {
            "location": "querystring",
            "locationName": "resourceArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "resource": {
            "type": "structure",
            "required": [
              "analyzedAt",
              "createdAt",
              "isPublic",
              "resourceArn",
              "resourceOwnerAccount",
              "resourceType",
              "updatedAt"
            ],
            "members": {
              "actions": {
                "shape": "Sm"
              },
              "analyzedAt": {
                "shape": "Sn"
              },
              "createdAt": {
                "shape": "Sn"
              },
              "error": {},
              "isPublic": {
                "type": "boolean"
              },
              "resourceArn": {},
              "resourceOwnerAccount": {},
              "resourceType": {},
              "sharedVia": {
                "type": "list",
                "member": {}
              },
              "status": {},
              "updatedAt": {
                "shape": "Sn"
              }
            }
          }
        }
      }
    },
    "GetAnalyzer": {
      "http": {
        "method": "GET",
        "requestUri": "/analyzer/{analyzerName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName"
        ],
        "members": {
          "analyzerName": {
            "location": "uri",
            "locationName": "analyzerName"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "analyzer"
        ],
        "members": {
          "analyzer": {
            "shape": "St"
          }
        }
      }
    },
    "GetArchiveRule": {
      "http": {
        "method": "GET",
        "requestUri": "/analyzer/{analyzerName}/archive-rule/{ruleName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName",
          "ruleName"
        ],
        "members": {
          "analyzerName": {
            "location": "uri",
            "locationName": "analyzerName"
          },
          "ruleName": {
            "location": "uri",
            "locationName": "ruleName"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "archiveRule"
        ],
        "members": {
          "archiveRule": {
            "shape": "Sz"
          }
        }
      }
    },
    "GetFinding": {
      "http": {
        "method": "GET",
        "requestUri": "/finding/{id}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerArn",
          "id"
        ],
        "members": {
          "analyzerArn": {
            "location": "querystring",
            "locationName": "analyzerArn"
          },
          "id": {
            "location": "uri",
            "locationName": "id"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "finding": {
            "type": "structure",
            "required": [
              "analyzedAt",
              "condition",
              "createdAt",
              "id",
              "resourceOwnerAccount",
              "resourceType",
              "status",
              "updatedAt"
            ],
            "members": {
              "action": {
                "shape": "Sm"
              },
              "analyzedAt": {
                "shape": "Sn"
              },
              "condition": {
                "shape": "S14"
              },
              "createdAt": {
                "shape": "Sn"
              },
              "error": {},
              "id": {},
              "isPublic": {
                "type": "boolean"
              },
              "principal": {
                "shape": "S15"
              },
              "resource": {},
              "resourceOwnerAccount": {},
              "resourceType": {},
              "sources": {
                "shape": "S16"
              },
              "status": {},
              "updatedAt": {
                "shape": "Sn"
              }
            }
          }
        }
      }
    },
    "ListAnalyzedResources": {
      "http": {
        "requestUri": "/analyzed-resource",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerArn"
        ],
        "members": {
          "analyzerArn": {},
          "maxResults": {
            "type": "integer"
          },
          "nextToken": {},
          "resourceType": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "analyzedResources"
        ],
        "members": {
          "analyzedResources": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "resourceArn",
                "resourceOwnerAccount",
                "resourceType"
              ],
              "members": {
                "resourceArn": {},
                "resourceOwnerAccount": {},
                "resourceType": {}
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListAnalyzers": {
      "http": {
        "method": "GET",
        "requestUri": "/analyzer",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "members": {
          "maxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "nextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "type": {
            "location": "querystring",
            "locationName": "type"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "analyzers"
        ],
        "members": {
          "analyzers": {
            "type": "list",
            "member": {
              "shape": "St"
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListArchiveRules": {
      "http": {
        "method": "GET",
        "requestUri": "/analyzer/{analyzerName}/archive-rule",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName"
        ],
        "members": {
          "analyzerName": {
            "location": "uri",
            "locationName": "analyzerName"
          },
          "maxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "nextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "archiveRules"
        ],
        "members": {
          "archiveRules": {
            "type": "list",
            "member": {
              "shape": "Sz"
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListFindings": {
      "http": {
        "requestUri": "/finding",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerArn"
        ],
        "members": {
          "analyzerArn": {},
          "filter": {
            "shape": "S8"
          },
          "maxResults": {
            "type": "integer"
          },
          "nextToken": {},
          "sort": {
            "type": "structure",
            "members": {
              "attributeName": {},
              "orderBy": {}
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "findings"
        ],
        "members": {
          "findings": {
            "type": "list",
            "member": {
              "type": "structure",
              "required": [
                "analyzedAt",
                "condition",
                "createdAt",
                "id",
                "resourceOwnerAccount",
                "resourceType",
                "status",
                "updatedAt"
              ],
              "members": {
                "action": {
                  "shape": "Sm"
                },
                "analyzedAt": {
                  "shape": "Sn"
                },
                "condition": {
                  "shape": "S14"
                },
                "createdAt": {
                  "shape": "Sn"
                },
                "error": {},
                "id": {},
                "isPublic": {
                  "type": "boolean"
                },
                "principal": {
                  "shape": "S15"
                },
                "resource": {},
                "resourceOwnerAccount": {},
                "resourceType": {},
                "sources": {
                  "shape": "S16"
                },
                "status": {},
                "updatedAt": {
                  "shape": "Sn"
                }
              }
            }
          },
          "nextToken": {}
        }
      }
    },
    "ListTagsForResource": {
      "http": {
        "method": "GET",
        "requestUri": "/tags/{resourceArn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "tags": {
            "shape": "Sc"
          }
        }
      }
    },
    "StartResourceScan": {
      "http": {
        "requestUri": "/resource/scan",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerArn",
          "resourceArn"
        ],
        "members": {
          "analyzerArn": {},
          "resourceArn": {}
        }
      }
    },
    "TagResource": {
      "http": {
        "requestUri": "/tags/{resourceArn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tags"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "tags": {
            "shape": "Sc"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "UntagResource": {
      "http": {
        "method": "DELETE",
        "requestUri": "/tags/{resourceArn}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "resourceArn",
          "tagKeys"
        ],
        "members": {
          "resourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "tagKeys": {
            "location": "querystring",
            "locationName": "tagKeys",
            "type": "list",
            "member": {}
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      },
      "idempotent": true
    },
    "UpdateArchiveRule": {
      "http": {
        "method": "PUT",
        "requestUri": "/analyzer/{analyzerName}/archive-rule/{ruleName}",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerName",
          "filter",
          "ruleName"
        ],
        "members": {
          "analyzerName": {
            "location": "uri",
            "locationName": "analyzerName"
          },
          "clientToken": {
            "idempotencyToken": true
          },
          "filter": {
            "shape": "S8"
          },
          "ruleName": {
            "location": "uri",
            "locationName": "ruleName"
          }
        }
      },
      "idempotent": true
    },
    "UpdateFindings": {
      "http": {
        "method": "PUT",
        "requestUri": "/finding",
        "responseCode": 200
      },
      "input": {
        "type": "structure",
        "required": [
          "analyzerArn",
          "status"
        ],
        "members": {
          "analyzerArn": {},
          "clientToken": {
            "idempotencyToken": true
          },
          "ids": {
            "type": "list",
            "member": {}
          },
          "resourceArn": {},
          "status": {}
        }
      },
      "idempotent": true
    }
  },
  "shapes": {
    "S8": {
      "type": "map",
      "key": {},
      "value": {
        "type": "structure",
        "members": {
          "contains": {
            "shape": "Sa"
          },
          "eq": {
            "shape": "Sa"
          },
          "exists": {
            "type": "boolean"
          },
          "neq": {
            "shape": "Sa"
          }
        }
      }
    },
    "Sa": {
      "type": "list",
      "member": {}
    },
    "Sc": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "Sm": {
      "type": "list",
      "member": {}
    },
    "Sn": {
      "type": "timestamp",
      "timestampFormat": "iso8601"
    },
    "St": {
      "type": "structure",
      "required": [
        "arn",
        "createdAt",
        "name",
        "status",
        "type"
      ],
      "members": {
        "arn": {},
        "createdAt": {
          "shape": "Sn"
        },
        "lastResourceAnalyzed": {},
        "lastResourceAnalyzedAt": {
          "shape": "Sn"
        },
        "name": {},
        "status": {},
        "statusReason": {
          "type": "structure",
          "required": [
            "code"
          ],
          "members": {
            "code": {}
          }
        },
        "tags": {
          "shape": "Sc"
        },
        "type": {}
      }
    },
    "Sz": {
      "type": "structure",
      "required": [
        "createdAt",
        "filter",
        "ruleName",
        "updatedAt"
      ],
      "members": {
        "createdAt": {
          "shape": "Sn"
        },
        "filter": {
          "shape": "S8"
        },
        "ruleName": {},
        "updatedAt": {
          "shape": "Sn"
        }
      }
    },
    "S14": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S15": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S16": {
      "type": "list",
      "member": {
        "type": "structure",
        "required": [
          "type"
        ],
        "members": {
          "detail": {
            "type": "structure",
            "members": {
              "accessPointArn": {}
            }
          },
          "type": {}
        }
      }
    }
  }
}