{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2018-05-10",
    "auth":["aws.auth#sigv4"],
    "endpointPrefix":"aiops",
    "protocol":"rest-json",
    "protocols":["rest-json"],
    "serviceFullName":"AWS AI Ops",
    "serviceId":"AIOps",
    "signatureVersion":"v4",
    "signingName":"aiops",
    "uid":"aiops-2018-05-10"
  },
  "operations":{
    "CreateInvestigationGroup":{
      "name":"CreateInvestigationGroup",
      "http":{
        "method":"POST",
        "requestUri":"/investigationGroups",
        "responseCode":201
      },
      "input":{"shape":"CreateInvestigationGroupInput"},
      "output":{"shape":"CreateInvestigationGroupOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ServiceQuotaExceededException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Creates an <i>investigation group</i> in your account. Creating an investigation group is a one-time setup task for each Region in your account. It is a necessary task to be able to perform investigations.</p> <p>Settings in the investigation group help you centrally manage the common properties of your investigations, such as the following:</p> <ul> <li> <p>Who can access the investigations</p> </li> <li> <p>Whether investigation data is encrypted with a customer managed Key Management Service key.</p> </li> <li> <p>How long investigations and their data are retained by default.</p> </li> </ul> <p>Currently, you can have one investigation group in each Region in your account. Each investigation in a Region is a part of the investigation group in that Region</p> <p>To create an investigation group and set up CloudWatch investigations, you must be signed in to an IAM principal that has either the <code>AIOpsConsoleAdminPolicy</code> or the <code>AdministratorAccess</code> IAM policy attached, or to an account that has similar permissions.</p> <important> <p>You can configure CloudWatch alarms to start investigations and add events to investigations. If you create your investigation group with <code>CreateInvestigationGroup</code> and you want to enable alarms to do this, you must use <code>PutInvestigationGroupPolicy</code> to create a resource policy that grants this permission to CloudWatch alarms. </p> <p>For more information about configuring CloudWatch alarms, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html\">Using Amazon CloudWatch alarms</a> </p> </important>",
      "idempotent":true
    },
    "DeleteInvestigationGroup":{
      "name":"DeleteInvestigationGroup",
      "http":{
        "method":"DELETE",
        "requestUri":"/investigationGroups/{identifier}",
        "responseCode":200
      },
      "input":{"shape":"DeleteInvestigationGroupRequest"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Deletes the specified investigation group from your account. You can currently have one investigation group per Region in your account. After you delete an investigation group, you can later create a new investigation group in the same Region.</p>",
      "idempotent":true
    },
    "DeleteInvestigationGroupPolicy":{
      "name":"DeleteInvestigationGroupPolicy",
      "http":{
        "method":"DELETE",
        "requestUri":"/investigationGroups/{identifier}/policy",
        "responseCode":200
      },
      "input":{"shape":"DeleteInvestigationGroupPolicyRequest"},
      "output":{"shape":"DeleteInvestigationGroupPolicyOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Removes the IAM resource policy from being associated with the investigation group that you specify.</p>",
      "idempotent":true
    },
    "GetInvestigationGroup":{
      "name":"GetInvestigationGroup",
      "http":{
        "method":"GET",
        "requestUri":"/investigationGroups/{identifier}",
        "responseCode":200
      },
      "input":{"shape":"GetInvestigationGroupRequest"},
      "output":{"shape":"GetInvestigationGroupResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Returns the configuration information for the specified investigation group.</p>"
    },
    "GetInvestigationGroupPolicy":{
      "name":"GetInvestigationGroupPolicy",
      "http":{
        "method":"GET",
        "requestUri":"/investigationGroups/{identifier}/policy",
        "responseCode":200
      },
      "input":{"shape":"GetInvestigationGroupPolicyRequest"},
      "output":{"shape":"GetInvestigationGroupPolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Returns the JSON of the IAM resource policy associated with the specified investigation group in a string. For example, <code>{\\\"Version\\\":\\\"2012-10-17\\\",\\\"Statement\\\":[{\\\"Effect\\\":\\\"Allow\\\",\\\"Principal\\\":{\\\"Service\\\":\\\"aiops.alarms.cloudwatch.amazonaws.com\\\"},\\\"Action\\\":[\\\"aiops:CreateInvestigation\\\",\\\"aiops:CreateInvestigationEvent\\\"],\\\"Resource\\\":\\\"*\\\",\\\"Condition\\\":{\\\"StringEquals\\\":{\\\"aws:SourceAccount\\\":\\\"111122223333\\\"},\\\"ArnLike\\\":{\\\"aws:SourceArn\\\":\\\"arn:aws:cloudwatch:us-east-1:111122223333:alarm:*\\\"}}}]}</code>.</p>"
    },
    "ListInvestigationGroups":{
      "name":"ListInvestigationGroups",
      "http":{
        "method":"GET",
        "requestUri":"/investigationGroups",
        "responseCode":200
      },
      "input":{"shape":"ListInvestigationGroupsInput"},
      "output":{"shape":"ListInvestigationGroupsOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ThrottlingException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Returns the ARN and name of each investigation group in the account.</p>"
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"GET",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Displays the tags associated with a CloudWatch investigations resource. Currently, investigation groups support tagging.</p>"
    },
    "PutInvestigationGroupPolicy":{
      "name":"PutInvestigationGroupPolicy",
      "http":{
        "method":"POST",
        "requestUri":"/investigationGroups/{identifier}/policy",
        "responseCode":200
      },
      "input":{"shape":"PutInvestigationGroupPolicyRequest"},
      "output":{"shape":"PutInvestigationGroupPolicyResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Creates an IAM resource policy and assigns it to the specified investigation group.</p> <p>If you create your investigation group with <code>CreateInvestigationGroup</code> and you want to enable CloudWatch alarms to create investigations and add events to investigations, you must use this operation to create a policy similar to this example.</p> <p> <code> { \"Version\": \"2008-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Principal\": { \"Service\": \"aiops.alarms.cloudwatch.amazonaws.com\" }, \"Action\": [ \"aiops:CreateInvestigation\", \"aiops:CreateInvestigationEvent\" ], \"Resource\": \"*\", \"Condition\": { \"StringEquals\": { \"aws:SourceAccount\": \"account-id\" }, \"ArnLike\": { \"aws:SourceArn\": \"arn:aws:cloudwatch:region:account-id:alarm:*\" } } } ] } </code> </p>",
      "idempotent":true
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Assigns one or more tags (key-value pairs) to the specified resource.</p> <p>Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.</p> <p>Tags don't have any semantic meaning to Amazon Web Services and are interpreted strictly as strings of characters.</p> <p>You can associate as many as 50 tags with a resource.</p>",
      "idempotent":true
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags/{resourceArn}",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Removes one or more tags from the specified resource.</p>",
      "idempotent":true
    },
    "UpdateInvestigationGroup":{
      "name":"UpdateInvestigationGroup",
      "http":{
        "method":"PATCH",
        "requestUri":"/investigationGroups/{identifier}",
        "responseCode":200
      },
      "input":{"shape":"UpdateInvestigationGroupRequest"},
      "output":{"shape":"UpdateInvestigationGroupOutput"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ForbiddenException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"InternalServerException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Updates the configuration of the specified investigation group.</p>",
      "idempotent":true
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>You don't have sufficient permissions to perform this action.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "ChatConfigurationArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:.*"
    },
    "ChatConfigurationArns":{
      "type":"list",
      "member":{"shape":"ChatConfigurationArn"},
      "max":5,
      "min":1
    },
    "ChatbotNotificationChannel":{
      "type":"map",
      "key":{"shape":"SNSTopicArn"},
      "value":{"shape":"ChatConfigurationArns"}
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This operation couldn't be completed because of a conflict in resource states.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "CreateInvestigationGroupInput":{
      "type":"structure",
      "required":[
        "name",
        "roleArn"
      ],
      "members":{
        "name":{
          "shape":"StringWithPatternAndLengthLimits",
          "documentation":"<p>Provides a name for the investigation group.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>Specify the ARN of the IAM role that CloudWatch investigations will use when it gathers investigation data. The permissions in this role determine which of your resources that CloudWatch investigations will have access to during investigations.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Security.html#Investigations-Security-Data\">How to control what data CloudWatch investigations has access to during investigations</a>.</p>"
        },
        "encryptionConfiguration":{
          "shape":"EncryptionConfiguration",
          "documentation":"<p>Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch investigations will use an Amazon Web Services key to encrypt the data. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Security.html#Investigations-KMS\">Encryption of investigation data</a>.</p>"
        },
        "retentionInDays":{
          "shape":"Retention",
          "documentation":"<p>Specify how long that investigation data is kept. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Retention.html\">Operational investigation data retention</a>. </p> <p>If you omit this parameter, the default of 90 days is used.</p>"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>A list of key-value pairs to associate with the investigation group. You can associate as many as 50 tags with an investigation group. To be able to associate tags when you create the investigation group, you must have the <code>cloudwatch:TagResource</code> permission.</p> <p>Tags can help you organize and categorize your resources. You can also use them to scope user permissions by granting a user permission to access or change only resources with certain tag values.</p>"
        },
        "tagKeyBoundaries":{
          "shape":"TagKeyBoundaries",
          "documentation":"<p>Enter the existing custom tag keys for custom applications in your system. Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, CloudWatch investigations can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, CloudWatch investigations will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by CloudWatch investigations in these cases.</p> <p>You don't need to enter tags created by myApplications or CloudFormation, because CloudWatch investigations can automatically detect those tags.</p>"
        },
        "chatbotNotificationChannel":{
          "shape":"ChatbotNotificationChannel",
          "documentation":"<p>Use this structure to integrate CloudWatch investigations with chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see <a href=\"https://docs.aws.amazon.com/chatbot/latest/adminguide/getting-started.html\">Getting started with Amazon Q in chat applications</a> and <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awschatbot.html#awschatbot-resources-for-iam-policies\">Resource type defined by Amazon Web Services Chatbot</a>.</p>"
        },
        "isCloudTrailEventHistoryEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Specify <code>true</code> to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail. The default is <code>true</code>.</p>"
        },
        "crossAccountConfigurations":{
          "shape":"CrossAccountConfigurations",
          "documentation":"<p>List of <code>sourceRoleArn</code> values that have been configured for cross-account access.</p>"
        }
      }
    },
    "CreateInvestigationGroupOutput":{
      "type":"structure",
      "members":{
        "arn":{
          "shape":"InvestigationGroupArn",
          "documentation":"<p>The ARN of the investigation group that you just created.</p>"
        }
      }
    },
    "CrossAccountConfiguration":{
      "type":"structure",
      "members":{
        "sourceRoleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of an existing role which will be used to do investigations on your behalf. </p>"
        }
      },
      "documentation":"<p>This structure contains information about the cross-account configuration in the account. </p>"
    },
    "CrossAccountConfigurations":{
      "type":"list",
      "member":{"shape":"CrossAccountConfiguration"},
      "max":25,
      "min":0
    },
    "DeleteInvestigationGroupPolicyOutput":{
      "type":"structure",
      "members":{}
    },
    "DeleteInvestigationGroupPolicyRequest":{
      "type":"structure",
      "required":["identifier"],
      "members":{
        "identifier":{
          "shape":"InvestigationGroupIdentifier",
          "documentation":"<p>Specify either the name or the ARN of the investigation group that you want to remove the policy from.</p>",
          "location":"uri",
          "locationName":"identifier"
        }
      }
    },
    "DeleteInvestigationGroupRequest":{
      "type":"structure",
      "required":["identifier"],
      "members":{
        "identifier":{
          "shape":"InvestigationGroupIdentifier",
          "documentation":"<p>Specify either the name or the ARN of the investigation group that you want to delete.</p>",
          "location":"uri",
          "locationName":"identifier"
        }
      }
    },
    "EncryptionConfiguration":{
      "type":"structure",
      "members":{
        "type":{
          "shape":"EncryptionConfigurationType",
          "documentation":"<p>Displays whether investigation data is encrypted by a customer managed key or an Amazon Web Services owned key.</p>"
        },
        "kmsKeyId":{
          "shape":"KmsKeyId",
          "documentation":"<p>If the investigation group uses a customer managed key for encryption, this field displays the ID of that key.</p>"
        }
      },
      "documentation":"<p>Use this structure to specify a customer managed KMS key to use to encrypt investigation data. </p>"
    },
    "EncryptionConfigurationType":{
      "type":"string",
      "enum":[
        "AWS_OWNED_KEY",
        "CUSTOMER_MANAGED_KMS_KEY"
      ]
    },
    "ForbiddenException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>Access id denied for this operation, or this operation is not valid for the specified resource.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "GetInvestigationGroupPolicyRequest":{
      "type":"structure",
      "required":["identifier"],
      "members":{
        "identifier":{
          "shape":"InvestigationGroupIdentifier",
          "documentation":"<p>Specify either the name or the ARN of the investigation group that you want to view the policy of.</p>",
          "location":"uri",
          "locationName":"identifier"
        }
      }
    },
    "GetInvestigationGroupPolicyResponse":{
      "type":"structure",
      "members":{
        "investigationGroupArn":{
          "shape":"InvestigationGroupArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the investigation group that you want to view the policy of.</p>"
        },
        "policy":{
          "shape":"InvestigationGroupPolicyDocument",
          "documentation":"<p>The policy, in JSON format.</p>"
        }
      }
    },
    "GetInvestigationGroupRequest":{
      "type":"structure",
      "required":["identifier"],
      "members":{
        "identifier":{
          "shape":"InvestigationGroupIdentifier",
          "documentation":"<p>Specify either the name or the ARN of the investigation group that you want to view. This is used to set the name of the investigation group.</p>",
          "location":"uri",
          "locationName":"identifier"
        }
      }
    },
    "GetInvestigationGroupResponse":{
      "type":"structure",
      "members":{
        "createdBy":{
          "shape":"IdentifierStringWithPatternAndLengthLimits",
          "documentation":"<p>The name of the user who created the investigation group.</p>"
        },
        "createdAt":{
          "shape":"Long",
          "documentation":"<p>The date and time that the investigation group was created.</p>"
        },
        "lastModifiedBy":{
          "shape":"IdentifierStringWithPatternAndLengthLimits",
          "documentation":"<p>The name of the user who created the investigation group.</p>"
        },
        "lastModifiedAt":{
          "shape":"Long",
          "documentation":"<p>The date and time that the investigation group was most recently modified.</p>"
        },
        "name":{
          "shape":"StringWithPatternAndLengthLimits",
          "documentation":"<p>The name of the investigation group.</p>"
        },
        "arn":{
          "shape":"InvestigationGroupArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the investigation group.</p>"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the IAM role that the investigation group uses for permissions to gather data.</p>"
        },
        "encryptionConfiguration":{
          "shape":"EncryptionConfiguration",
          "documentation":"<p>Specifies the customer managed KMS key that the investigation group uses to encrypt data, if there is one. If not, the investigation group uses an Amazon Web Services key to encrypt the data.</p>"
        },
        "retentionInDays":{
          "shape":"Retention",
          "documentation":"<p>Specifies how long that investigation data is kept.</p>"
        },
        "chatbotNotificationChannel":{
          "shape":"ChatbotNotificationChannel",
          "documentation":"<p>This structure is a string array. The first string is the ARN of a Amazon SNS topic. The array of strings display the ARNs of chat applications configurations that are associated with that topic. For more information about these configuration ARNs, see <a href=\"https://docs.aws.amazon.com/chatbot/latest/adminguide/getting-started.html\">Getting started with Amazon Q in chat applications</a> and <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awschatbot.html#awschatbot-resources-for-iam-policies\">Resource type defined by Amazon Web Services Chatbot</a>.</p>"
        },
        "tagKeyBoundaries":{
          "shape":"TagKeyBoundaries",
          "documentation":"<p>Displays the custom tag keys for custom applications in your system that you have specified in the investigation group. Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships between resources. </p>"
        },
        "isCloudTrailEventHistoryEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Specifies whether CloudWatch investigationshas access to change events that are recorded by CloudTrail.</p>"
        },
        "crossAccountConfigurations":{
          "shape":"CrossAccountConfigurations",
          "documentation":"<p>Lists the <code>AWSAccountId</code> of the accounts configured for cross-account access and the results of the last scan performed on each account.</p>"
        }
      }
    },
    "IdentifierStringWithPatternAndLengthLimits":{
      "type":"string",
      "max":512,
      "min":1,
      "pattern":"[\\-_\\/A-Za-z0-9:\\.]+"
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>An internal server error occurred. You can try again later.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "InvestigationGroupArn":{
      "type":"string",
      "pattern":"arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16}"
    },
    "InvestigationGroupIdentifier":{
      "type":"string",
      "pattern":"(?:[\\-_A-Za-z0-9]{1,512}|arn:(aws|aws-us-gov|aws-cn|aws-iso|aws-iso-b):aiops:[a-zA-Z0-9-]*:[0-9]{12}:investigation-group\\/[A-Za-z0-9]{16})"
    },
    "InvestigationGroupPolicyDocument":{
      "type":"string",
      "max":32768,
      "min":1,
      "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+"
    },
    "InvestigationGroups":{
      "type":"list",
      "member":{"shape":"ListInvestigationGroupsModel"}
    },
    "KmsKeyId":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"arn:.*"
    },
    "ListInvestigationGroupsInput":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"SensitiveStringWithLengthLimits",
          "documentation":"<p>Include this value, if it was returned by the previous operation, to get the next set of service operations.</p>",
          "location":"querystring",
          "locationName":"nextToken"
        },
        "maxResults":{
          "shape":"ListInvestigationGroupsInputMaxResultsInteger",
          "documentation":"<p>The maximum number of results to return in one operation. If you omit this parameter, the default of 50 is used.</p>",
          "location":"querystring",
          "locationName":"maxResults"
        }
      }
    },
    "ListInvestigationGroupsInputMaxResultsInteger":{
      "type":"integer",
      "box":true,
      "max":50,
      "min":1
    },
    "ListInvestigationGroupsModel":{
      "type":"structure",
      "members":{
        "arn":{
          "shape":"InvestigationGroupArn",
          "documentation":"<p>The Amazon Resource Name (ARN) of the investigation group.</p>"
        },
        "name":{
          "shape":"StringWithPatternAndLengthLimits",
          "documentation":"<p>The name of the investigation group.</p>"
        }
      },
      "documentation":"<p>This structure contains information about one investigation group in the account.</p>"
    },
    "ListInvestigationGroupsOutput":{
      "type":"structure",
      "members":{
        "nextToken":{
          "shape":"SensitiveStringWithLengthLimits",
          "documentation":"<p>Include this value in your next use of this operation to get the next set of service operations.</p>"
        },
        "investigationGroups":{
          "shape":"InvestigationGroups",
          "documentation":"<p>An array of structures, where each structure contains the information about one investigation group in the account.</p>"
        }
      }
    },
    "ListTagsForResourceOutput":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The list of tag keys and values associated with the resource you specified.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceArn"],
      "members":{
        "resourceArn":{
          "shape":"String",
          "documentation":"<p>The ARN of the CloudWatch investigations resource that you want to view tags for. You can use the <code>ListInvestigationGroups</code> operation to find the ARNs of investigation groups.</p> <p>The ARN format for an investigation group is <code>arn:aws:aiops:<i>Region</i>:<i>account-id</i>:investigation-group:<i>investigation-group-id</i> </code>.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        }
      }
    },
    "Long":{
      "type":"long",
      "box":true
    },
    "PutInvestigationGroupPolicyRequest":{
      "type":"structure",
      "required":[
        "identifier",
        "policy"
      ],
      "members":{
        "identifier":{
          "shape":"InvestigationGroupIdentifier",
          "documentation":"<p>Specify either the name or the ARN of the investigation group that you want to assign the policy to.</p>",
          "location":"uri",
          "locationName":"identifier"
        },
        "policy":{
          "shape":"InvestigationGroupPolicyDocument",
          "documentation":"<p>The policy, in JSON format.</p>"
        }
      }
    },
    "PutInvestigationGroupPolicyResponse":{
      "type":"structure",
      "members":{
        "investigationGroupArn":{
          "shape":"InvestigationGroupArn",
          "documentation":"<p>The ARN of the investigation group that will use this policy.</p>"
        }
      }
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The specified resource doesn't exist.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "Retention":{
      "type":"long",
      "box":true,
      "max":90,
      "min":7
    },
    "RoleArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:.*"
    },
    "SNSTopicArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:.*"
    },
    "SensitiveStringWithLengthLimits":{
      "type":"string",
      "max":2048,
      "min":0,
      "sensitive":true
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"},
        "resourceId":{
          "shape":"String",
          "documentation":"<p>The resource that caused the quota exception.</p>"
        },
        "resourceType":{
          "shape":"String",
          "documentation":"<p>The type of resource that caused the quota exception.</p>"
        },
        "serviceCode":{
          "shape":"String",
          "documentation":"<p>This name of the service associated with the error.</p>"
        },
        "quotaCode":{
          "shape":"String",
          "documentation":"<p>This quota that was exceeded.</p>"
        }
      },
      "documentation":"<p>This request exceeds a service quota.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "String":{"type":"string"},
    "StringWithPatternAndLengthLimits":{
      "type":"string",
      "max":512,
      "min":1,
      "pattern":"[\\-_A-Za-z0-9\\[\\]\\(\\)\\{\\}\\.: ]+"
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+)"
    },
    "TagKeyBoundaries":{
      "type":"list",
      "member":{"shape":"TagKey"}
    },
    "TagKeys":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":0
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tags"
      ],
      "members":{
        "resourceArn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource that you want to apply the tags to. You can use the <code>ListInvestigationGroups</code> operation to find the ARNs of investigation groups.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tags":{
          "shape":"Tags",
          "documentation":"<p>The list of key-value pairs to associate with the resource.</p>"
        }
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)"
    },
    "Tags":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"}
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>The request was throttled because of quota limits. You can try again later.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceArn",
        "tagKeys"
      ],
      "members":{
        "resourceArn":{
          "shape":"String",
          "documentation":"<p>The Amazon Resource Name (ARN) of the resource that you want to remove the tags from. You can use the<code>ListInvestigationGroups</code> operation to find the ARNs of investigation groups.</p>",
          "location":"uri",
          "locationName":"resourceArn"
        },
        "tagKeys":{
          "shape":"TagKeys",
          "documentation":"<p>The list of tag keys to remove from the resource.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{}
    },
    "UpdateInvestigationGroupOutput":{
      "type":"structure",
      "members":{}
    },
    "UpdateInvestigationGroupRequest":{
      "type":"structure",
      "required":["identifier"],
      "members":{
        "identifier":{
          "shape":"InvestigationGroupIdentifier",
          "documentation":"<p>Specify either the name or the ARN of the investigation group that you want to modify.</p>",
          "location":"uri",
          "locationName":"identifier"
        },
        "roleArn":{
          "shape":"RoleArn",
          "documentation":"<p>Specify this field if you want to change the IAM role that CloudWatch investigations will use when it gathers investigation data. To do so, specify the ARN of the new role.</p> <p>The permissions in this role determine which of your resources that CloudWatch investigations will have access to during investigations.</p> <p>For more information, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Security.html#Investigations-Security-Data\">How to control what data CloudWatch investigations has access to during investigations</a>.</p>"
        },
        "encryptionConfiguration":{
          "shape":"EncryptionConfiguration",
          "documentation":"<p>Use this structure if you want to use a customer managed KMS key to encrypt your investigation data. If you omit this parameter, CloudWatch investigations will use an Amazon Web Services key to encrypt the data. For more information, see <a href=\"https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Investigations-Security.html#Investigations-KMS\">Encryption of investigation data</a>.</p>"
        },
        "tagKeyBoundaries":{
          "shape":"TagKeyBoundaries",
          "documentation":"<p>Enter the existing custom tag keys for custom applications in your system. Resource tags help CloudWatch investigations narrow the search space when it is unable to discover definite relationships between resources. For example, to discover that an Amazon ECS service depends on an Amazon RDS database, CloudWatch investigations can discover this relationship using data sources such as X-Ray and CloudWatch Application Signals. However, if you haven't deployed these features, CloudWatch investigations will attempt to identify possible relationships. Tag boundaries can be used to narrow the resources that will be discovered by CloudWatch investigations in these cases.</p> <p>You don't need to enter tags created by myApplications or CloudFormation, because CloudWatch investigations can automatically detect those tags.</p>"
        },
        "chatbotNotificationChannel":{
          "shape":"ChatbotNotificationChannel",
          "documentation":"<p>Use this structure to integrate CloudWatch investigations with chat applications. This structure is a string array. For the first string, specify the ARN of an Amazon SNS topic. For the array of strings, specify the ARNs of one or more chat applications configurations that you want to associate with that topic. For more information about these configuration ARNs, see <a href=\"https://docs.aws.amazon.com/chatbot/latest/adminguide/getting-started.html\">Getting started with Amazon Q in chat applications</a> and <a href=\"https://docs.aws.amazon.com/service-authorization/latest/reference/list_awschatbot.html#awschatbot-resources-for-iam-policies\">Resource type defined by Amazon Web Services Chatbot</a>.</p>"
        },
        "isCloudTrailEventHistoryEnabled":{
          "shape":"Boolean",
          "documentation":"<p>Specify <code>true</code> to enable CloudWatch investigations to have access to change events that are recorded by CloudTrail. The default is <code>true</code>.</p>"
        },
        "crossAccountConfigurations":{
          "shape":"CrossAccountConfigurations",
          "documentation":"<p>Used to configure cross-account access for an investigation group. It allows the investigation group to access resources in other accounts. </p>"
        }
      }
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"String"}
      },
      "documentation":"<p>This operation or its parameters aren't formatted correctly.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    }
  },
  "documentation":"<p>The CloudWatch investigations feature is a generative AI-powered assistant that can help you respond to incidents in your system. It uses generative AI to scan your system's telemetry and quickly surface suggestions that might be related to your issue. These suggestions include metrics, logs, deployment events, and root-cause hypotheses. </p> <p>You can use API actions to create, manage, and delete investigation groups and investigation group policies. To start and manage investigations, you must use the CloudWatch console.</p>"
}
