{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2016-02-16",
    "endpointPrefix":"inspector",
    "jsonVersion":"1.1",
    "protocol":"json",
    "serviceFullName":"Amazon Inspector",
    "signatureVersion":"v4",
    "targetPrefix":"InspectorService"
  },
  "operations":{
    "AddAttributesToFindings":{
      "name":"AddAttributesToFindings",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"AddAttributesToFindingsRequest"},
      "output":{"shape":"AddAttributesToFindingsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Assigns attributes (key and value pair) to the findings specified by the findings' ARNs.</p>"
    },
    "CreateAssessmentTarget":{
      "name":"CreateAssessmentTarget",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAssessmentTargetRequest"},
      "output":{"shape":"CreateAssessmentTargetResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"LimitExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Creates a new assessment target using the resource group ARN generated by <a>CreateResourceGroup</a>. You can create up to 50 assessment targets per AWS account. You can run up to 500 concurrent agents per AWS account. For more information, see <a href=\"https://docs.aws.amazon.com/inspector/latest/userguide//inspector_applications.html\"> Amazon Inspector Assessment Targets</a>.</p>"
    },
    "CreateAssessmentTemplate":{
      "name":"CreateAssessmentTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateAssessmentTemplateRequest"},
      "output":{"shape":"CreateAssessmentTemplateResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"LimitExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Creates an assessment template for the assessment target specified by the assessment target ARN.</p>"
    },
    "CreateResourceGroup":{
      "name":"CreateResourceGroup",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"CreateResourceGroupRequest"},
      "output":{"shape":"CreateResourceGroupResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"LimitExceededException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Creates a resource group using the specified set of tags (key and value pairs) that are used to select the EC2 instances to be included in an Inspector assessment target. The created resource group is then used to create an Inspector assessment target.</p>"
    },
    "DeleteAssessmentRun":{
      "name":"DeleteAssessmentRun",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAssessmentRunRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AssessmentRunInProgressException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Deletes the assessment run specified by the assessment run ARN.</p>"
    },
    "DeleteAssessmentTarget":{
      "name":"DeleteAssessmentTarget",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAssessmentTargetRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AssessmentRunInProgressException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Deletes the assessment target specified by the assessment target ARN.</p>"
    },
    "DeleteAssessmentTemplate":{
      "name":"DeleteAssessmentTemplate",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DeleteAssessmentTemplateRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AssessmentRunInProgressException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Deletes the assessment template specified by the assessment template ARN.</p>"
    },
    "DescribeAssessmentRuns":{
      "name":"DescribeAssessmentRuns",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAssessmentRunsRequest"},
      "output":{"shape":"DescribeAssessmentRunsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Describes the assessment run(s) specified by the assessment run ARN(s).</p>"
    },
    "DescribeAssessmentTargets":{
      "name":"DescribeAssessmentTargets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAssessmentTargetsRequest"},
      "output":{"shape":"DescribeAssessmentTargetsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Describes the assessment target(s) specified by the assessment target ARN(s).</p>"
    },
    "DescribeAssessmentTemplates":{
      "name":"DescribeAssessmentTemplates",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeAssessmentTemplatesRequest"},
      "output":{"shape":"DescribeAssessmentTemplatesResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Describes the assessment template(s) specified by the assessment template(s) ARN(s).</p>"
    },
    "DescribeCrossAccountAccessRole":{
      "name":"DescribeCrossAccountAccessRole",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "output":{"shape":"DescribeCrossAccountAccessRoleResponse"},
      "errors":[
        {"shape":"InternalException"}
      ],
      "documentation":"<p>Describes the IAM role that enables Inspector to access your AWS account.</p>"
    },
    "DescribeFindings":{
      "name":"DescribeFindings",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeFindingsRequest"},
      "output":{"shape":"DescribeFindingsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Describes the finding(s) specified by the finding ARN(s).</p>"
    },
    "DescribeResourceGroups":{
      "name":"DescribeResourceGroups",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeResourceGroupsRequest"},
      "output":{"shape":"DescribeResourceGroupsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Describes resource group(s) specified by the resource group ARN(s).</p>"
    },
    "DescribeRulesPackages":{
      "name":"DescribeRulesPackages",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeRulesPackagesRequest"},
      "output":{"shape":"DescribeRulesPackagesResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"}
      ],
      "documentation":"<p>Describes the rules package(s) specified by the rules package ARN(s).</p>"
    },
    "GetTelemetryMetadata":{
      "name":"GetTelemetryMetadata",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GetTelemetryMetadataRequest"},
      "output":{"shape":"GetTelemetryMetadataResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Information about the data collected for the specified assessment run.</p>"
    },
    "ListAssessmentRunAgents":{
      "name":"ListAssessmentRunAgents",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAssessmentRunAgentsRequest"},
      "output":{"shape":"ListAssessmentRunAgentsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Lists the agents of the assessment run specified by the assessment run ARN.</p>"
    },
    "ListAssessmentRuns":{
      "name":"ListAssessmentRuns",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAssessmentRunsRequest"},
      "output":{"shape":"ListAssessmentRunsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Lists the assessments run corresponding to assessment template(s) specified by the assessment template(s)' ARN(s).</p>"
    },
    "ListAssessmentTargets":{
      "name":"ListAssessmentTargets",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAssessmentTargetsRequest"},
      "output":{"shape":"ListAssessmentTargetsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists the ARN(s) of the assessment target(s) within this AWS account. For more information about assessment targets, see <a href=\"https://docs.aws.amazon.com/inspector/latest/userguide//inspector_applications.html\">Amazon Inspector Assessment Targets</a>.</p>"
    },
    "ListAssessmentTemplates":{
      "name":"ListAssessmentTemplates",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListAssessmentTemplatesRequest"},
      "output":{"shape":"ListAssessmentTemplatesResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Lists the assessment template(s) corresponding to the assessment target(s) specified by the assessment targets' ARN(s).</p>"
    },
    "ListEventSubscriptions":{
      "name":"ListEventSubscriptions",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListEventSubscriptionsRequest"},
      "output":{"shape":"ListEventSubscriptionsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Lists all the event subscriptions for the assessment template specified by the assessment template ARN. For more information, see <a>SubscribeToEvent</a> and <a>UnsubscribeFromEvent</a>.</p>"
    },
    "ListFindings":{
      "name":"ListFindings",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListFindingsRequest"},
      "output":{"shape":"ListFindingsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Lists findings generated by the assessment run(s) specified by the assessment run ARN(s).</p>"
    },
    "ListRulesPackages":{
      "name":"ListRulesPackages",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListRulesPackagesRequest"},
      "output":{"shape":"ListRulesPackagesResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"}
      ],
      "documentation":"<p>Lists all available Inspector rules packages.</p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Lists all tags associated with an assessment template.</p>"
    },
    "PreviewAgents":{
      "name":"PreviewAgents",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"PreviewAgentsRequest"},
      "output":{"shape":"PreviewAgentsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"},
        {"shape":"InvalidCrossAccountRoleException"}
      ],
      "documentation":"<p>Previews the agents installed on the EC2 instances that are part of the specified assessment target.</p>"
    },
    "RegisterCrossAccountAccessRole":{
      "name":"RegisterCrossAccountAccessRole",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RegisterCrossAccountAccessRoleRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"InvalidCrossAccountRoleException"}
      ],
      "documentation":"<p>Registers the IAM role that Inspector uses to list your EC2 instances at the start of the assessment run or when you call the <a>PreviewAgents</a> action.</p>"
    },
    "RemoveAttributesFromFindings":{
      "name":"RemoveAttributesFromFindings",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"RemoveAttributesFromFindingsRequest"},
      "output":{"shape":"RemoveAttributesFromFindingsResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Removes entire attributes (key and value pairs) from the findings specified by the finding ARNs where an attribute with the specified key exists.</p>"
    },
    "SetTagsForResource":{
      "name":"SetTagsForResource",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SetTagsForResourceRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Sets tags (key and value pairs) to the assessment template specified by the assessment template ARN.</p>"
    },
    "StartAssessmentRun":{
      "name":"StartAssessmentRun",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StartAssessmentRunRequest"},
      "output":{"shape":"StartAssessmentRunResponse"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"LimitExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"},
        {"shape":"InvalidCrossAccountRoleException"},
        {"shape":"AgentsAlreadyRunningAssessmentException"}
      ],
      "documentation":"<p>Starts the assessment run specified by the assessment template ARN. For this API to function properly, you must not exceed the limit of running up to 500 concurrent agents per AWS account.</p>"
    },
    "StopAssessmentRun":{
      "name":"StopAssessmentRun",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"StopAssessmentRunRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Stops the assessment run specified by the assessment run ARN. </p>"
    },
    "SubscribeToEvent":{
      "name":"SubscribeToEvent",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"SubscribeToEventRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"LimitExceededException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Enables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified topic.</p>"
    },
    "UnsubscribeFromEvent":{
      "name":"UnsubscribeFromEvent",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UnsubscribeFromEventRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Disables the process of sending Amazon Simple Notification Service (SNS) notifications about a specified event to a specified topic.</p>"
    },
    "UpdateAssessmentTarget":{
      "name":"UpdateAssessmentTarget",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"UpdateAssessmentTargetRequest"},
      "errors":[
        {"shape":"InternalException"},
        {"shape":"InvalidInputException"},
        {"shape":"AccessDeniedException"},
        {"shape":"NoSuchEntityException"}
      ],
      "documentation":"<p>Updates the assessment target specified by the assessment target ARN.</p>"
    }
  },
  "shapes":{
    "AccessDeniedErrorCode":{
      "type":"string",
      "enum":[
        "ACCESS_DENIED_TO_ASSESSMENT_TARGET",
        "ACCESS_DENIED_TO_ASSESSMENT_TEMPLATE",
        "ACCESS_DENIED_TO_ASSESSMENT_RUN",
        "ACCESS_DENIED_TO_FINDING",
        "ACCESS_DENIED_TO_RESOURCE_GROUP",
        "ACCESS_DENIED_TO_RULES_PACKAGE",
        "ACCESS_DENIED_TO_SNS_TOPIC",
        "ACCESS_DENIED_TO_IAM_ROLE"
      ]
    },
    "AccessDeniedException":{
      "type":"structure",
      "required":[
        "message",
        "errorCode",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "errorCode":{
          "shape":"AccessDeniedErrorCode",
          "documentation":"<p>Code that indicates the type of error that is generated.</p>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>You do not have required permissions to access the requested resource.</p>",
      "exception":true
    },
    "AddAttributesToFindingsRequest":{
      "type":"structure",
      "required":[
        "findingArns",
        "attributes"
      ],
      "members":{
        "findingArns":{
          "shape":"AddRemoveAttributesFindingArnList",
          "documentation":"<p>The ARNs specifying the findings that you want to assign attributes to.</p>"
        },
        "attributes":{
          "shape":"UserAttributeList",
          "documentation":"<p>The array of attributes that you want to assign to specified findings.</p>"
        }
      }
    },
    "AddAttributesToFindingsResponse":{
      "type":"structure",
      "required":["failedItems"],
      "members":{
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Attributes details that cannot be described. An error code is provided for each failed item. </p>"
        }
      }
    },
    "AddRemoveAttributesFindingArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":10,
      "min":1
    },
    "AgentAlreadyRunningAssessment":{
      "type":"structure",
      "required":[
        "agentId",
        "assessmentRunArn"
      ],
      "members":{
        "agentId":{
          "shape":"AgentId",
          "documentation":"<p>ID of the agent that is running on an EC2 isntance that is already particiapting in another started assessment run.</p>"
        },
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment that has already been started.</p>"
        }
      },
      "documentation":"<p>This data type is used in the exception error that is thrown if you start an assessment run for an assessment target that includes an EC2 instance that is already participating in another started assessment run.</p>"
    },
    "AgentAlreadyRunningAssessmentList":{
      "type":"list",
      "member":{"shape":"AgentAlreadyRunningAssessment"},
      "max":10,
      "min":1
    },
    "AgentFilter":{
      "type":"structure",
      "required":[
        "agentHealths",
        "agentHealthCodes"
      ],
      "members":{
        "agentHealths":{
          "shape":"AgentHealthList",
          "documentation":"<p>The current health state of the agent. Values can be set to <b>HEALTHY</b> or <b>UNHEALTHY</b>.</p>"
        },
        "agentHealthCodes":{
          "shape":"AgentHealthCodeList",
          "documentation":"<p>The detailed health state of the agent. Values can be set to <b>IDLE</b>, <b>RUNNING</b>, <b>SHUTDOWN</b>, <b>UNHEALTHY</b>, <b>THROTTLED</b>, and <b>UNKNOWN</b>. </p>"
        }
      },
      "documentation":"<p>Contains information about an Inspector agent. This data type is used as a request parameter in the <a>ListAssessmentRunAgents</a> action.</p>"
    },
    "AgentHealth":{
      "type":"string",
      "enum":[
        "HEALTHY",
        "UNHEALTHY"
      ]
    },
    "AgentHealthCode":{
      "type":"string",
      "enum":[
        "IDLE",
        "RUNNING",
        "SHUTDOWN",
        "UNHEALTHY",
        "THROTTLED",
        "UNKNOWN"
      ]
    },
    "AgentHealthCodeList":{
      "type":"list",
      "member":{"shape":"AgentHealthCode"},
      "max":10,
      "min":0
    },
    "AgentHealthList":{
      "type":"list",
      "member":{"shape":"AgentHealth"},
      "max":10,
      "min":0
    },
    "AgentId":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AgentIdList":{
      "type":"list",
      "member":{"shape":"AgentId"},
      "max":500,
      "min":0
    },
    "AgentPreview":{
      "type":"structure",
      "required":["agentId"],
      "members":{
        "agentId":{
          "shape":"AgentId",
          "documentation":"<p>The id of the EC2 instance where the agent is intalled.</p>"
        },
        "autoScalingGroup":{
          "shape":"AutoScalingGroup",
          "documentation":"<p>The autoscaling group for the EC2 instance where the agent is installed.</p>"
        }
      },
      "documentation":"<p>This data type is used as a response element in the <a>PreviewAgents</a> action.</p>"
    },
    "AgentPreviewList":{
      "type":"list",
      "member":{"shape":"AgentPreview"},
      "max":100,
      "min":0
    },
    "AgentsAlreadyRunningAssessmentException":{
      "type":"structure",
      "required":[
        "message",
        "agents",
        "agentsTruncated",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "agents":{
          "shape":"AgentAlreadyRunningAssessmentList",
          "documentation":"<p/>"
        },
        "agentsTruncated":{
          "shape":"Bool",
          "documentation":"<p/>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>You start an assessment run and one of the instances is already participating in another assessment run.</p>",
      "exception":true
    },
    "AmiId":{
      "type":"string",
      "max":256,
      "min":0
    },
    "Arn":{
      "type":"string",
      "max":300,
      "min":1
    },
    "AssessmentRulesPackageArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":50,
      "min":1
    },
    "AssessmentRun":{
      "type":"structure",
      "required":[
        "arn",
        "name",
        "assessmentTemplateArn",
        "state",
        "durationInSeconds",
        "rulesPackageArns",
        "userAttributesForFindings",
        "createdAt",
        "stateChangedAt",
        "dataCollected",
        "stateChanges",
        "notifications"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment run.</p>"
        },
        "name":{
          "shape":"AssessmentRunName",
          "documentation":"<p>The auto-generated name for the assessment run. </p>"
        },
        "assessmentTemplateArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment template that is associated with the assessment run.</p>"
        },
        "state":{
          "shape":"AssessmentRunState",
          "documentation":"<p>The state of the assessment run.</p>"
        },
        "durationInSeconds":{
          "shape":"AssessmentRunDuration",
          "documentation":"<p>The duration of the assessment run.</p>"
        },
        "rulesPackageArns":{
          "shape":"AssessmentRulesPackageArnList",
          "documentation":"<p>Rules packages selected for the assessment run.</p>"
        },
        "userAttributesForFindings":{
          "shape":"UserAttributeList",
          "documentation":"<p>The user-defined attributes that are assigned to every generated finding.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time when <a>StartAssessmentRun</a> API was called.</p>"
        },
        "startedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time when <a>StartAssessmentRun</a> API was called.</p>"
        },
        "completedAt":{
          "shape":"Timestamp",
          "documentation":"<p>Assessment run completion time that corresponds to the rules packages evaluation completion time or failure.</p>"
        },
        "stateChangedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The last time when the assessment run's state changed.</p>"
        },
        "dataCollected":{
          "shape":"Bool",
          "documentation":"<p>Boolean value (true or false) specifying whether the process of collecting data from the agents is completed.</p>"
        },
        "stateChanges":{
          "shape":"AssessmentRunStateChangeList",
          "documentation":"<p>A list of the assessment run state changes.</p>"
        },
        "notifications":{
          "shape":"AssessmentRunNotificationList",
          "documentation":"<p>A list of notifications for the event subscriptions. A notification about a particular generated finding is only added to this list once.</p>"
        }
      },
      "documentation":"<p>A snapshot of an Inspector assessment run that contains the assessment run's findings.</p> <p>This data type is used as the response element in the <a>DescribeAssessmentRuns</a> action.</p>"
    },
    "AssessmentRunAgent":{
      "type":"structure",
      "required":[
        "agentId",
        "assessmentRunArn",
        "agentHealth",
        "agentHealthCode",
        "telemetryMetadata"
      ],
      "members":{
        "agentId":{
          "shape":"AgentId",
          "documentation":"<p>AWS account of the EC2 instance where the agent is installed.</p>"
        },
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment run that is associated with the agent.</p>"
        },
        "agentHealth":{
          "shape":"AgentHealth",
          "documentation":"<p>The current health state of the agent.</p>"
        },
        "agentHealthCode":{
          "shape":"AgentHealthCode",
          "documentation":"<p>The detailed health state of the agent.</p>"
        },
        "agentHealthDetails":{
          "shape":"Message",
          "documentation":"<p>The description for the agent health code.</p>"
        },
        "autoScalingGroup":{
          "shape":"AutoScalingGroup",
          "documentation":"<p>The auto-scaling group of the EC2 instance specified by the agent ID.</p>"
        },
        "telemetryMetadata":{
          "shape":"TelemetryMetadataList",
          "documentation":"<p>The Inspector application data metrics collected by the agent. </p>"
        }
      },
      "documentation":"<p>Contains information about an Inspector agent. This data type is used as a response element in the <a>ListAssessmentRunAgents</a> action.</p>"
    },
    "AssessmentRunAgentList":{
      "type":"list",
      "member":{"shape":"AssessmentRunAgent"},
      "max":500,
      "min":0
    },
    "AssessmentRunDuration":{
      "type":"integer",
      "max":86400,
      "min":180
    },
    "AssessmentRunFilter":{
      "type":"structure",
      "members":{
        "namePattern":{
          "shape":"NamePattern",
          "documentation":"<p>For a record to match a filter, an explicit value or a string containing a wildcard specified for this data type property must match the value of the <b>assessmentRunName</b> property of the <a>AssessmentRun</a> data type.</p>"
        },
        "states":{
          "shape":"AssessmentRunStateList",
          "documentation":"<p>For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the <b>assessmentRunState</b> property of the <a>AssessmentRun</a> data type.</p>"
        },
        "durationRange":{
          "shape":"DurationRange",
          "documentation":"<p>For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the <b>durationInSeconds</b> property of the <a>AssessmentRun</a> data type.</p>"
        },
        "rulesPackageArns":{
          "shape":"FilterRulesPackageArnList",
          "documentation":"<p>For a record to match a filter, the value specified for this data type property must be contained in the list of values of the <b>rulesPackages</b> property of the <a>AssessmentRun</a> data type.</p>"
        },
        "startTimeRange":{
          "shape":"TimestampRange",
          "documentation":"<p>For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the <b>startTime</b> property of the <a>AssessmentRun</a> data type.</p>"
        },
        "completionTimeRange":{
          "shape":"TimestampRange",
          "documentation":"<p>For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the <b>completedAt</b> property of the <a>AssessmentRun</a> data type.</p>"
        },
        "stateChangeTimeRange":{
          "shape":"TimestampRange",
          "documentation":"<p>For a record to match a filter, the value specified for this data type property must match the <b>stateChangedAt</b> property of the <a>AssessmentRun</a> data type.</p>"
        }
      },
      "documentation":"<p>This data type is used as the request parameter in the <a>ListAssessmentRuns</a> action.</p>"
    },
    "AssessmentRunInProgressArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":10,
      "min":1
    },
    "AssessmentRunInProgressException":{
      "type":"structure",
      "required":[
        "message",
        "assessmentRunArns",
        "assessmentRunArnsTruncated",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "assessmentRunArns":{
          "shape":"AssessmentRunInProgressArnList",
          "documentation":"<p>The ARN(s) of the assessment run(s) that are currently in progress.</p>"
        },
        "assessmentRunArnsTruncated":{
          "shape":"Bool",
          "documentation":"<p>Boolean value indicating whether the assessment runs ARN list is truncated.</p>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>You cannot perform a specified action if an assessment run is currently in progress.</p>",
      "exception":true
    },
    "AssessmentRunList":{
      "type":"list",
      "member":{"shape":"AssessmentRun"},
      "max":10,
      "min":0
    },
    "AssessmentRunName":{
      "type":"string",
      "max":140,
      "min":1
    },
    "AssessmentRunNotification":{
      "type":"structure",
      "required":[
        "date",
        "event",
        "error"
      ],
      "members":{
        "date":{
          "shape":"Timestamp",
          "documentation":"<p>The date of the notification.</p>"
        },
        "event":{
          "shape":"InspectorEvent",
          "documentation":"<p>The event for which a notification is sent.</p>"
        },
        "message":{"shape":"Message"},
        "error":{
          "shape":"Bool",
          "documentation":"<p>The Boolean value that specifies whether the notification represents an error.</p>"
        },
        "snsTopicArn":{
          "shape":"Arn",
          "documentation":"<p>The SNS topic to which the SNS notification is sent.</p>"
        },
        "snsPublishStatusCode":{
          "shape":"AssessmentRunNotificationSnsStatusCode",
          "documentation":"<p>The status code of the SNS notification.</p>"
        }
      },
      "documentation":"<p>This data type is used as one of the elements of the <a>AssessmentRun</a> data type.</p>"
    },
    "AssessmentRunNotificationList":{
      "type":"list",
      "member":{"shape":"AssessmentRunNotification"},
      "max":50,
      "min":0
    },
    "AssessmentRunNotificationSnsStatusCode":{
      "type":"string",
      "enum":[
        "SUCCESS",
        "TOPIC_DOES_NOT_EXIST",
        "ACCESS_DENIED",
        "INTERNAL_ERROR"
      ]
    },
    "AssessmentRunState":{
      "type":"string",
      "enum":[
        "CREATED",
        "START_DATA_COLLECTION_PENDING",
        "START_DATA_COLLECTION_IN_PROGRESS",
        "COLLECTING_DATA",
        "STOP_DATA_COLLECTION_PENDING",
        "DATA_COLLECTED",
        "EVALUATING_RULES",
        "FAILED",
        "COMPLETED",
        "COMPLETED_WITH_ERRORS"
      ]
    },
    "AssessmentRunStateChange":{
      "type":"structure",
      "required":[
        "stateChangedAt",
        "state"
      ],
      "members":{
        "stateChangedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The last time the assessment run state changed.</p>"
        },
        "state":{
          "shape":"AssessmentRunState",
          "documentation":"<p>The assessment run state.</p>"
        }
      },
      "documentation":"<p>This data type is used as one of the elements of the <a>AssessmentRun</a> data type.</p>"
    },
    "AssessmentRunStateChangeList":{
      "type":"list",
      "member":{"shape":"AssessmentRunStateChange"},
      "max":50,
      "min":0
    },
    "AssessmentRunStateList":{
      "type":"list",
      "member":{"shape":"AssessmentRunState"},
      "max":50,
      "min":0
    },
    "AssessmentTarget":{
      "type":"structure",
      "required":[
        "arn",
        "name",
        "resourceGroupArn",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the Inspector assessment target. </p>"
        },
        "name":{
          "shape":"AssessmentTargetName",
          "documentation":"<p>The name of the Inspector assessment target. </p>"
        },
        "resourceGroupArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the resource group that is associated with the assessment target. </p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the assessment target is created.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which <a>UpdateAssessmentTarget</a> API is called.</p>"
        }
      },
      "documentation":"<p>Contains information about an Inspector application. This data type is used as the response element in the <a>DescribeAssessmentTargets</a> action.</p>"
    },
    "AssessmentTargetFilter":{
      "type":"structure",
      "members":{
        "assessmentTargetNamePattern":{
          "shape":"NamePattern",
          "documentation":"<p>For a record to match a filter, an explicit value or a string containing a wildcard specified for this data type property must match the value of the <b>assessmentTargetName</b> property of the <a>AssessmentTarget</a> data type.</p>"
        }
      },
      "documentation":"<p>This data type is used as the request parameter in the <a>ListAssessmentTargets</a> action.</p>"
    },
    "AssessmentTargetList":{
      "type":"list",
      "member":{"shape":"AssessmentTarget"},
      "max":10,
      "min":0
    },
    "AssessmentTargetName":{
      "type":"string",
      "max":140,
      "min":1
    },
    "AssessmentTemplate":{
      "type":"structure",
      "required":[
        "arn",
        "name",
        "assessmentTargetArn",
        "durationInSeconds",
        "rulesPackageArns",
        "userAttributesForFindings",
        "createdAt"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment template.</p>"
        },
        "name":{
          "shape":"AssessmentTemplateName",
          "documentation":"<p>The name of the assessment template.</p>"
        },
        "assessmentTargetArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment target that corresponds to this assessment template.</p>"
        },
        "durationInSeconds":{
          "shape":"AssessmentRunDuration",
          "documentation":"<p>The duration in seconds specified for this assessment tempate. The default value is 3600 seconds (one hour). The maximum value is 86400 seconds (one day).</p>"
        },
        "rulesPackageArns":{
          "shape":"AssessmentTemplateRulesPackageArnList",
          "documentation":"<p>Rules packages specified for this assessment template.</p>"
        },
        "userAttributesForFindings":{
          "shape":"UserAttributeList",
          "documentation":"<p>The user-defined attributes that are assigned to every generated finding from the assessment run that uses this assessment template.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the assessment template is created.</p>"
        }
      },
      "documentation":"<p>Contains information about an Inspector assessment template. This data type is used as the response element in the <a>DescribeAssessmentTemplates</a> action.</p>"
    },
    "AssessmentTemplateFilter":{
      "type":"structure",
      "members":{
        "namePattern":{
          "shape":"NamePattern",
          "documentation":"<p>For a record to match a filter, an explicit value or a string containing a wildcard specified for this data type property must match the value of the <b>assessmentTemplateName</b> property of the <a>AssessmentTemplate</a> data type.</p>"
        },
        "durationRange":{
          "shape":"DurationRange",
          "documentation":"<p>For a record to match a filter, the value specified for this data type property must inclusively match any value between the specified minimum and maximum values of the <b>durationInSeconds</b> property of the <a>AssessmentTemplate</a> data type.</p>"
        },
        "rulesPackageArns":{
          "shape":"FilterRulesPackageArnList",
          "documentation":"<p>For a record to match a filter, the value(s) specified for this data type property must be contained in the list of values of the <b>rulesPackageArns</b> property of the <a>AssessmentTemplate</a> data type.</p>"
        }
      },
      "documentation":"<p>This data type is used as the request parameter in the <a>ListAssessmentTemplates</a> action.</p>"
    },
    "AssessmentTemplateList":{
      "type":"list",
      "member":{"shape":"AssessmentTemplate"},
      "max":10,
      "min":0
    },
    "AssessmentTemplateName":{
      "type":"string",
      "max":140,
      "min":1
    },
    "AssessmentTemplateRulesPackageArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":50,
      "min":0
    },
    "AssetAttributes":{
      "type":"structure",
      "required":["schemaVersion"],
      "members":{
        "schemaVersion":{
          "shape":"NumericVersion",
          "documentation":"<p>The schema version of this data type.</p>"
        },
        "agentId":{
          "shape":"AgentId",
          "documentation":"<p>The id of the agent that is installed on the EC2 instance where the finding is generated.</p>"
        },
        "autoScalingGroup":{
          "shape":"AutoScalingGroup",
          "documentation":"<p>The auto-scaling group of the EC2 instance where the finding is generated. </p>"
        },
        "amiId":{
          "shape":"AmiId",
          "documentation":"<p>Amazon Machine Image(AMI) ID installed on the EC2 instance where the finding is generated.</p>"
        },
        "hostname":{
          "shape":"Hostname",
          "documentation":"<p>The hostname of the EC2 instance where the finding is generated.</p>"
        },
        "ipv4Addresses":{
          "shape":"Ipv4AddressList",
          "documentation":"<p>The list of IP v4 addresses of the EC2 instance where the finding is generated.</p>"
        }
      },
      "documentation":"<p>A collection of attributes of the host from which the finding is generated.</p>"
    },
    "AssetType":{
      "type":"string",
      "enum":["ec2-instance"]
    },
    "Attribute":{
      "type":"structure",
      "required":["key"],
      "members":{
        "key":{
          "shape":"AttributeKey",
          "documentation":"<p>The attribute key.</p>"
        },
        "value":{
          "shape":"AttributeValue",
          "documentation":"<p>The value assigned to the attribute key.</p>"
        }
      },
      "documentation":"<p>This data type is used as a request parameter in the <a>AddAttributesToFindings</a> and <a>CreateAssessmentTemplate</a> actions.</p>"
    },
    "AttributeKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "AttributeList":{
      "type":"list",
      "member":{"shape":"Attribute"},
      "max":50,
      "min":0
    },
    "AttributeValue":{
      "type":"string",
      "max":256,
      "min":1
    },
    "AutoScalingGroup":{
      "type":"string",
      "max":256,
      "min":1
    },
    "AutoScalingGroupList":{
      "type":"list",
      "member":{"shape":"AutoScalingGroup"},
      "max":20,
      "min":0
    },
    "BatchDescribeArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":10,
      "min":1
    },
    "Bool":{"type":"boolean"},
    "CreateAssessmentTargetRequest":{
      "type":"structure",
      "required":[
        "assessmentTargetName",
        "resourceGroupArn"
      ],
      "members":{
        "assessmentTargetName":{
          "shape":"AssessmentTargetName",
          "documentation":"<p>The user-defined name identifying the assessment target that you want to create. The name must be unique within the AWS account.</p>"
        },
        "resourceGroupArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the resource group that is used to create the assessment target.</p>"
        }
      }
    },
    "CreateAssessmentTargetResponse":{
      "type":"structure",
      "required":["assessmentTargetArn"],
      "members":{
        "assessmentTargetArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment target that is created.</p>"
        }
      }
    },
    "CreateAssessmentTemplateRequest":{
      "type":"structure",
      "required":[
        "assessmentTargetArn",
        "assessmentTemplateName",
        "durationInSeconds",
        "rulesPackageArns"
      ],
      "members":{
        "assessmentTargetArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment target for which you want to create the assessment template.</p>"
        },
        "assessmentTemplateName":{
          "shape":"AssessmentTemplateName",
          "documentation":"<p>The user-defined name identifying the assessment template that you want to create. You can create several assessment templates for an assessment target. The names of the assessment templates corresponding to a particular assessment target must be unique.</p>"
        },
        "durationInSeconds":{
          "shape":"AssessmentRunDuration",
          "documentation":"<p>The duration of the assessment run in seconds. The default value is 3600 seconds (one hour).</p>"
        },
        "rulesPackageArns":{
          "shape":"AssessmentTemplateRulesPackageArnList",
          "documentation":"<p>The ARNs specifying the rules packages that you want to attach to the assessment template.</p>"
        },
        "userAttributesForFindings":{
          "shape":"UserAttributeList",
          "documentation":"<p>The user-defined attributes that are assigned to every finding generated by the assessment run that uses this assessment template.</p>"
        }
      }
    },
    "CreateAssessmentTemplateResponse":{
      "type":"structure",
      "required":["assessmentTemplateArn"],
      "members":{
        "assessmentTemplateArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment template that is created.</p>"
        }
      }
    },
    "CreateResourceGroupRequest":{
      "type":"structure",
      "required":["resourceGroupTags"],
      "members":{
        "resourceGroupTags":{
          "shape":"ResourceGroupTags",
          "documentation":"<p>A collection of keys and an array of possible values, '[{\"key\":\"key1\",\"values\":[\"Value1\",\"Value2\"]},{\"key\":\"Key2\",\"values\":[\"Value3\"]}]'.</p> <p>For example,'[{\"key\":\"Name\",\"values\":[\"TestEC2Instance\"]}]'. </p>"
        }
      }
    },
    "CreateResourceGroupResponse":{
      "type":"structure",
      "required":["resourceGroupArn"],
      "members":{
        "resourceGroupArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the resource group that is created.</p>"
        }
      }
    },
    "DeleteAssessmentRunRequest":{
      "type":"structure",
      "required":["assessmentRunArn"],
      "members":{
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment run that you want to delete.</p>"
        }
      }
    },
    "DeleteAssessmentTargetRequest":{
      "type":"structure",
      "required":["assessmentTargetArn"],
      "members":{
        "assessmentTargetArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment target that you want to delete.</p>"
        }
      }
    },
    "DeleteAssessmentTemplateRequest":{
      "type":"structure",
      "required":["assessmentTemplateArn"],
      "members":{
        "assessmentTemplateArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment template that you want to delete.</p>"
        }
      }
    },
    "DescribeAssessmentRunsRequest":{
      "type":"structure",
      "required":["assessmentRunArns"],
      "members":{
        "assessmentRunArns":{
          "shape":"BatchDescribeArnList",
          "documentation":"<p>The ARN(s) specifying the assessment run(s) that you want to describe.</p>"
        }
      }
    },
    "DescribeAssessmentRunsResponse":{
      "type":"structure",
      "required":[
        "assessmentRuns",
        "failedItems"
      ],
      "members":{
        "assessmentRuns":{
          "shape":"AssessmentRunList",
          "documentation":"<p>Information about the assessment run(s).</p>"
        },
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Assessment run details that cannot be described. An error code is provided for each failed item.</p>"
        }
      }
    },
    "DescribeAssessmentTargetsRequest":{
      "type":"structure",
      "required":["assessmentTargetArns"],
      "members":{
        "assessmentTargetArns":{
          "shape":"BatchDescribeArnList",
          "documentation":"<p>The ARN(s) specifying the assessment target(s) that you want to describe.</p>"
        }
      }
    },
    "DescribeAssessmentTargetsResponse":{
      "type":"structure",
      "required":[
        "assessmentTargets",
        "failedItems"
      ],
      "members":{
        "assessmentTargets":{
          "shape":"AssessmentTargetList",
          "documentation":"<p>Information about the assessment target(s).</p>"
        },
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Assessment target details that cannot be described. An error code is provided for each failed item.</p>"
        }
      }
    },
    "DescribeAssessmentTemplatesRequest":{
      "type":"structure",
      "required":["assessmentTemplateArns"],
      "members":{
        "assessmentTemplateArns":{
          "shape":"BatchDescribeArnList",
          "documentation":"<p>The ARN(s) specifying the assessment template(s) that you want to describe.</p>"
        }
      }
    },
    "DescribeAssessmentTemplatesResponse":{
      "type":"structure",
      "required":[
        "assessmentTemplates",
        "failedItems"
      ],
      "members":{
        "assessmentTemplates":{
          "shape":"AssessmentTemplateList",
          "documentation":"<p>Information about the assessment template(s).</p>"
        },
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Assessment template details that cannot be described. An error code is provided for each failed item.</p>"
        }
      }
    },
    "DescribeCrossAccountAccessRoleResponse":{
      "type":"structure",
      "required":[
        "roleArn",
        "valid",
        "registeredAt"
      ],
      "members":{
        "roleArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the IAM role that Inspector uses to access your AWS account.</p>"
        },
        "valid":{
          "shape":"Bool",
          "documentation":"<p>A Boolean value that specifies whether the IAM role has the necessary policies attached to enable Inspector to access your AWS account.</p>"
        },
        "registeredAt":{
          "shape":"Timestamp",
          "documentation":"<p>The date when the cross account access role was registered.</p>"
        }
      }
    },
    "DescribeFindingsRequest":{
      "type":"structure",
      "required":["findingArns"],
      "members":{
        "findingArns":{
          "shape":"BatchDescribeArnList",
          "documentation":"<p>The ARN(s) specifying the finding(s) that you want to describe.</p>"
        },
        "locale":{
          "shape":"Locale",
          "documentation":"<p>The locale that you want to translate a finding description(s), recommendation(s), and the short description(s) that identify the finding(s) into.</p>"
        }
      }
    },
    "DescribeFindingsResponse":{
      "type":"structure",
      "required":[
        "findings",
        "failedItems"
      ],
      "members":{
        "findings":{
          "shape":"FindingList",
          "documentation":"<p>Information about the finding(s).</p>"
        },
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Finding details that cannot be described. An error code is provided for each failed item.</p>"
        }
      }
    },
    "DescribeResourceGroupsRequest":{
      "type":"structure",
      "required":["resourceGroupArns"],
      "members":{
        "resourceGroupArns":{
          "shape":"BatchDescribeArnList",
          "documentation":"<p>The ARN(s) specifying the resource group(s) that you want to describe.</p>"
        }
      }
    },
    "DescribeResourceGroupsResponse":{
      "type":"structure",
      "required":[
        "resourceGroups",
        "failedItems"
      ],
      "members":{
        "resourceGroups":{
          "shape":"ResourceGroupList",
          "documentation":"<p>Information about the resource group(s).</p>"
        },
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Resource group details that cannot be described. An error code is provided for each failed item.</p>"
        }
      }
    },
    "DescribeRulesPackagesRequest":{
      "type":"structure",
      "required":["rulesPackageArns"],
      "members":{
        "rulesPackageArns":{
          "shape":"BatchDescribeArnList",
          "documentation":"<p>The ARN(s) specifying the rules package(s) that you want to describe.</p>"
        },
        "locale":{
          "shape":"Locale",
          "documentation":"<p>The locale that you want to translate a rules package description(s) into.</p>"
        }
      }
    },
    "DescribeRulesPackagesResponse":{
      "type":"structure",
      "required":[
        "rulesPackages",
        "failedItems"
      ],
      "members":{
        "rulesPackages":{
          "shape":"RulesPackageList",
          "documentation":"<p>Information about the rules package(s).</p>"
        },
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Rules package details that cannot be described. An error code is provided for each failed item.</p>"
        }
      }
    },
    "DurationRange":{
      "type":"structure",
      "members":{
        "minSeconds":{
          "shape":"AssessmentRunDuration",
          "documentation":"<p>The minimum value of the duration range. Must be greater than zero.</p>"
        },
        "maxSeconds":{
          "shape":"AssessmentRunDuration",
          "documentation":"<p>The maximum value of the duration range. Must be less than or equal to 604800 seconds (1 week).</p>"
        }
      },
      "documentation":"<p>This data type is used in the <a>AssessmentTemplateFilter</a> data type.</p>"
    },
    "ErrorMessage":{
      "type":"string",
      "max":1000,
      "min":0
    },
    "EventSubscription":{
      "type":"structure",
      "required":[
        "event",
        "subscribedAt"
      ],
      "members":{
        "event":{
          "shape":"InspectorEvent",
          "documentation":"<p>The event for which Amazon Simple Notification Service (SNS) notifications are sent.</p>"
        },
        "subscribedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which the <a>SubscribeToEvent</a> API is called.</p>"
        }
      },
      "documentation":"<p>This data type is used in the <a>Subscription</a> data type.</p>"
    },
    "EventSubscriptionList":{
      "type":"list",
      "member":{"shape":"EventSubscription"},
      "max":50,
      "min":1
    },
    "FailedItemDetails":{
      "type":"structure",
      "required":[
        "failureCode",
        "retryable"
      ],
      "members":{
        "failureCode":{
          "shape":"FailedItemErrorCode",
          "documentation":"<p>The status code of a failed item.</p>"
        },
        "retryable":{
          "shape":"Bool",
          "documentation":"<p>Indicates whether you can immediately retry a request for this item for a specified resource.</p>"
        }
      },
      "documentation":"<p>Includes details about the failed items.</p>"
    },
    "FailedItemErrorCode":{
      "type":"string",
      "enum":[
        "INVALID_ARN",
        "DUPLICATE_ARN",
        "ITEM_DOES_NOT_EXIST",
        "ACCESS_DENIED",
        "LIMIT_EXCEEDED",
        "INTERNAL_ERROR"
      ]
    },
    "FailedItems":{
      "type":"map",
      "key":{"shape":"Arn"},
      "value":{"shape":"FailedItemDetails"}
    },
    "FilterRulesPackageArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":50,
      "min":0
    },
    "Finding":{
      "type":"structure",
      "required":[
        "arn",
        "attributes",
        "userAttributes",
        "createdAt",
        "updatedAt"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the finding.</p>"
        },
        "schemaVersion":{
          "shape":"NumericVersion",
          "documentation":"<p>The schema version of this data type.</p>"
        },
        "service":{
          "shape":"ServiceName",
          "documentation":"<p>The data element is set to \"Inspector\".</p>"
        },
        "serviceAttributes":{"shape":"InspectorServiceAttributes"},
        "assetType":{
          "shape":"AssetType",
          "documentation":"<p>The type of the host from which the finding is generated.</p>"
        },
        "assetAttributes":{
          "shape":"AssetAttributes",
          "documentation":"<p>A collection of attributes of the host from which the finding is generated.</p>"
        },
        "id":{
          "shape":"FindingId",
          "documentation":"<p>The ID of the finding.</p>"
        },
        "title":{
          "shape":"Text",
          "documentation":"<p>The name of the finding.</p>"
        },
        "description":{
          "shape":"Text",
          "documentation":"<p>The description of the finding.</p>"
        },
        "recommendation":{
          "shape":"Text",
          "documentation":"<p>The recommendation for the finding. </p>"
        },
        "severity":{
          "shape":"Severity",
          "documentation":"<p>The finding severity. Values can be set to High, Medium, Low, and Informational.</p>"
        },
        "numericSeverity":{
          "shape":"NumericSeverity",
          "documentation":"<p> <p>The numeric value of the finding severity.</p> </p>"
        },
        "confidence":{
          "shape":"IocConfidence",
          "documentation":"<p>This data element is currently not used.</p>"
        },
        "indicatorOfCompromise":{
          "shape":"Bool",
          "documentation":"<p>This data element is currently not used.</p>"
        },
        "attributes":{
          "shape":"AttributeList",
          "documentation":"<p>The system-defined attributes for the finding. </p>"
        },
        "userAttributes":{
          "shape":"UserAttributeList",
          "documentation":"<p>The user-defined attributes that are assigned to the finding.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time when the finding was generated.</p>"
        },
        "updatedAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time when <a>AddAttributesToFindings</a> API is called.</p>"
        }
      },
      "documentation":"<p>Contains information about an Inspector finding. This data type is used as the response element in the <a>DescribeFindings</a> action.</p>"
    },
    "FindingFilter":{
      "type":"structure",
      "members":{
        "agentIds":{
          "shape":"AgentIdList",
          "documentation":"<p>For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the <b>agentId</b> property of the <a>Finding</a> data type.</p>"
        },
        "autoScalingGroups":{
          "shape":"AutoScalingGroupList",
          "documentation":"<p>For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the <b>autoScalingGroup</b> property of the <a>Finding</a> data type.</p>"
        },
        "ruleNames":{
          "shape":"RuleNameList",
          "documentation":"<p>For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the <b>ruleName</b> property of the <a>Finding</a> data type.</p>"
        },
        "severities":{
          "shape":"SeverityList",
          "documentation":"<p>For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the <b>severity</b> property of the <a>Finding</a> data type.</p>"
        },
        "rulesPackageArns":{
          "shape":"FilterRulesPackageArnList",
          "documentation":"<p>For a record to match a filter, one of the values specified for this data type property must be the exact match of the value of the <b>rulesPackageArn</b> property of the <a>Finding</a> data type.</p>"
        },
        "attributes":{
          "shape":"AttributeList",
          "documentation":"<p>For a record to match a filter, the list of values specified for this data type property must be contained in the list of values of the <b>attributes</b> property of the <a>Finding</a> data type.</p>"
        },
        "userAttributes":{
          "shape":"AttributeList",
          "documentation":"<p>For a record to match a filter, the value specified for this data type property must be contained in the list of values of the <b>userAttributes</b> property of the <a>Finding</a> data type.</p>"
        },
        "creationTimeRange":{
          "shape":"TimestampRange",
          "documentation":"<p>The time range during which the finding is generated.</p>"
        }
      },
      "documentation":"<p>This data type is used as a request parameter in the <a>ListFindings</a> action.</p>"
    },
    "FindingId":{
      "type":"string",
      "max":128,
      "min":0
    },
    "FindingList":{
      "type":"list",
      "member":{"shape":"Finding"},
      "max":10,
      "min":0
    },
    "GetTelemetryMetadataRequest":{
      "type":"structure",
      "required":["assessmentRunArn"],
      "members":{
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment run the telemetry of which you want to obtain.</p>"
        }
      }
    },
    "GetTelemetryMetadataResponse":{
      "type":"structure",
      "required":["telemetryMetadata"],
      "members":{
        "telemetryMetadata":{
          "shape":"TelemetryMetadataList",
          "documentation":"<p>Telemetry details.</p>"
        }
      }
    },
    "Hostname":{
      "type":"string",
      "max":256,
      "min":0
    },
    "InspectorEvent":{
      "type":"string",
      "enum":[
        "ASSESSMENT_RUN_STARTED",
        "ASSESSMENT_RUN_COMPLETED",
        "ASSESSMENT_RUN_STATE_CHANGED",
        "FINDING_REPORTED",
        "OTHER"
      ]
    },
    "InspectorServiceAttributes":{
      "type":"structure",
      "required":["schemaVersion"],
      "members":{
        "schemaVersion":{
          "shape":"NumericVersion",
          "documentation":"<p>The schema version of this data type.</p>"
        },
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment run during which the fidning is generated.</p>"
        },
        "rulesPackageArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the rules package used to generate the finding.</p>"
        }
      },
      "documentation":"<p>This data type is used in the <a>Finding</a> data type.</p>"
    },
    "InternalException":{
      "type":"structure",
      "required":[
        "message",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>Internal server error.</p>",
      "exception":true,
      "fault":true
    },
    "InvalidCrossAccountRoleErrorCode":{
      "type":"string",
      "enum":[
        "ROLE_DOES_NOT_EXIST_OR_INVALID_TRUST_RELATIONSHIP",
        "ROLE_DOES_NOT_HAVE_CORRECT_POLICY"
      ]
    },
    "InvalidCrossAccountRoleException":{
      "type":"structure",
      "required":[
        "message",
        "errorCode",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "errorCode":{
          "shape":"InvalidCrossAccountRoleErrorCode",
          "documentation":"<p>Code that indicates the type of error that is generated.</p>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>Inspector cannot assume the cross account role it needs to list your EC2 instances during the assessment run.</p>",
      "exception":true
    },
    "InvalidInputErrorCode":{
      "type":"string",
      "enum":[
        "INVALID_ASSESSMENT_TARGET_ARN",
        "INVALID_ASSESSMENT_TEMPLATE_ARN",
        "INVALID_ASSESSMENT_RUN_ARN",
        "INVALID_FINDING_ARN",
        "INVALID_RESOURCE_GROUP_ARN",
        "INVALID_RULES_PACKAGE_ARN",
        "INVALID_RESOURCE_ARN",
        "INVALID_SNS_TOPIC_ARN",
        "INVALID_IAM_ROLE_ARN",
        "INVALID_ASSESSMENT_TARGET_NAME",
        "INVALID_ASSESSMENT_TARGET_NAME_PATTERN",
        "INVALID_ASSESSMENT_TEMPLATE_NAME",
        "INVALID_ASSESSMENT_TEMPLATE_NAME_PATTERN",
        "INVALID_ASSESSMENT_TEMPLATE_DURATION",
        "INVALID_ASSESSMENT_TEMPLATE_DURATION_RANGE",
        "INVALID_ASSESSMENT_RUN_DURATION_RANGE",
        "INVALID_ASSESSMENT_RUN_START_TIME_RANGE",
        "INVALID_ASSESSMENT_RUN_COMPLETION_TIME_RANGE",
        "INVALID_ASSESSMENT_RUN_STATE_CHANGE_TIME_RANGE",
        "INVALID_ASSESSMENT_RUN_STATE",
        "INVALID_TAG",
        "INVALID_TAG_KEY",
        "INVALID_TAG_VALUE",
        "INVALID_RESOURCE_GROUP_TAG_KEY",
        "INVALID_RESOURCE_GROUP_TAG_VALUE",
        "INVALID_ATTRIBUTE",
        "INVALID_USER_ATTRIBUTE",
        "INVALID_USER_ATTRIBUTE_KEY",
        "INVALID_USER_ATTRIBUTE_VALUE",
        "INVALID_PAGINATION_TOKEN",
        "INVALID_MAX_RESULTS",
        "INVALID_AGENT_ID",
        "INVALID_AUTO_SCALING_GROUP",
        "INVALID_RULE_NAME",
        "INVALID_SEVERITY",
        "INVALID_LOCALE",
        "INVALID_EVENT",
        "ASSESSMENT_TARGET_NAME_ALREADY_TAKEN",
        "ASSESSMENT_TEMPLATE_NAME_ALREADY_TAKEN",
        "INVALID_NUMBER_OF_ASSESSMENT_TARGET_ARNS",
        "INVALID_NUMBER_OF_ASSESSMENT_TEMPLATE_ARNS",
        "INVALID_NUMBER_OF_ASSESSMENT_RUN_ARNS",
        "INVALID_NUMBER_OF_FINDING_ARNS",
        "INVALID_NUMBER_OF_RESOURCE_GROUP_ARNS",
        "INVALID_NUMBER_OF_RULES_PACKAGE_ARNS",
        "INVALID_NUMBER_OF_ASSESSMENT_RUN_STATES",
        "INVALID_NUMBER_OF_TAGS",
        "INVALID_NUMBER_OF_RESOURCE_GROUP_TAGS",
        "INVALID_NUMBER_OF_ATTRIBUTES",
        "INVALID_NUMBER_OF_USER_ATTRIBUTES",
        "INVALID_NUMBER_OF_AGENT_IDS",
        "INVALID_NUMBER_OF_AUTO_SCALING_GROUPS",
        "INVALID_NUMBER_OF_RULE_NAMES",
        "INVALID_NUMBER_OF_SEVERITIES"
      ]
    },
    "InvalidInputException":{
      "type":"structure",
      "required":[
        "message",
        "errorCode",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "errorCode":{
          "shape":"InvalidInputErrorCode",
          "documentation":"<p>Code that indicates the type of error that is generated.</p>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>The request was rejected because an invalid or out-of-range value was supplied for an input parameter.</p>",
      "exception":true
    },
    "IocConfidence":{
      "type":"integer",
      "max":10,
      "min":0
    },
    "Ipv4Address":{
      "type":"string",
      "max":15,
      "min":7
    },
    "Ipv4AddressList":{
      "type":"list",
      "member":{"shape":"Ipv4Address"},
      "max":50,
      "min":0
    },
    "LimitExceededErrorCode":{
      "type":"string",
      "enum":[
        "ASSESSMENT_TARGET_LIMIT_EXCEEDED",
        "ASSESSMENT_TEMPLATE_LIMIT_EXCEEDED",
        "ASSESSMENT_RUN_LIMIT_EXCEEDED",
        "RESOURCE_GROUP_LIMIT_EXCEEDED",
        "EVENT_SUBSCRIPTION_LIMIT_EXCEEDED"
      ]
    },
    "LimitExceededException":{
      "type":"structure",
      "required":[
        "message",
        "errorCode",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "errorCode":{
          "shape":"LimitExceededErrorCode",
          "documentation":"<p>Code that indicates the type of error that is generated.</p>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>The request was rejected because it attempted to create resources beyond the current AWS account limits. The error code describes the limit exceeded. </p>",
      "exception":true
    },
    "ListAssessmentRunAgentsRequest":{
      "type":"structure",
      "required":["assessmentRunArn"],
      "members":{
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment run whose agents you want to list.</p>"
        },
        "filter":{
          "shape":"AgentFilter",
          "documentation":"<p>You can use this parameter to specify a subset of data to be included in the action's response.</p> <p>For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>ListAssessmentRunAgents</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"ListMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "ListAssessmentRunAgentsResponse":{
      "type":"structure",
      "required":["assessmentRunAgents"],
      "members":{
        "assessmentRunAgents":{
          "shape":"AssessmentRunAgentList",
          "documentation":"<p>A list of ARNs specifying the agents returned by the action.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ListAssessmentRunsRequest":{
      "type":"structure",
      "members":{
        "assessmentTemplateArns":{
          "shape":"ListParentArnList",
          "documentation":"<p>ARN(s) specifying the assessment template(s) whose assessment run(s) you want to list.</p>"
        },
        "filter":{
          "shape":"AssessmentRunFilter",
          "documentation":"<p>You can use this parameter to specify a subset of data to be included in the action's response.</p> <p>For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>ListAssessmentRuns</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"ListMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "ListAssessmentRunsResponse":{
      "type":"structure",
      "required":["assessmentRunArns"],
      "members":{
        "assessmentRunArns":{
          "shape":"ListReturnedArnList",
          "documentation":"<p>A list of ARNs specifying the assessment run(s) returned by the action.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ListAssessmentTargetsRequest":{
      "type":"structure",
      "members":{
        "filter":{
          "shape":"AssessmentTargetFilter",
          "documentation":"<p>You can use this parameter to specify a subset of data to be included in the action's response.</p> <p>For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>ListAssessmentTargets</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"ListMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "ListAssessmentTargetsResponse":{
      "type":"structure",
      "required":["assessmentTargetArns"],
      "members":{
        "assessmentTargetArns":{
          "shape":"ListReturnedArnList",
          "documentation":"<p>A list of ARNs specifying the assessment targets returned by the action.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ListAssessmentTemplatesRequest":{
      "type":"structure",
      "members":{
        "assessmentTargetArns":{
          "shape":"ListParentArnList",
          "documentation":"<p>A list of ARN(s) specifying the assessment target(s) whose assessment template(s) you want to list.</p>"
        },
        "filter":{
          "shape":"AssessmentTemplateFilter",
          "documentation":"<p>You can use this parameter to specify a subset of data to be included in the action's response.</p> <p>For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>ListAssessmentTemplates</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"ListMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "ListAssessmentTemplatesResponse":{
      "type":"structure",
      "required":["assessmentTemplateArns"],
      "members":{
        "assessmentTemplateArns":{
          "shape":"ListReturnedArnList",
          "documentation":"<p>A list of ARN(s) specifying the assessment template(s) returned by the action.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ListEventSubscriptionsMaxResults":{"type":"integer"},
    "ListEventSubscriptionsRequest":{
      "type":"structure",
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment template for which you want to list the existing event subscriptions.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>ListEventSubscriptions</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"ListEventSubscriptionsMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "ListEventSubscriptionsResponse":{
      "type":"structure",
      "required":["subscriptions"],
      "members":{
        "subscriptions":{
          "shape":"SubscriptionList",
          "documentation":"<p>Details of the returned event subscriptions.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ListFindingsRequest":{
      "type":"structure",
      "members":{
        "assessmentRunArns":{
          "shape":"ListParentArnList",
          "documentation":"<p>The ARNs of the assessment run(s) that generate the findings that you want to list.</p>"
        },
        "filter":{
          "shape":"FindingFilter",
          "documentation":"<p>You can use this parameter to specify a subset of data to be included in the action's response.</p> <p>For a record to match a filter, all specified filter attributes must match. When multiple values are specified for a filter attribute, any of the values can match.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>ListFindings</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"ListMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "ListFindingsResponse":{
      "type":"structure",
      "required":["findingArns"],
      "members":{
        "findingArns":{
          "shape":"ListReturnedArnList",
          "documentation":"<p>A list of ARN(s) specifying the finding(s) returned by the action.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ListMaxResults":{"type":"integer"},
    "ListParentArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":50,
      "min":0
    },
    "ListReturnedArnList":{
      "type":"list",
      "member":{"shape":"Arn"},
      "max":100,
      "min":0
    },
    "ListRulesPackagesRequest":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>ListRulesPackages</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"ListMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "ListRulesPackagesResponse":{
      "type":"structure",
      "required":["rulesPackageArns"],
      "members":{
        "rulesPackageArns":{
          "shape":"ListReturnedArnList",
          "documentation":"<p>The list of ARNs specifying the rules packages returned by the action.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN specifying the assessment template whose tags you want to list.</p>"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "required":["tags"],
      "members":{
        "tags":{
          "shape":"TagList",
          "documentation":"<p>A collection of key and value pairs.</p>"
        }
      }
    },
    "Locale":{
      "type":"string",
      "enum":["EN_US"]
    },
    "Long":{"type":"long"},
    "Message":{
      "type":"string",
      "max":1000,
      "min":0
    },
    "MessageType":{
      "type":"string",
      "max":300,
      "min":1
    },
    "NamePattern":{
      "type":"string",
      "max":140,
      "min":1
    },
    "NoSuchEntityErrorCode":{
      "type":"string",
      "enum":[
        "ASSESSMENT_TARGET_DOES_NOT_EXIST",
        "ASSESSMENT_TEMPLATE_DOES_NOT_EXIST",
        "ASSESSMENT_RUN_DOES_NOT_EXIST",
        "FINDING_DOES_NOT_EXIST",
        "RESOURCE_GROUP_DOES_NOT_EXIST",
        "RULES_PACKAGE_DOES_NOT_EXIST",
        "SNS_TOPIC_DOES_NOT_EXIST",
        "IAM_ROLE_DOES_NOT_EXIST"
      ]
    },
    "NoSuchEntityException":{
      "type":"structure",
      "required":[
        "message",
        "errorCode",
        "canRetry"
      ],
      "members":{
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>Details of the exception error.</p>"
        },
        "errorCode":{
          "shape":"NoSuchEntityErrorCode",
          "documentation":"<p>Code that indicates the type of error that is generated.</p>"
        },
        "canRetry":{
          "shape":"Bool",
          "documentation":"<p>You can immediately retry your request.</p>"
        }
      },
      "documentation":"<p>The request was rejected because it referenced an entity that does not exist. The error code describes the entity. </p>",
      "exception":true
    },
    "NumericSeverity":{
      "type":"double",
      "max":10.0,
      "min":0.0
    },
    "NumericVersion":{
      "type":"integer",
      "min":0
    },
    "PaginationToken":{
      "type":"string",
      "max":300,
      "min":1
    },
    "PreviewAgentsMaxResults":{"type":"integer"},
    "PreviewAgentsRequest":{
      "type":"structure",
      "required":["previewAgentsArn"],
      "members":{
        "previewAgentsArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment target whose agents you want to preview.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p>You can use this parameter when paginating results. Set the value of this parameter to 'null' on your first call to the <b>PreviewAgents</b> action. Subsequent calls to the action fill <b>nextToken</b> in the request with the value of <b>NextToken</b> from previous response to continue listing data.</p>"
        },
        "maxResults":{
          "shape":"PreviewAgentsMaxResults",
          "documentation":"<p>You can use this parameter to indicate the maximum number of items you want in the response. The default value is 10. The maximum value is 500.</p>"
        }
      }
    },
    "PreviewAgentsResponse":{
      "type":"structure",
      "required":["agentPreviews"],
      "members":{
        "agentPreviews":{
          "shape":"AgentPreviewList",
          "documentation":"<p>The resulting list of agents.</p>"
        },
        "nextToken":{
          "shape":"PaginationToken",
          "documentation":"<p> When a response is generated, if there is more data to be listed, this parameter is present in the response and contains the value to use for the <b>nextToken</b> parameter in a subsequent pagination request. If there is no more data to be listed, this parameter is set to 'null'.</p>"
        }
      }
    },
    "ProviderName":{
      "type":"string",
      "max":1000,
      "min":0
    },
    "RegisterCrossAccountAccessRoleRequest":{
      "type":"structure",
      "required":["roleArn"],
      "members":{
        "roleArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the IAM role that Inspector uses to list your EC2 instances during the assessment run or when you call the <a>PreviewAgents</a> action. </p>"
        }
      }
    },
    "RemoveAttributesFromFindingsRequest":{
      "type":"structure",
      "required":[
        "findingArns",
        "attributeKeys"
      ],
      "members":{
        "findingArns":{
          "shape":"AddRemoveAttributesFindingArnList",
          "documentation":"<p>The ARNs specifying the findings that you want to remove attributes from.</p>"
        },
        "attributeKeys":{
          "shape":"UserAttributeKeyList",
          "documentation":"<p>The array of attribute keys that you want to remove from specified findings.</p>"
        }
      }
    },
    "RemoveAttributesFromFindingsResponse":{
      "type":"structure",
      "required":["failedItems"],
      "members":{
        "failedItems":{
          "shape":"FailedItems",
          "documentation":"<p>Attributes details that cannot be described. An error code is provided for each failed item. </p>"
        }
      }
    },
    "ResourceGroup":{
      "type":"structure",
      "required":[
        "arn",
        "tags",
        "createdAt"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the resource group. </p>"
        },
        "tags":{
          "shape":"ResourceGroupTags",
          "documentation":"<p>The tags (key and value pairs) of the resource group. This data type property is used in the <a>CreateResourceGroup</a> action.</p>"
        },
        "createdAt":{
          "shape":"Timestamp",
          "documentation":"<p>The time at which resource group is created.</p>"
        }
      },
      "documentation":"<p>Contains information about a resource group. The resource group defines a set of tags that, when queried, identify the AWS resources that comprise the assessment target. This data type is used as the response element in the <a>DescribeResourceGroups</a> action.</p>"
    },
    "ResourceGroupList":{
      "type":"list",
      "member":{"shape":"ResourceGroup"},
      "max":10,
      "min":0
    },
    "ResourceGroupTag":{
      "type":"structure",
      "required":["key"],
      "members":{
        "key":{
          "shape":"TagKey",
          "documentation":"<p>A tag key.</p>"
        },
        "value":{
          "shape":"TagValue",
          "documentation":"<p>The value assigned to a tag key.</p>"
        }
      },
      "documentation":"<p>This data type is used as one of the elements of the <a>ResourceGroup</a> data type.</p>"
    },
    "ResourceGroupTags":{
      "type":"list",
      "member":{"shape":"ResourceGroupTag"},
      "max":10,
      "min":1
    },
    "RuleName":{
      "type":"string",
      "max":1000
    },
    "RuleNameList":{
      "type":"list",
      "member":{"shape":"RuleName"},
      "max":50,
      "min":0
    },
    "RulesPackage":{
      "type":"structure",
      "required":[
        "arn",
        "name",
        "version",
        "provider"
      ],
      "members":{
        "arn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the rules package.</p>"
        },
        "name":{
          "shape":"RulesPackageName",
          "documentation":"<p>The name of the rules package.</p>"
        },
        "version":{
          "shape":"Version",
          "documentation":"<p>The version id of the rules package.</p>"
        },
        "provider":{
          "shape":"ProviderName",
          "documentation":"<p>The provider of the rules package.</p>"
        },
        "description":{
          "shape":"Text",
          "documentation":"<p>The description of the rules package.</p>"
        }
      },
      "documentation":"<p>Contains information about an Inspector rules package. This data type is used as the response element in the <a>DescribeRulesPackages</a> action.</p>"
    },
    "RulesPackageList":{
      "type":"list",
      "member":{"shape":"RulesPackage"},
      "max":10,
      "min":0
    },
    "RulesPackageName":{
      "type":"string",
      "max":1000,
      "min":0
    },
    "ServiceName":{
      "type":"string",
      "max":128,
      "min":0
    },
    "SetTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment template that you want to set tags to.</p>"
        },
        "tags":{
          "shape":"TagList",
          "documentation":"<p>A collection of key and value pairs that you want to set to the assessment template.</p>"
        }
      }
    },
    "Severity":{
      "type":"string",
      "enum":[
        "Low",
        "Medium",
        "High",
        "Informational",
        "Undefined"
      ]
    },
    "SeverityList":{
      "type":"list",
      "member":{"shape":"Severity"},
      "max":50,
      "min":0
    },
    "StartAssessmentRunRequest":{
      "type":"structure",
      "required":["assessmentTemplateArn"],
      "members":{
        "assessmentTemplateArn":{
          "shape":"Arn",
          "documentation":"<p>The assessment template ARN of the assessment run that you want to start.</p>"
        },
        "assessmentRunName":{
          "shape":"AssessmentRunName",
          "documentation":"<p>You can specify the name for the assessment run, or it is auto-generated based on the assessment template name. Must be unique for the assessment template. </p>"
        }
      }
    },
    "StartAssessmentRunResponse":{
      "type":"structure",
      "required":["assessmentRunArn"],
      "members":{
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment run that has been started. </p>"
        }
      }
    },
    "StopAssessmentRunRequest":{
      "type":"structure",
      "required":["assessmentRunArn"],
      "members":{
        "assessmentRunArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment run that you want to stop. </p>"
        }
      }
    },
    "SubscribeToEventRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "event",
        "topicArn"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment template used during the event for which you want to recieve SNS notifications.</p>"
        },
        "event":{
          "shape":"InspectorEvent",
          "documentation":"<p>The event for which you want to receive SNS notifications.</p>"
        },
        "topicArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the SNS topic to which the SNS notifications are sent.</p>"
        }
      }
    },
    "Subscription":{
      "type":"structure",
      "required":[
        "resourceArn",
        "topicArn",
        "eventSubscriptions"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment template that is used during the event for which the SNS notification is sent.</p>"
        },
        "topicArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the Amazon Simple Notification Service (SNS) topic to which the SNS notifications are sent.</p>"
        },
        "eventSubscriptions":{
          "shape":"EventSubscriptionList",
          "documentation":"<p>The list of existing event subscriptions.</p>"
        }
      },
      "documentation":"<p>This data type is used as a response element in the <a>ListEventSubscriptions</a> action.</p>"
    },
    "SubscriptionList":{
      "type":"list",
      "member":{"shape":"Subscription"},
      "max":50,
      "min":0
    },
    "Tag":{
      "type":"structure",
      "required":["key"],
      "members":{
        "key":{
          "shape":"TagKey",
          "documentation":"<p>A tag key.</p>"
        },
        "value":{
          "shape":"TagValue",
          "documentation":"<p>A value assigned to a tag key.</p>"
        }
      },
      "documentation":"<p>A key and value pair. This data type is used as a request parameter in the <a>SetTagsForResource</a> action and a response element in the <a>ListTagsForResource</a> action.</p>"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1
    },
    "TagList":{
      "type":"list",
      "member":{"shape":"Tag"},
      "max":10,
      "min":0
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":1
    },
    "TelemetryMetadata":{
      "type":"structure",
      "required":[
        "messageType",
        "count"
      ],
      "members":{
        "messageType":{
          "shape":"MessageType",
          "documentation":"<p>A specific type of behavioral data that is collected by the agent.</p>"
        },
        "count":{
          "shape":"Long",
          "documentation":"<p>The count of messages that the agent sends to the Inspector service.</p>"
        },
        "dataSize":{
          "shape":"Long",
          "documentation":"<p>The data size of messages that the agent sends to the Inspector service.</p>"
        }
      },
      "documentation":"<p>The metadata about the Inspector application data metrics collected by the agent. This data type is used as the response element in the <a>GetTelemetryMetadata</a> action.</p>"
    },
    "TelemetryMetadataList":{
      "type":"list",
      "member":{"shape":"TelemetryMetadata"},
      "max":5000,
      "min":0
    },
    "Text":{
      "type":"string",
      "max":20000,
      "min":0
    },
    "Timestamp":{"type":"timestamp"},
    "TimestampRange":{
      "type":"structure",
      "members":{
        "beginDate":{
          "shape":"Timestamp",
          "documentation":"<p>The minimum value of the timestamp range.</p>"
        },
        "endDate":{
          "shape":"Timestamp",
          "documentation":"<p>The maximum value of the timestamp range.</p>"
        }
      },
      "documentation":"<p>This data type is used in the <a>AssessmentRunFilter</a> data type.</p>"
    },
    "UnsubscribeFromEventRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "event",
        "topicArn"
      ],
      "members":{
        "resourceArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment template used during the event for which you want to stop recieving SNS notifications.</p>"
        },
        "event":{
          "shape":"InspectorEvent",
          "documentation":"<p>The event for which you want to stop receiving SNS notifications.</p>"
        },
        "topicArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the SNS topic to which SNS notifications are sent.</p>"
        }
      }
    },
    "UpdateAssessmentTargetRequest":{
      "type":"structure",
      "required":[
        "assessmentTargetArn",
        "assessmentTargetName",
        "resourceGroupArn"
      ],
      "members":{
        "assessmentTargetArn":{
          "shape":"Arn",
          "documentation":"<p>The ARN of the assessment target that you want to update.</p>"
        },
        "assessmentTargetName":{
          "shape":"AssessmentTargetName",
          "documentation":"<p>The name of the assessment target that you want to update.</p>"
        },
        "resourceGroupArn":{
          "shape":"Arn",
          "documentation":"<p>The resource group ARN that is used to specify the new resource group to associate with the assessment target.</p>"
        }
      }
    },
    "UserAttributeKeyList":{
      "type":"list",
      "member":{"shape":"AttributeKey"},
      "max":10,
      "min":0
    },
    "UserAttributeList":{
      "type":"list",
      "member":{"shape":"Attribute"},
      "max":10,
      "min":0
    },
    "Version":{
      "type":"string",
      "max":1000,
      "min":0
    }
  },
  "documentation":"<fullname>Amazon Inspector</fullname> <p>Amazon Inspector enables you to analyze the behavior of your AWS resources and to identify potential security issues. For more information, see <a href=\"https://docs.aws.amazon.com/inspector/latest/userguide/inspector_introduction.html\"> Amazon Inspector User Guide</a>.</p>"
}
