From a39b88d4b59e3a8a2f1ce50768393ed6741630b1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 29 Oct 2021 06:16:02 +0000 Subject: [PATCH] ASFF schema update 20211029 --- asff/generated.py | 10603 +++++++++++++++++++++++------------------ tools/service-2.json | 4274 +++++++++++++++-- 2 files changed, 9915 insertions(+), 4962 deletions(-) diff --git a/asff/generated.py b/asff/generated.py index 52475c6..2afb660 100644 --- a/asff/generated.py +++ b/asff/generated.py @@ -45,4914 +45,6137 @@ class Config: SeverityLabel = constr(regex="^(INFORMATIONAL|LOW|MEDIUM|HIGH|CRITICAL)$") Integer = int NonEmptyString = constr(regex=".*\S.*") - - class Severity(ASFFBaseModel): - """ - The severity of the finding. The finding provider can provide the initial severity. The finding provider can only update the severity if it has not been updated using BatchUpdateFindings. The finding must have either Label or Normalized populated. If only one of these attributes is populated, then Security Hub automatically populates the other one. If neither attribute is populated, then the finding is invalid. Label is the preferred attribute. - - :param product: Deprecated. This attribute is being deprecated. Instead of providing Product, provide Original. The native severity as defined by the AWS service or integrated partner product that generated the finding. - :param label: The severity value of the finding. The allowed values are the following. INFORMATIONAL - No issue was found. LOW - The issue does not require action on its own. MEDIUM - The issue must be addressed but not urgently. HIGH - The issue must be addressed as a priority. CRITICAL - The issue must be remediated immediately to avoid it escalating. If you provide Normalized and do not provide Label, then Label is set automatically as follows. 0 - INFORMATIONAL 1–39 - LOW 40–69 - MEDIUM 70–89 - HIGH 90–100 - CRITICAL - :param normalized: Deprecated. The normalized severity of a finding. This attribute is being deprecated. Instead of providing Normalized, provide Label. If you provide Label and do not provide Normalized, then Normalized is set automatically as follows. INFORMATIONAL - 0 LOW - 1 MEDIUM - 40 HIGH - 70 CRITICAL - 90 - :param original: The native severity from the finding product that generated the finding. - - :return: Severity object - """ - - product: Optional[Double] - label: Optional[SeverityLabel] - normalized: Optional[Integer] - original: Optional[NonEmptyString] - - + """ +The severity of the finding. The finding provider can provide the initial severity. The finding provider can only update the severity if it has not been updated using BatchUpdateFindings. The finding must have either Label or Normalized populated. If only one of these attributes is populated, then Security Hub automatically populates the other one. If neither attribute is populated, then the finding is invalid. Label is the preferred attribute. + +:param product: Deprecated. This attribute is being deprecated. Instead of providing Product, provide Original. The native severity as defined by the Amazon Web Services service or integrated partner product that generated the finding. +:param label: The severity value of the finding. The allowed values are the following. INFORMATIONAL - No issue was found. LOW - The issue does not require action on its own. MEDIUM - The issue must be addressed but not urgently. HIGH - The issue must be addressed as a priority. CRITICAL - The issue must be remediated immediately to avoid it escalating. If you provide Normalized and do not provide Label, then Label is set automatically as follows. 0 - INFORMATIONAL 1–39 - LOW 40–69 - MEDIUM 70–89 - HIGH 90–100 - CRITICAL +:param normalized: Deprecated. The normalized severity of a finding. This attribute is being deprecated. Instead of providing Normalized, provide Label. If you provide Label and do not provide Normalized, then Normalized is set automatically as follows. INFORMATIONAL - 0 LOW - 1 MEDIUM - 40 HIGH - 70 CRITICAL - 90 +:param original: The native severity from the finding product that generated the finding. + +:return: Severity object + """ + product: Optional[Double] + label: Optional[SeverityLabel] + normalized: Optional[Integer] + original: Optional[NonEmptyString] class Recommendation(ASFFBaseModel): - """ - A recommendation on how to remediate the issue identified in a finding. - - :param text: Describes the recommended steps to take to remediate an issue identified in a finding. - :param url: A URL to a page or site that contains information about how to remediate a finding. - - :return: Recommendation object - """ - - text: Optional[NonEmptyString] - url: Optional[NonEmptyString] + """ +A recommendation on how to remediate the issue identified in a finding. +:param text: Describes the recommended steps to take to remediate an issue identified in a finding. +:param url: A URL to a page or site that contains information about how to remediate a finding. +:return: Recommendation object + """ + text: Optional[NonEmptyString] + url: Optional[NonEmptyString] class Remediation(ASFFBaseModel): - """ - Details about the remediation steps for a finding. - - :param recommendation: A recommendation on the steps to take to remediate the issue identified by a finding. + """ +Details about the remediation steps for a finding. - :return: Remediation object - """ - - recommendation: Optional[Recommendation] +:param recommendation: A recommendation on the steps to take to remediate the issue identified by a finding. - -MalwareType = constr( - regex="^(ADWARE|BLENDED_THREAT|BOTNET_AGENT|COIN_MINER|EXPLOIT_KIT|KEYLOGGER|MACRO|POTENTIALLY_UNWANTED|SPYWARE|RANSOMWARE|REMOTE_ACCESS|ROOTKIT|TROJAN|VIRUS|WORM)$" -) +:return: Remediation object + """ + recommendation: Optional[Recommendation] +MalwareType = constr(regex="^(ADWARE|BLENDED_THREAT|BOTNET_AGENT|COIN_MINER|EXPLOIT_KIT|KEYLOGGER|MACRO|POTENTIALLY_UNWANTED|SPYWARE|RANSOMWARE|REMOTE_ACCESS|ROOTKIT|TROJAN|VIRUS|WORM)$") MalwareState = constr(regex="^(OBSERVED|REMOVAL_FAILED|REMOVED)$") - - class Malware(ASFFBaseModel): - """ - A list of malware related to a finding. - - :param name: The name of the malware that was observed. - :param type: The type of the malware that was observed. - :param path: The file system path of the malware that was observed. - :param state: The state of the malware that was observed. - - :return: Malware object - """ - - name: NonEmptyString - type: Optional[MalwareType] - path: Optional[NonEmptyString] - state: Optional[MalwareState] - - + """ +A list of malware related to a finding. + +:param name: The name of the malware that was observed. +:param type: The type of the malware that was observed. +:param path: The file system path of the malware that was observed. +:param state: The state of the malware that was observed. + +:return: Malware object + """ + name: NonEmptyString + type: Optional[MalwareType] + path: Optional[NonEmptyString] + state: Optional[MalwareState] MalwareList = List[Malware] NetworkDirection = constr(regex="^(IN|OUT)$") - - class PortRange(ASFFBaseModel): - """ - A range of ports. - - :param begin: The first port in the port range. - :param end: The last port in the port range. - - :return: PortRange object - """ - - begin: Optional[Integer] - end: Optional[Integer] + """ +A range of ports. +:param begin: The first port in the port range. +:param end: The last port in the port range. +:return: PortRange object + """ + begin: Optional[Integer] + end: Optional[Integer] class Network(ASFFBaseModel): - """ - The details of network-related information about a finding. - - :param direction: The direction of network traffic associated with a finding. - :param protocol: The protocol of network-related information about a finding. - :param open_port_range: The range of open ports that is present on the network. - :param source_ip_v4: The source IPv4 address of network-related information about a finding. - :param source_ip_v6: The source IPv6 address of network-related information about a finding. - :param source_port: The source port of network-related information about a finding. - :param source_domain: The source domain of network-related information about a finding. - :param source_mac: The source media access control (MAC) address of network-related information about a finding. - :param destination_ip_v4: The destination IPv4 address of network-related information about a finding. - :param destination_ip_v6: The destination IPv6 address of network-related information about a finding. - :param destination_port: The destination port of network-related information about a finding. - :param destination_domain: The destination domain of network-related information about a finding. - - :return: Network object - """ - - direction: Optional[NetworkDirection] - protocol: Optional[NonEmptyString] - open_port_range: Optional[PortRange] - source_ip_v4: Optional[NonEmptyString] - source_ip_v6: Optional[NonEmptyString] - source_port: Optional[Integer] - source_domain: Optional[NonEmptyString] - source_mac: Optional[NonEmptyString] - destination_ip_v4: Optional[NonEmptyString] - destination_ip_v6: Optional[NonEmptyString] - destination_port: Optional[Integer] - destination_domain: Optional[NonEmptyString] - - + """ +The details of network-related information about a finding. + +:param direction: The direction of network traffic associated with a finding. +:param protocol: The protocol of network-related information about a finding. +:param open_port_range: The range of open ports that is present on the network. +:param source_ip_v4: The source IPv4 address of network-related information about a finding. +:param source_ip_v6: The source IPv6 address of network-related information about a finding. +:param source_port: The source port of network-related information about a finding. +:param source_domain: The source domain of network-related information about a finding. +:param source_mac: The source media access control (MAC) address of network-related information about a finding. +:param destination_ip_v4: The destination IPv4 address of network-related information about a finding. +:param destination_ip_v6: The destination IPv6 address of network-related information about a finding. +:param destination_port: The destination port of network-related information about a finding. +:param destination_domain: The destination domain of network-related information about a finding. + +:return: Network object + """ + direction: Optional[NetworkDirection] + protocol: Optional[NonEmptyString] + open_port_range: Optional[PortRange] + source_ip_v4: Optional[NonEmptyString] + source_ip_v6: Optional[NonEmptyString] + source_port: Optional[Integer] + source_domain: Optional[NonEmptyString] + source_mac: Optional[NonEmptyString] + destination_ip_v4: Optional[NonEmptyString] + destination_ip_v6: Optional[NonEmptyString] + destination_port: Optional[Integer] + destination_domain: Optional[NonEmptyString] StringList = List[NonEmptyString] PortRangeList = List[PortRange] - - class NetworkPathComponentDetails(ASFFBaseModel): - """ - Information about the destination of the next component in the network path. - - :param address: The IP addresses of the destination. - :param port_ranges: A list of port ranges for the destination. - - :return: NetworkPathComponentDetails object - """ - - address: Optional[StringList] - port_ranges: Optional[PortRangeList] + """ +Information about the destination of the next component in the network path. +:param address: The IP addresses of the destination. +:param port_ranges: A list of port ranges for the destination. +:return: NetworkPathComponentDetails object + """ + address: Optional[StringList] + port_ranges: Optional[PortRangeList] class NetworkHeader(ASFFBaseModel): - """ - Details about a network path component that occurs before or after the current component. - - :param protocol: The protocol used for the component. - :param destination: Information about the destination of the component. - :param source: Information about the origin of the component. - - :return: NetworkHeader object - """ - - protocol: Optional[NonEmptyString] - destination: Optional[NetworkPathComponentDetails] - source: Optional[NetworkPathComponentDetails] - - + """ +Details about a network path component that occurs before or after the current component. + +:param protocol: The protocol used for the component. +:param destination: Information about the destination of the component. +:param source: Information about the origin of the component. + +:return: NetworkHeader object + """ + protocol: Optional[NonEmptyString] + destination: Optional[NetworkPathComponentDetails] + source: Optional[NetworkPathComponentDetails] class NetworkPathComponent(ASFFBaseModel): - """ - Information about a network path component. - - :param component_id: The identifier of a component in the network path. - :param component_type: The type of component. - :param egress: Information about the component that comes after the current component in the network path. - :param ingress: Information about the component that comes before the current node in the network path. - - :return: NetworkPathComponent object - """ - - component_id: Optional[NonEmptyString] - component_type: Optional[NonEmptyString] - egress: Optional[NetworkHeader] - ingress: Optional[NetworkHeader] - - + """ +Information about a network path component. + +:param component_id: The identifier of a component in the network path. +:param component_type: The type of component. +:param egress: Information about the component that comes after the current component in the network path. +:param ingress: Information about the component that comes before the current node in the network path. + +:return: NetworkPathComponent object + """ + component_id: Optional[NonEmptyString] + component_type: Optional[NonEmptyString] + egress: Optional[NetworkHeader] + ingress: Optional[NetworkHeader] NetworkPathList = List[NetworkPathComponent] - - class ProcessDetails(ASFFBaseModel): - """ - The details of process-related information about a finding. - - :param name: The name of the process. - :param path: The path to the process executable. - :param pid: The process ID. - :param parent_pid: The parent process ID. - :param launched_at: Indicates when the process was launched. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param terminated_at: Indicates when the process was terminated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: ProcessDetails object - """ - - name: Optional[NonEmptyString] - path: Optional[NonEmptyString] - pid: Optional[Integer] - parent_pid: Optional[Integer] - launched_at: Optional[Iso8601Timestamp] - terminated_at: Optional[Iso8601Timestamp] - - -ThreatIntelIndicatorType = constr( - regex="^(DOMAIN|EMAIL_ADDRESS|HASH_MD5|HASH_SHA1|HASH_SHA256|HASH_SHA512|IPV4_ADDRESS|IPV6_ADDRESS|MUTEX|PROCESS|URL)$" -) -ThreatIntelIndicatorCategory = constr( - regex="^(BACKDOOR|CARD_STEALER|COMMAND_AND_CONTROL|DROP_SITE|EXPLOIT_SITE|KEYLOGGER)$" -) - - + """ +The details of process-related information about a finding. + +:param name: The name of the process. +:param path: The path to the process executable. +:param pid: The process ID. +:param parent_pid: The parent process ID. +:param launched_at: Indicates when the process was launched. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param terminated_at: Indicates when the process was terminated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: ProcessDetails object + """ + name: Optional[NonEmptyString] + path: Optional[NonEmptyString] + pid: Optional[Integer] + parent_pid: Optional[Integer] + launched_at: Optional[Iso8601Timestamp] + terminated_at: Optional[Iso8601Timestamp] +ThreatIntelIndicatorType = constr(regex="^(DOMAIN|EMAIL_ADDRESS|HASH_MD5|HASH_SHA1|HASH_SHA256|HASH_SHA512|IPV4_ADDRESS|IPV6_ADDRESS|MUTEX|PROCESS|URL)$") +ThreatIntelIndicatorCategory = constr(regex="^(BACKDOOR|CARD_STEALER|COMMAND_AND_CONTROL|DROP_SITE|EXPLOIT_SITE|KEYLOGGER)$") class ThreatIntelIndicator(ASFFBaseModel): - """ - Details about the threat intelligence related to a finding. - - :param type: The type of threat intelligence indicator. - :param value: The value of a threat intelligence indicator. - :param category: The category of a threat intelligence indicator. - :param last_observed_at: Indicates when the most recent instance of a threat intelligence indicator was observed. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param source: The source of the threat intelligence indicator. - :param source_url: The URL to the page or site where you can get more information about the threat intelligence indicator. - - :return: ThreatIntelIndicator object - """ - - type: Optional[ThreatIntelIndicatorType] - value: Optional[NonEmptyString] - category: Optional[ThreatIntelIndicatorCategory] - last_observed_at: Optional[Iso8601Timestamp] - source: Optional[NonEmptyString] - source_url: Optional[NonEmptyString] - - + """ +Details about the threat intelligence related to a finding. + +:param type: The type of threat intelligence indicator. +:param value: The value of a threat intelligence indicator. +:param category: The category of a threat intelligence indicator. +:param last_observed_at: Indicates when the most recent instance of a threat intelligence indicator was observed. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param source: The source of the threat intelligence indicator. +:param source_url: The URL to the page or site where you can get more information about the threat intelligence indicator. + +:return: ThreatIntelIndicator object + """ + type: Optional[ThreatIntelIndicatorType] + value: Optional[NonEmptyString] + category: Optional[ThreatIntelIndicatorCategory] + last_observed_at: Optional[Iso8601Timestamp] + source: Optional[NonEmptyString] + source_url: Optional[NonEmptyString] ThreatIntelIndicatorList = List[ThreatIntelIndicator] Partition = constr(regex="^(aws|aws-cn|aws-us-gov)$") Boolean = bool - - class ClassificationStatus(ASFFBaseModel): - """ - Provides details about the current status of the sensitive data detection. - - :param code: The code that represents the status of the sensitive data detection. - :param reason: A longer description of the current status of the sensitive data detection. - - :return: ClassificationStatus object - """ - - code: Optional[NonEmptyString] - reason: Optional[NonEmptyString] + """ +Provides details about the current status of the sensitive data detection. +:param code: The code that represents the status of the sensitive data detection. +:param reason: A longer description of the current status of the sensitive data detection. +:return: ClassificationStatus object + """ + code: Optional[NonEmptyString] + reason: Optional[NonEmptyString] Long = int - - class Range(ASFFBaseModel): - """ - Identifies where the sensitive data begins and ends. - - :param start: The number of lines (for a line range) or characters (for an offset range) from the beginning of the file to the end of the sensitive data. - :param end: The number of lines (for a line range) or characters (for an offset range) from the beginning of the file to the end of the sensitive data. - :param start_column: In the line where the sensitive data starts, the column within the line where the sensitive data starts. - - :return: Range object - """ - - start: Optional[Long] - end: Optional[Long] - start_column: Optional[Long] - - + """ +Identifies where the sensitive data begins and ends. + +:param start: The number of lines (for a line range) or characters (for an offset range) from the beginning of the file to the end of the sensitive data. +:param end: The number of lines (for a line range) or characters (for an offset range) from the beginning of the file to the end of the sensitive data. +:param start_column: In the line where the sensitive data starts, the column within the line where the sensitive data starts. + +:return: Range object + """ + start: Optional[Long] + end: Optional[Long] + start_column: Optional[Long] Ranges = List[Range] - - class Page(ASFFBaseModel): - """ - An occurrence of sensitive data in an Adobe Portable Document Format (PDF) file. - - :param page_number: The page number of the page that contains the sensitive data. - :param line_range: An occurrence of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files. - :param offset_range: An occurrence of sensitive data detected in a binary text file. - - :return: Page object - """ - - page_number: Optional[Long] - line_range: Optional[Range] - offset_range: Optional[Range] - - + """ +An occurrence of sensitive data in an Adobe Portable Document Format (PDF) file. + +:param page_number: The page number of the page that contains the sensitive data. +:param line_range: An occurrence of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files. +:param offset_range: An occurrence of sensitive data detected in a binary text file. + +:return: Page object + """ + page_number: Optional[Long] + line_range: Optional[Range] + offset_range: Optional[Range] Pages = List[Page] - - class Record(ASFFBaseModel): - """ - An occurrence of sensitive data in an Apache Avro object container or an Apache Parquet file. - - :param json_path: The path, as a JSONPath expression, to the field in the record that contains the data. If the field name is longer than 20 characters, it is truncated. If the path is longer than 250 characters, it is truncated. - :param record_index: The record index, starting from 0, for the record that contains the data. - - :return: Record object - """ - - json_path: Optional[NonEmptyString] - record_index: Optional[Long] + """ +An occurrence of sensitive data in an Apache Avro object container or an Apache Parquet file. +:param json_path: The path, as a JSONPath expression, to the field in the record that contains the data. If the field name is longer than 20 characters, it is truncated. If the path is longer than 250 characters, it is truncated. +:param record_index: The record index, starting from 0, for the record that contains the data. +:return: Record object + """ + json_path: Optional[NonEmptyString] + record_index: Optional[Long] Records = List[Record] - - class Cell(ASFFBaseModel): - """ - An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated value (CSV) file, or tab-separated value (TSV) file. - - :param column: The column number of the column that contains the data. For a Microsoft Excel workbook, the column number corresponds to the alphabetical column identifiers. For example, a value of 1 for Column corresponds to the A column in the workbook. - :param row: The row number of the row that contains the data. - :param column_name: The name of the column that contains the data. - :param cell_reference: For a Microsoft Excel workbook, provides the location of the cell, as an absolute cell reference, that contains the data. For example, Sheet2!C5 for cell C5 on Sheet2. - - :return: Cell object - """ - - column: Optional[Long] - row: Optional[Long] - column_name: Optional[NonEmptyString] - cell_reference: Optional[NonEmptyString] - - + """ +An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated value (CSV) file, or tab-separated value (TSV) file. + +:param column: The column number of the column that contains the data. For a Microsoft Excel workbook, the column number corresponds to the alphabetical column identifiers. For example, a value of 1 for Column corresponds to the A column in the workbook. +:param row: The row number of the row that contains the data. +:param column_name: The name of the column that contains the data. +:param cell_reference: For a Microsoft Excel workbook, provides the location of the cell, as an absolute cell reference, that contains the data. For example, Sheet2!C5 for cell C5 on Sheet2. + +:return: Cell object + """ + column: Optional[Long] + row: Optional[Long] + column_name: Optional[NonEmptyString] + cell_reference: Optional[NonEmptyString] Cells = List[Cell] - - class Occurrences(ASFFBaseModel): - """ - The detected occurrences of sensitive data. - - :param line_ranges: Occurrences of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files. - :param offset_ranges: Occurrences of sensitive data detected in a binary text file. - :param pages: Occurrences of sensitive data in an Adobe Portable Document Format (PDF) file. - :param records: Occurrences of sensitive data in an Apache Avro object container or an Apache Parquet file. - :param cells: Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated value (CSV) files, or tab-separated value (TSV) files. - - :return: Occurrences object - """ - - line_ranges: Optional[Ranges] - offset_ranges: Optional[Ranges] - pages: Optional[Pages] - records: Optional[Records] - cells: Optional[Cells] - - + """ +The detected occurrences of sensitive data. + +:param line_ranges: Occurrences of sensitive data detected in a non-binary text file or a Microsoft Word file. Non-binary text files include files such as HTML, XML, JSON, and TXT files. +:param offset_ranges: Occurrences of sensitive data detected in a binary text file. +:param pages: Occurrences of sensitive data in an Adobe Portable Document Format (PDF) file. +:param records: Occurrences of sensitive data in an Apache Avro object container or an Apache Parquet file. +:param cells: Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated value (CSV) files, or tab-separated value (TSV) files. + +:return: Occurrences object + """ + line_ranges: Optional[Ranges] + offset_ranges: Optional[Ranges] + pages: Optional[Pages] + records: Optional[Records] + cells: Optional[Cells] class SensitiveDataDetections(ASFFBaseModel): - """ - The list of detected instances of sensitive data. - - :param count: The total number of occurrences of sensitive data that were detected. - :param type: The type of sensitive data that was detected. For example, the type might indicate that the data is an email address. - :param occurrences: Details about the sensitive data that was detected. - - :return: SensitiveDataDetections object - """ - - count: Optional[Long] - type: Optional[NonEmptyString] - occurrences: Optional[Occurrences] - - + """ +The list of detected instances of sensitive data. + +:param count: The total number of occurrences of sensitive data that were detected. +:param type: The type of sensitive data that was detected. For example, the type might indicate that the data is an email address. +:param occurrences: Details about the sensitive data that was detected. + +:return: SensitiveDataDetections object + """ + count: Optional[Long] + type: Optional[NonEmptyString] + occurrences: Optional[Occurrences] SensitiveDataDetectionsList = List[SensitiveDataDetections] - - class SensitiveDataResult(ASFFBaseModel): - """ - Contains a detected instance of sensitive data that are based on built-in identifiers. - - :param category: The category of sensitive data that was detected. For example, the category can indicate that the sensitive data involved credentials, financial information, or personal information. - :param detections: The list of detected instances of sensitive data. - :param total_count: The total number of occurrences of sensitive data. - - :return: SensitiveDataResult object - """ + """ +Contains a detected instance of sensitive data that are based on built-in identifiers. + +:param category: The category of sensitive data that was detected. For example, the category can indicate that the sensitive data involved credentials, financial information, or personal information. +:param detections: The list of detected instances of sensitive data. +:param total_count: The total number of occurrences of sensitive data. + +:return: SensitiveDataResult object + """ + category: Optional[NonEmptyString] + detections: Optional[SensitiveDataDetectionsList] + total_count: Optional[Long] +SensitiveDataResultList = List[SensitiveDataResult] +class CustomDataIdentifiersDetections(ASFFBaseModel): + """ +The list of detected instances of sensitive data. + +:param count: The total number of occurrences of sensitive data that were detected. +:param arn: The ARN of the custom identifier that was used to detect the sensitive data. +:param name: he name of the custom identifier that detected the sensitive data. +:param occurrences: Details about the sensitive data that was detected. + +:return: CustomDataIdentifiersDetections object + """ + count: Optional[Long] + arn: Optional[NonEmptyString] + name: Optional[NonEmptyString] + occurrences: Optional[Occurrences] +CustomDataIdentifiersDetectionsList = List[CustomDataIdentifiersDetections] +class CustomDataIdentifiersResult(ASFFBaseModel): + """ +Contains an instance of sensitive data that was detected by a customer-defined identifier. - category: Optional[NonEmptyString] - detections: Optional[SensitiveDataDetectionsList] - total_count: Optional[Long] +:param detections: The list of detected instances of sensitive data. +:param total_count: The total number of occurrences of sensitive data. +:return: CustomDataIdentifiersResult object + """ + detections: Optional[CustomDataIdentifiersDetectionsList] + total_count: Optional[Long] +class ClassificationResult(ASFFBaseModel): + """ +Details about the sensitive data that was detected on the resource. + +:param mime_type: The type of content that the finding applies to. +:param size_classified: The total size in bytes of the affected data. +:param additional_occurrences: Indicates whether there are additional occurrences of sensitive data that are not included in the finding. This occurs when the number of occurrences exceeds the maximum that can be included. +:param status: The current status of the sensitive data detection. +:param sensitive_data: Provides details about sensitive data that was identified based on built-in configuration. +:param custom_data_identifiers: Provides details about sensitive data that was identified based on customer-defined configuration. + +:return: ClassificationResult object + """ + mime_type: Optional[NonEmptyString] + size_classified: Optional[Long] + additional_occurrences: Optional[Boolean] + status: Optional[ClassificationStatus] + sensitive_data: Optional[SensitiveDataResultList] + custom_data_identifiers: Optional[CustomDataIdentifiersResult] +class DataClassificationDetails(ASFFBaseModel): + """ +Provides details about sensitive data that was detected on a resource. -SensitiveDataResultList = List[SensitiveDataResult] +:param detailed_results_location: The path to the folder or file that contains the sensitive data. +:param result: The details about the sensitive data that was detected on the resource. +:return: DataClassificationDetails object + """ + detailed_results_location: Optional[NonEmptyString] + result: Optional[ClassificationResult] +class AwsAutoScalingAutoScalingGroupDetails(ASFFBaseModel): + """ +Provides details about an auto scaling group. + +:param launch_configuration_name: The name of the launch configuration. +:param load_balancer_names: The list of load balancers associated with the group. +:param health_check_type: The service to use for the health checks. +:param health_check_grace_period: The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it checks the health status of an EC2 instance that has come into service. +:param created_time: Indicates when the auto scaling group was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsAutoScalingAutoScalingGroupDetails object + """ + launch_configuration_name: Optional[NonEmptyString] + load_balancer_names: Optional[StringList] + health_check_type: Optional[NonEmptyString] + health_check_grace_period: Optional[Integer] + created_time: Optional[Iso8601Timestamp] +class AwsCodeBuildProjectArtifactsDetails(ASFFBaseModel): + """ +Information about the build artifacts for the CodeBuild project. + +:param artifact_identifier: An identifier for the artifact definition. +:param encryption_disabled: Indicates whether to disable encryption on the artifact. Only valid when Type is S3. +:param location: Only used when Type is S3. The name of the S3 bucket where the artifact is located. +:param name: Only used when Type is S3. The name of the artifact. Used with NamepaceType and Path to determine the pattern for storing the artifact. +:param namespace_type: Only used when Type is S3. The value to use for the namespace. Used with Name and Path to determine the pattern for storing the artifact. +:param override_artifact_name: Whether the name specified in the buildspec file overrides the artifact name. +:param packaging: Only used when Type is S3. The type of output artifact to create. +:param path: Only used when Type is S3. The path to the artifact. Used with Name and NamespaceType to determine the pattern for storing the artifact. +:param type: The type of build artifact. + +:return: AwsCodeBuildProjectArtifactsDetails object + """ + artifact_identifier: Optional[NonEmptyString] + encryption_disabled: Optional[Boolean] + location: Optional[NonEmptyString] + name: Optional[NonEmptyString] + namespace_type: Optional[NonEmptyString] + override_artifact_name: Optional[Boolean] + packaging: Optional[NonEmptyString] + path: Optional[NonEmptyString] + type: Optional[NonEmptyString] +AwsCodeBuildProjectArtifactsList = List[AwsCodeBuildProjectArtifactsDetails] +class AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails(ASFFBaseModel): + """ +Information about an environment variable that is available to builds for the build project. + +:param name: The name of the environment variable. +:param type: The type of environment variable. +:param value: The value of the environment variable. + +:return: AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails object + """ + name: Optional[NonEmptyString] + type: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsCodeBuildProjectEnvironmentEnvironmentVariablesList = List[AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails] +class AwsCodeBuildProjectEnvironmentRegistryCredential(ASFFBaseModel): + """ +The credentials for access to a private registry. -class CustomDataIdentifiersDetections(ASFFBaseModel): - """ - The list of detected instances of sensitive data. +:param credential: The ARN or name of credentials created using Secrets Manager. The credential can use the name of the credentials only if they exist in your current Amazon Web Services Region. +:param credential_provider: The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for Secrets Manager. - :param count: The total number of occurrences of sensitive data that were detected. - :param arn: The ARN of the custom identifier that was used to detect the sensitive data. - :param name: he name of the custom identifier that detected the sensitive data. - :param occurrences: Details about the sensitive data that was detected. +:return: AwsCodeBuildProjectEnvironmentRegistryCredential object + """ + credential: Optional[NonEmptyString] + credential_provider: Optional[NonEmptyString] +class AwsCodeBuildProjectEnvironment(ASFFBaseModel): + """ +Information about the build environment for this build project. + +:param certificate: The certificate to use with this build project. +:param environment_variables: A set of environment variables to make available to builds for the build project. +:param privileged_mode: Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build project is used to build Docker images. +:param image_pull_credentials_type: The type of credentials CodeBuild uses to pull images in your build. Valid values: CODEBUILD specifies that CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust the CodeBuild service principal. SERVICE_ROLE specifies that CodeBuild uses your build project's service role. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials. +:param registry_credential: The credentials for access to a private registry. +:param type: The type of build environment to use for related builds. The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt). The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | ARM_CONTAINER + +:return: AwsCodeBuildProjectEnvironment object + """ + certificate: Optional[NonEmptyString] + environment_variables: Optional[AwsCodeBuildProjectEnvironmentEnvironmentVariablesList] + privileged_mode: Optional[Boolean] + image_pull_credentials_type: Optional[NonEmptyString] + registry_credential: Optional[AwsCodeBuildProjectEnvironmentRegistryCredential] + type: Optional[NonEmptyString] +class AwsCodeBuildProjectSource(ASFFBaseModel): + """ +Information about the build input source code for this build project. + +:param type: The type of repository that contains the source code to be built. Valid values are: BITBUCKET - The source code is in a Bitbucket repository. CODECOMMIT - The source code is in an CodeCommit repository. CODEPIPELINE - The source code settings are specified in the source action of a pipeline in CodePipeline. GITHUB - The source code is in a GitHub repository. GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository. NO_SOURCE - The project does not have input source code. S3 - The source code is in an S3 input bucket. +:param location: Information about the location of the source code to be built. Valid values include: For source code settings that are specified in the source action of a pipeline in CodePipeline, location should not be specified. If it is specified, CodePipeline ignores it. This is because CodePipeline uses the settings in a pipeline's source action instead of this value. For source code in an CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec file (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ). For source code in an S3 input bucket, one of the following. The path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip). The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the build spec file. For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the build spec file. +:param git_clone_depth: Information about the Git clone depth for the build project. +:param insecure_ssl: Whether to ignore SSL warnings while connecting to the project source code. + +:return: AwsCodeBuildProjectSource object + """ + type: Optional[NonEmptyString] + location: Optional[NonEmptyString] + git_clone_depth: Optional[Integer] + insecure_ssl: Optional[Boolean] +class AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails(ASFFBaseModel): + """ +Information about CloudWatch Logs for the build project. + +:param group_name: The group name of the logs in CloudWatch Logs. +:param status: The current status of the logs in CloudWatch Logs for a build project. +:param stream_name: The prefix of the stream name of the CloudWatch Logs. + +:return: AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails object + """ + group_name: Optional[NonEmptyString] + status: Optional[NonEmptyString] + stream_name: Optional[NonEmptyString] +class AwsCodeBuildProjectLogsConfigS3LogsDetails(ASFFBaseModel): + """ +Information about logs built to an S3 bucket for a build project. + +:param encryption_disabled: Whether to disable encryption of the S3 build log output. +:param location: The ARN of the S3 bucket and the path prefix for S3 logs. +:param status: The current status of the S3 build logs. + +:return: AwsCodeBuildProjectLogsConfigS3LogsDetails object + """ + encryption_disabled: Optional[Boolean] + location: Optional[NonEmptyString] + status: Optional[NonEmptyString] +class AwsCodeBuildProjectLogsConfigDetails(ASFFBaseModel): + """ +Information about logs for the build project. + +:param cloud_watch_logs: Information about CloudWatch Logs for the build project. +:param s3_logs: Information about logs built to an S3 bucket for a build project. + +:return: AwsCodeBuildProjectLogsConfigDetails object + """ + cloud_watch_logs: Optional[AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails] + s3_logs: Optional[AwsCodeBuildProjectLogsConfigS3LogsDetails] +NonEmptyStringList = List[NonEmptyString] +class AwsCodeBuildProjectVpcConfig(ASFFBaseModel): + """ +Information about the VPC configuration that CodeBuild accesses. + +:param vpc_id: The ID of the VPC. +:param subnets: A list of one or more subnet IDs in your VPC. +:param security_group_ids: A list of one or more security group IDs in your VPC. + +:return: AwsCodeBuildProjectVpcConfig object + """ + vpc_id: Optional[NonEmptyString] + subnets: Optional[NonEmptyStringList] + security_group_ids: Optional[NonEmptyStringList] +class AwsCodeBuildProjectDetails(ASFFBaseModel): + """ +Information about an CodeBuild project. + +:param encryption_key: The KMS key used to encrypt the build output artifacts. You can specify either the ARN of the KMS key or, if available, the KMS key alias (using the format alias/alias-name). +:param artifacts: Information about the build artifacts for the CodeBuild project. +:param environment: Information about the build environment for this build project. +:param name: The name of the build project. +:param source: Information about the build input source code for this build project. +:param service_role: The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account. +:param logs_config: Information about logs for the build project. +:param vpc_config: Information about the VPC configuration that CodeBuild accesses. + +:return: AwsCodeBuildProjectDetails object + """ + encryption_key: Optional[NonEmptyString] + artifacts: Optional[AwsCodeBuildProjectArtifactsList] + environment: Optional[AwsCodeBuildProjectEnvironment] + name: Optional[NonEmptyString] + source: Optional[AwsCodeBuildProjectSource] + service_role: Optional[NonEmptyString] + logs_config: Optional[AwsCodeBuildProjectLogsConfigDetails] + vpc_config: Optional[AwsCodeBuildProjectVpcConfig] +class AwsCloudFrontDistributionCacheBehavior(ASFFBaseModel): + """ +Information about a cache behavior for the distribution. - :return: CustomDataIdentifiersDetections object - """ +:param viewer_protocol_policy: The protocol that viewers can use to access the files in an origin. You can specify the following options: allow-all - Viewers can use HTTP or HTTPS. redirect-to-https - CloudFront responds to HTTP requests with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the new URL to resubmit. https-only - CloudFront responds to HTTP request with an HTTP status code of 403 (Forbidden). - count: Optional[Long] - arn: Optional[NonEmptyString] - name: Optional[NonEmptyString] - occurrences: Optional[Occurrences] +:return: AwsCloudFrontDistributionCacheBehavior object + """ + viewer_protocol_policy: Optional[NonEmptyString] +AwsCloudFrontDistributionCacheBehaviorsItemList = List[AwsCloudFrontDistributionCacheBehavior] +class AwsCloudFrontDistributionCacheBehaviors(ASFFBaseModel): + """ +Provides information about caching for the distribution. +:param items: The cache behaviors for the distribution. -CustomDataIdentifiersDetectionsList = List[CustomDataIdentifiersDetections] +:return: AwsCloudFrontDistributionCacheBehaviors object + """ + items: Optional[AwsCloudFrontDistributionCacheBehaviorsItemList] +class AwsCloudFrontDistributionDefaultCacheBehavior(ASFFBaseModel): + """ +Contains information about the default cache configuration for the distribution. +:param viewer_protocol_policy: The protocol that viewers can use to access the files in an origin. You can specify the following options: allow-all - Viewers can use HTTP or HTTPS. redirect-to-https - CloudFront responds to HTTP requests with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the new URL to resubmit. https-only - CloudFront responds to HTTP request with an HTTP status code of 403 (Forbidden). -class CustomDataIdentifiersResult(ASFFBaseModel): - """ - Contains an instance of sensitive data that was detected by a customer-defined identifier. +:return: AwsCloudFrontDistributionDefaultCacheBehavior object + """ + viewer_protocol_policy: Optional[NonEmptyString] +class AwsCloudFrontDistributionLogging(ASFFBaseModel): + """ +A complex type that controls whether access logs are written for the distribution. + +:param bucket: The S3 bucket to store the access logs in. +:param enabled: With this field, you can enable or disable the selected distribution. +:param include_cookies: Specifies whether you want CloudFront to include cookies in access logs. +:param prefix: An optional string that you want CloudFront to use as a prefix to the access log filenames for this distribution. + +:return: AwsCloudFrontDistributionLogging object + """ + bucket: Optional[NonEmptyString] + enabled: Optional[Boolean] + include_cookies: Optional[Boolean] + prefix: Optional[NonEmptyString] +class AwsCloudFrontDistributionOriginS3OriginConfig(ASFFBaseModel): + """ +Information about an origin that is an S3 bucket that is not configured with static website hosting. - :param detections: The list of detected instances of sensitive data. - :param total_count: The total number of occurrences of sensitive data. +:param origin_access_identity: The CloudFront origin access identity to associate with the origin. - :return: CustomDataIdentifiersResult object - """ +:return: AwsCloudFrontDistributionOriginS3OriginConfig object + """ + origin_access_identity: Optional[NonEmptyString] +class AwsCloudFrontDistributionOriginItem(ASFFBaseModel): + """ +A complex type that describes the S3 bucket, HTTP server (for example, a web server), AWS Elemental MediaStore, or other server from which CloudFront gets your files. + +:param domain_name: Amazon S3 origins: The DNS name of the S3 bucket from which you want CloudFront to get objects for this origin. +:param id: A unique identifier for the origin or origin group. +:param origin_path: An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. +:param s3_origin_config: An origin that is an S3 bucket that is not configured with static website hosting. + +:return: AwsCloudFrontDistributionOriginItem object + """ + domain_name: Optional[NonEmptyString] + id: Optional[NonEmptyString] + origin_path: Optional[NonEmptyString] + s3_origin_config: Optional[AwsCloudFrontDistributionOriginS3OriginConfig] +AwsCloudFrontDistributionOriginItemList = List[AwsCloudFrontDistributionOriginItem] +class AwsCloudFrontDistributionOrigins(ASFFBaseModel): + """ +A complex type that contains information about origins and origin groups for this distribution. - detections: Optional[CustomDataIdentifiersDetectionsList] - total_count: Optional[Long] +:param items: A complex type that contains origins or origin groups for this distribution. +:return: AwsCloudFrontDistributionOrigins object + """ + items: Optional[AwsCloudFrontDistributionOriginItemList] +AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList = List[Integer] +class AwsCloudFrontDistributionOriginGroupFailoverStatusCodes(ASFFBaseModel): + """ +The status codes that cause an origin group to fail over. -class ClassificationResult(ASFFBaseModel): - """ - Details about the sensitive data that was detected on the resource. +:param items: The list of status code values that can cause a failover to the next origin. +:param quantity: The number of status codes that can cause a failover. - :param mime_type: The type of content that the finding applies to. - :param size_classified: The total size in bytes of the affected data. - :param additional_occurrences: Indicates whether there are additional occurrences of sensitive data that are not included in the finding. This occurs when the number of occurrences exceeds the maximum that can be included. - :param status: The current status of the sensitive data detection. - :param sensitive_data: Provides details about sensitive data that was identified based on built-in configuration. - :param custom_data_identifiers: Provides details about sensitive data that was identified based on customer-defined configuration. +:return: AwsCloudFrontDistributionOriginGroupFailoverStatusCodes object + """ + items: Optional[AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList] + quantity: Optional[Integer] +class AwsCloudFrontDistributionOriginGroupFailover(ASFFBaseModel): + """ +Provides information about when an origin group fails over. - :return: ClassificationResult object - """ +:param status_codes: Information about the status codes that cause an origin group to fail over. - mime_type: Optional[NonEmptyString] - size_classified: Optional[Long] - additional_occurrences: Optional[Boolean] - status: Optional[ClassificationStatus] - sensitive_data: Optional[SensitiveDataResultList] - custom_data_identifiers: Optional[CustomDataIdentifiersResult] +:return: AwsCloudFrontDistributionOriginGroupFailover object + """ + status_codes: Optional[AwsCloudFrontDistributionOriginGroupFailoverStatusCodes] +class AwsCloudFrontDistributionOriginGroup(ASFFBaseModel): + """ +Information about an origin group for the distribution. +:param failover_criteria: Provides the criteria for an origin group to fail over. -class DataClassificationDetails(ASFFBaseModel): - """ - Provides details about sensitive data that was detected on a resource. +:return: AwsCloudFrontDistributionOriginGroup object + """ + failover_criteria: Optional[AwsCloudFrontDistributionOriginGroupFailover] +AwsCloudFrontDistributionOriginGroupsItemList = List[AwsCloudFrontDistributionOriginGroup] +class AwsCloudFrontDistributionOriginGroups(ASFFBaseModel): + """ +Provides information about origin groups that are associated with the distribution. + +:param items: The list of origin groups. + +:return: AwsCloudFrontDistributionOriginGroups object + """ + items: Optional[AwsCloudFrontDistributionOriginGroupsItemList] +class AwsCloudFrontDistributionViewerCertificate(ASFFBaseModel): + """ +Provides information about the TLS/SSL configuration that the distribution uses to communicate with viewers. + +:param acm_certificate_arn: The ARN of the ACM certificate. Used if the certificate is stored in ACM. If you provide an ACM certificate ARN, you must also provide MinimumCertificateVersion and SslSupportMethod. +:param certificate: The identifier of the certificate. Note that in CloudFront, this attribute is deprecated. +:param certificate_source: The source of the certificate identified by Certificate. Note that in CloudFront, this attribute is deprecated. +:param cloud_front_default_certificate: Whether the distribution uses the CloudFront domain name. If set to false, then you provide either AcmCertificateArn or IamCertificateId. +:param iam_certificate_id: The identifier of the IAM certificate. Used if the certificate is stored in IAM. If you provide IamCertificateId, then you also must provide MinimumProtocolVersion and SslSupportMethod. +:param minimum_protocol_version: The security policy that CloudFront uses for HTTPS connections with viewers. If SslSupportMethod is sni-only, then MinimumProtocolVersion must be TLSv1 or higher. +:param ssl_support_method: The viewers that the distribution accepts HTTPS connections from. + +:return: AwsCloudFrontDistributionViewerCertificate object + """ + acm_certificate_arn: Optional[NonEmptyString] + certificate: Optional[NonEmptyString] + certificate_source: Optional[NonEmptyString] + cloud_front_default_certificate: Optional[Boolean] + iam_certificate_id: Optional[NonEmptyString] + minimum_protocol_version: Optional[NonEmptyString] + ssl_support_method: Optional[NonEmptyString] +class AwsCloudFrontDistributionDetails(ASFFBaseModel): + """ +A distribution configuration. + +:param cache_behaviors: Provides information about the cache configuration for the distribution. +:param default_cache_behavior: The default cache behavior for the configuration. +:param default_root_object: The object that CloudFront sends in response to requests from the origin (for example, index.html) when a viewer requests the root URL for the distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). +:param domain_name: The domain name corresponding to the distribution. +:param e_tag: The entity tag is a hash of the object. +:param last_modified_time: Indicates when that the distribution was last modified. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param logging: A complex type that controls whether access logs are written for the distribution. +:param origins: A complex type that contains information about origins for this distribution. +:param origin_groups: Provides information about the origin groups in the distribution. +:param viewer_certificate: Provides information about the TLS/SSL configuration that the distribution uses to communicate with viewers. +:param status: Indicates the current status of the distribution. +:param web_acl_id: A unique identifier that specifies the WAF web ACL, if any, to associate with this distribution. + +:return: AwsCloudFrontDistributionDetails object + """ + cache_behaviors: Optional[AwsCloudFrontDistributionCacheBehaviors] + default_cache_behavior: Optional[AwsCloudFrontDistributionDefaultCacheBehavior] + default_root_object: Optional[NonEmptyString] + domain_name: Optional[NonEmptyString] + e_tag: Optional[NonEmptyString] + last_modified_time: Optional[Iso8601Timestamp] + logging: Optional[AwsCloudFrontDistributionLogging] + origins: Optional[AwsCloudFrontDistributionOrigins] + origin_groups: Optional[AwsCloudFrontDistributionOriginGroups] + viewer_certificate: Optional[AwsCloudFrontDistributionViewerCertificate] + status: Optional[NonEmptyString] + web_acl_id: Optional[NonEmptyString] +class AwsEc2InstanceNetworkInterfacesDetails(ASFFBaseModel): + """ +Identifies a network interface for the EC2 instance. + +:param network_interface_id: The identifier of the network interface. The details are in a corresponding AwsEc2NetworkInterfacesDetails object. + +:return: AwsEc2InstanceNetworkInterfacesDetails object + """ + network_interface_id: Optional[NonEmptyString] +AwsEc2InstanceNetworkInterfacesList = List[AwsEc2InstanceNetworkInterfacesDetails] +class AwsEc2InstanceDetails(ASFFBaseModel): + """ +The details of an EC2 instance. + +:param type: The instance type of the instance. +:param image_id: The Amazon Machine Image (AMI) ID of the instance. +:param ip_v4_addresses: The IPv4 addresses associated with the instance. +:param ip_v6_addresses: The IPv6 addresses associated with the instance. +:param key_name: The key name associated with the instance. +:param iam_instance_profile_arn: The IAM profile ARN of the instance. +:param vpc_id: The identifier of the VPC that the instance was launched in. +:param subnet_id: The identifier of the subnet that the instance was launched in. +:param launched_at: Indicates when the instance was launched. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param network_interfaces: The identifiers of the network interfaces for the EC2 instance. The details for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails object. + +:return: AwsEc2InstanceDetails object + """ + type: Optional[NonEmptyString] + image_id: Optional[NonEmptyString] + ip_v4_addresses: Optional[StringList] + ip_v6_addresses: Optional[StringList] + key_name: Optional[NonEmptyString] + iam_instance_profile_arn: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + subnet_id: Optional[NonEmptyString] + launched_at: Optional[Iso8601Timestamp] + network_interfaces: Optional[AwsEc2InstanceNetworkInterfacesList] +class AwsEc2NetworkInterfaceAttachment(ASFFBaseModel): + """ +Information about the network interface attachment. + +:param attach_time: Indicates when the attachment initiated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param attachment_id: The identifier of the network interface attachment +:param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated. +:param device_index: The device index of the network interface attachment on the instance. +:param instance_id: The ID of the instance. +:param instance_owner_id: The Amazon Web Services account ID of the owner of the instance. +:param status: The attachment state. Valid values: attaching | attached | detaching | detached + +:return: AwsEc2NetworkInterfaceAttachment object + """ + attach_time: Optional[Iso8601Timestamp] + attachment_id: Optional[NonEmptyString] + delete_on_termination: Optional[Boolean] + device_index: Optional[Integer] + instance_id: Optional[NonEmptyString] + instance_owner_id: Optional[NonEmptyString] + status: Optional[NonEmptyString] +class AwsEc2NetworkInterfaceSecurityGroup(ASFFBaseModel): + """ +A security group associated with the network interface. - :param detailed_results_location: The path to the folder or file that contains the sensitive data. - :param result: The details about the sensitive data that was detected on the resource. +:param group_name: The name of the security group. +:param group_id: The ID of the security group. - :return: DataClassificationDetails object - """ +:return: AwsEc2NetworkInterfaceSecurityGroup object + """ + group_name: Optional[NonEmptyString] + group_id: Optional[NonEmptyString] +AwsEc2NetworkInterfaceSecurityGroupList = List[AwsEc2NetworkInterfaceSecurityGroup] +class AwsEc2NetworkInterfaceIpV6AddressDetail(ASFFBaseModel): + """ +Provides information about an IPV6 address that is associated with the network interface. - detailed_results_location: Optional[NonEmptyString] - result: Optional[ClassificationResult] +:param ip_v6_address: The IPV6 address. +:return: AwsEc2NetworkInterfaceIpV6AddressDetail object + """ + ip_v6_address: Optional[NonEmptyString] +AwsEc2NetworkInterfaceIpV6AddressList = List[AwsEc2NetworkInterfaceIpV6AddressDetail] +class AwsEc2NetworkInterfacePrivateIpAddressDetail(ASFFBaseModel): + """ +Provides information about a private IPv4 address that is with the network interface. -class AwsAutoScalingAutoScalingGroupDetails(ASFFBaseModel): - """ - Provides details about an auto scaling group. +:param private_ip_address: The IP address. +:param private_dns_name: The private DNS name for the IP address. - :param launch_configuration_name: The name of the launch configuration. - :param load_balancer_names: The list of load balancers associated with the group. - :param health_check_type: The service to use for the health checks. - :param health_check_grace_period: The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it checks the health status of an EC2 instance that has come into service. - :param created_time: Indicates when the auto scaling group was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:return: AwsEc2NetworkInterfacePrivateIpAddressDetail object + """ + private_ip_address: Optional[NonEmptyString] + private_dns_name: Optional[NonEmptyString] +AwsEc2NetworkInterfacePrivateIpAddressList = List[AwsEc2NetworkInterfacePrivateIpAddressDetail] +class AwsEc2NetworkInterfaceDetails(ASFFBaseModel): + """ +Details about the network interface + +:param attachment: The network interface attachment. +:param network_interface_id: The ID of the network interface. +:param security_groups: Security groups for the network interface. +:param source_dest_check: Indicates whether traffic to or from the instance is validated. +:param ip_v6_addresses: The IPv6 addresses associated with the network interface. +:param private_ip_addresses: The private IPv4 addresses associated with the network interface. +:param public_dns_name: The public DNS name of the network interface. +:param public_ip: The address of the Elastic IP address bound to the network interface. + +:return: AwsEc2NetworkInterfaceDetails object + """ + attachment: Optional[AwsEc2NetworkInterfaceAttachment] + network_interface_id: Optional[NonEmptyString] + security_groups: Optional[AwsEc2NetworkInterfaceSecurityGroupList] + source_dest_check: Optional[Boolean] + ip_v6_addresses: Optional[AwsEc2NetworkInterfaceIpV6AddressList] + private_ip_addresses: Optional[AwsEc2NetworkInterfacePrivateIpAddressList] + public_dns_name: Optional[NonEmptyString] + public_ip: Optional[NonEmptyString] +class AwsEc2SecurityGroupUserIdGroupPair(ASFFBaseModel): + """ +A relationship between a security group and a user. + +:param group_id: The ID of the security group. +:param group_name: The name of the security group. +:param peering_status: The status of a VPC peering connection, if applicable. +:param user_id: The ID of an Amazon Web Services account. For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned. [EC2-Classic] Required when adding or removing rules that reference a security group in another VPC. +:param vpc_id: The ID of the VPC for the referenced security group, if applicable. +:param vpc_peering_connection_id: The ID of the VPC peering connection, if applicable. + +:return: AwsEc2SecurityGroupUserIdGroupPair object + """ + group_id: Optional[NonEmptyString] + group_name: Optional[NonEmptyString] + peering_status: Optional[NonEmptyString] + user_id: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + vpc_peering_connection_id: Optional[NonEmptyString] +AwsEc2SecurityGroupUserIdGroupPairList = List[AwsEc2SecurityGroupUserIdGroupPair] +class AwsEc2SecurityGroupIpRange(ASFFBaseModel): + """ +A range of IPv4 addresses. - :return: AwsAutoScalingAutoScalingGroupDetails object - """ +:param cidr_ip: The IPv4 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv4 address, use the /32 prefix length. - launch_configuration_name: Optional[NonEmptyString] - load_balancer_names: Optional[StringList] - health_check_type: Optional[NonEmptyString] - health_check_grace_period: Optional[Integer] - created_time: Optional[Iso8601Timestamp] +:return: AwsEc2SecurityGroupIpRange object + """ + cidr_ip: Optional[NonEmptyString] +AwsEc2SecurityGroupIpRangeList = List[AwsEc2SecurityGroupIpRange] +class AwsEc2SecurityGroupIpv6Range(ASFFBaseModel): + """ +A range of IPv6 addresses. +:param cidr_ipv6: The IPv6 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv6 address, use the /128 prefix length. -class AwsCodeBuildProjectEnvironmentRegistryCredential(ASFFBaseModel): - """ - The credentials for access to a private registry. +:return: AwsEc2SecurityGroupIpv6Range object + """ + cidr_ipv6: Optional[NonEmptyString] +AwsEc2SecurityGroupIpv6RangeList = List[AwsEc2SecurityGroupIpv6Range] +class AwsEc2SecurityGroupPrefixListId(ASFFBaseModel): + """ +A prefix list ID. - :param credential: The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager. The credential can use the name of the credentials only if they exist in your current AWS Region. - :param credential_provider: The service that created the credentials to access a private Docker registry. The valid value, SECRETS_MANAGER, is for AWS Secrets Manager. +:param prefix_list_id: The ID of the prefix. - :return: AwsCodeBuildProjectEnvironmentRegistryCredential object - """ +:return: AwsEc2SecurityGroupPrefixListId object + """ + prefix_list_id: Optional[NonEmptyString] +AwsEc2SecurityGroupPrefixListIdList = List[AwsEc2SecurityGroupPrefixListId] +class AwsEc2SecurityGroupIpPermission(ASFFBaseModel): + """ +An IP permission for an EC2 security group. + +:param ip_protocol: The IP protocol name (tcp, udp, icmp, icmpv6) or number. [VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional. If you omit the port range, traffic for all types and codes is allowed. +:param from_port: The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. +:param to_port: The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes. +:param user_id_group_pairs: The security group and Amazon Web Services account ID pairs. +:param ip_ranges: The IPv4 ranges. +:param ipv6_ranges: The IPv6 ranges. +:param prefix_list_ids: [VPC only] The prefix list IDs for an Amazon Web Services service. With outbound rules, this is the Amazon Web Services service to access through a VPC endpoint from instances associated with the security group. + +:return: AwsEc2SecurityGroupIpPermission object + """ + ip_protocol: Optional[NonEmptyString] + from_port: Optional[Integer] + to_port: Optional[Integer] + user_id_group_pairs: Optional[AwsEc2SecurityGroupUserIdGroupPairList] + ip_ranges: Optional[AwsEc2SecurityGroupIpRangeList] + ipv6_ranges: Optional[AwsEc2SecurityGroupIpv6RangeList] + prefix_list_ids: Optional[AwsEc2SecurityGroupPrefixListIdList] +AwsEc2SecurityGroupIpPermissionList = List[AwsEc2SecurityGroupIpPermission] +class AwsEc2SecurityGroupDetails(ASFFBaseModel): + """ +Details about an EC2 security group. + +:param group_name: The name of the security group. +:param group_id: The ID of the security group. +:param owner_id: The Amazon Web Services account ID of the owner of the security group. +:param vpc_id: [VPC only] The ID of the VPC for the security group. +:param ip_permissions: The inbound rules associated with the security group. +:param ip_permissions_egress: [VPC only] The outbound rules associated with the security group. + +:return: AwsEc2SecurityGroupDetails object + """ + group_name: Optional[NonEmptyString] + group_id: Optional[NonEmptyString] + owner_id: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + ip_permissions: Optional[AwsEc2SecurityGroupIpPermissionList] + ip_permissions_egress: Optional[AwsEc2SecurityGroupIpPermissionList] +class AwsEc2VolumeAttachment(ASFFBaseModel): + """ +An attachment to an Amazon EC2 volume. + +:param attach_time: The datetime when the attachment initiated. +:param delete_on_termination: Whether the EBS volume is deleted when the EC2 instance is terminated. +:param instance_id: The identifier of the EC2 instance. +:param status: The attachment state of the volume. + +:return: AwsEc2VolumeAttachment object + """ + attach_time: Optional[Iso8601Timestamp] + delete_on_termination: Optional[Boolean] + instance_id: Optional[NonEmptyString] + status: Optional[NonEmptyString] +AwsEc2VolumeAttachmentList = List[AwsEc2VolumeAttachment] +class AwsEc2VolumeDetails(ASFFBaseModel): + """ +Details about an EC2 volume. + +:param create_time: Indicates when the volume was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param encrypted: Whether the volume is encrypted. +:param size: The size of the volume, in GiBs. +:param snapshot_id: The snapshot from which the volume was created. +:param status: The volume state. +:param kms_key_id: The ARN of the KMS key that was used to protect the volume encryption key for the volume. +:param attachments: The volume attachments. + +:return: AwsEc2VolumeDetails object + """ + create_time: Optional[Iso8601Timestamp] + encrypted: Optional[Boolean] + size: Optional[Integer] + snapshot_id: Optional[NonEmptyString] + status: Optional[NonEmptyString] + kms_key_id: Optional[NonEmptyString] + attachments: Optional[AwsEc2VolumeAttachmentList] +class CidrBlockAssociation(ASFFBaseModel): + """ +An IPv4 CIDR block association. + +:param association_id: The association ID for the IPv4 CIDR block. +:param cidr_block: The IPv4 CIDR block. +:param cidr_block_state: Information about the state of the IPv4 CIDR block. + +:return: CidrBlockAssociation object + """ + association_id: Optional[NonEmptyString] + cidr_block: Optional[NonEmptyString] + cidr_block_state: Optional[NonEmptyString] +CidrBlockAssociationList = List[CidrBlockAssociation] +class Ipv6CidrBlockAssociation(ASFFBaseModel): + """ +An IPV6 CIDR block association. + +:param association_id: The association ID for the IPv6 CIDR block. +:param ipv6_cidr_block: The IPv6 CIDR block. +:param cidr_block_state: Information about the state of the CIDR block. + +:return: Ipv6CidrBlockAssociation object + """ + association_id: Optional[NonEmptyString] + ipv6_cidr_block: Optional[NonEmptyString] + cidr_block_state: Optional[NonEmptyString] +Ipv6CidrBlockAssociationList = List[Ipv6CidrBlockAssociation] +class AwsEc2VpcDetails(ASFFBaseModel): + """ +Details about an EC2 VPC. + +:param cidr_block_association_set: Information about the IPv4 CIDR blocks associated with the VPC. +:param ipv6_cidr_block_association_set: Information about the IPv6 CIDR blocks associated with the VPC. +:param dhcp_options_id: The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options that are associated with the VPC. If the default options are associated with the VPC, then this is default. +:param state: The current state of the VPC. + +:return: AwsEc2VpcDetails object + """ + cidr_block_association_set: Optional[CidrBlockAssociationList] + ipv6_cidr_block_association_set: Optional[Ipv6CidrBlockAssociationList] + dhcp_options_id: Optional[NonEmptyString] + state: Optional[NonEmptyString] +class AwsEc2EipDetails(ASFFBaseModel): + """ +Information about an Elastic IP address. + +:param instance_id: The identifier of the EC2 instance. +:param public_ip: A public IP address that is associated with the EC2 instance. +:param allocation_id: The identifier that Amazon Web Services assigns to represent the allocation of the Elastic IP address for use with Amazon VPC. +:param association_id: The identifier that represents the association of the Elastic IP address with an EC2 instance. +:param domain: The domain in which to allocate the address. If the address is for use with EC2 instances in a VPC, then Domain is vpc. Otherwise, Domain is standard. +:param public_ipv4_pool: The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP address from the address pool. +:param network_border_group: The name of the location from which the Elastic IP address is advertised. +:param network_interface_id: The identifier of the network interface. +:param network_interface_owner_id: The Amazon Web Services account ID of the owner of the network interface. +:param private_ip_address: The private IP address that is associated with the Elastic IP address. + +:return: AwsEc2EipDetails object + """ + instance_id: Optional[NonEmptyString] + public_ip: Optional[NonEmptyString] + allocation_id: Optional[NonEmptyString] + association_id: Optional[NonEmptyString] + domain: Optional[NonEmptyString] + public_ipv4_pool: Optional[NonEmptyString] + network_border_group: Optional[NonEmptyString] + network_interface_id: Optional[NonEmptyString] + network_interface_owner_id: Optional[NonEmptyString] + private_ip_address: Optional[NonEmptyString] +class AwsEc2SubnetDetails(ASFFBaseModel): + """ +Contains information about a subnet in Amazon EC2. + +:param assign_ipv6_address_on_creation: Whether to assign an IPV6 address to a network interface that is created in this subnet. +:param availability_zone: The Availability Zone for the subnet. +:param availability_zone_id: The identifier of the Availability Zone for the subnet. +:param available_ip_address_count: The number of available IPV4 addresses in the subnet. Does not include addresses for stopped instances. +:param cidr_block: The IPV4 CIDR block that is assigned to the subnet. +:param default_for_az: Whether this subnet is the default subnet for the Availability Zone. +:param map_public_ip_on_launch: Whether instances in this subnet receive a public IP address. +:param owner_id: The identifier of the Amazon Web Services account that owns the subnet. +:param state: The current state of the subnet. +:param subnet_arn: The ARN of the subnet. +:param subnet_id: The identifier of the subnet. +:param vpc_id: The identifier of the VPC that contains the subnet. +:param ipv6_cidr_block_association_set: The IPV6 CIDR blocks that are associated with the subnet. + +:return: AwsEc2SubnetDetails object + """ + assign_ipv6_address_on_creation: Optional[Boolean] + availability_zone: Optional[NonEmptyString] + availability_zone_id: Optional[NonEmptyString] + available_ip_address_count: Optional[Integer] + cidr_block: Optional[NonEmptyString] + default_for_az: Optional[Boolean] + map_public_ip_on_launch: Optional[Boolean] + owner_id: Optional[NonEmptyString] + state: Optional[NonEmptyString] + subnet_arn: Optional[NonEmptyString] + subnet_id: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + ipv6_cidr_block_association_set: Optional[Ipv6CidrBlockAssociationList] +class AwsEc2NetworkAclAssociation(ASFFBaseModel): + """ +An association between the network ACL and a subnet. + +:param network_acl_association_id: The identifier of the association between the network ACL and the subnet. +:param network_acl_id: The identifier of the network ACL. +:param subnet_id: The identifier of the subnet that is associated with the network ACL. + +:return: AwsEc2NetworkAclAssociation object + """ + network_acl_association_id: Optional[NonEmptyString] + network_acl_id: Optional[NonEmptyString] + subnet_id: Optional[NonEmptyString] +AwsEc2NetworkAclAssociationList = List[AwsEc2NetworkAclAssociation] +class IcmpTypeCode(ASFFBaseModel): + """ +An Internet Control Message Protocol (ICMP) type and code. + +:param code: The ICMP code for which to deny or allow access. To deny or allow all codes, use the value -1. +:param type: The ICMP type for which to deny or allow access. To deny or allow all types, use the value -1. + +:return: IcmpTypeCode object + """ + code: Optional[Integer] + type: Optional[Integer] +class PortRangeFromTo(ASFFBaseModel): + """ +A range of ports. + +:param from: The first port in the port range. +:param to: The last port in the port range. + +:return: PortRangeFromTo object + """ + from: Optional[Integer] + to: Optional[Integer] +class AwsEc2NetworkAclEntry(ASFFBaseModel): + """ +A rule for the network ACL. Each rule allows or denies access based on the IP address, traffic direction, port, and protocol. + +:param cidr_block: The IPV4 network range for which to deny or allow access. +:param egress: Whether the rule is an egress rule. An egress rule is a rule that applies to traffic that leaves the subnet. +:param icmp_type_code: The Internet Control Message Protocol (ICMP) type and code for which to deny or allow access. +:param ipv6_cidr_block: The IPV6 network range for which to deny or allow access. +:param port_range: For TCP or UDP protocols, the range of ports that the rule applies to. +:param protocol: The protocol that the rule applies to. To deny or allow access to all protocols, use the value -1. +:param rule_action: Whether the rule is used to allow access or deny access. +:param rule_number: The rule number. The rules are processed in order by their number. + +:return: AwsEc2NetworkAclEntry object + """ + cidr_block: Optional[NonEmptyString] + egress: Optional[Boolean] + icmp_type_code: Optional[IcmpTypeCode] + ipv6_cidr_block: Optional[NonEmptyString] + port_range: Optional[PortRangeFromTo] + protocol: Optional[NonEmptyString] + rule_action: Optional[NonEmptyString] + rule_number: Optional[Integer] +AwsEc2NetworkAclEntryList = List[AwsEc2NetworkAclEntry] +class AwsEc2NetworkAclDetails(ASFFBaseModel): + """ +Contains details about an EC2 network access control list (ACL). + +:param is_default: Whether this is the default network ACL for the VPC. +:param network_acl_id: The identifier of the network ACL. +:param owner_id: The identifier of the Amazon Web Services account that owns the network ACL. +:param vpc_id: The identifier of the VPC for the network ACL. +:param associations: Associations between the network ACL and subnets. +:param entries: The set of rules in the network ACL. + +:return: AwsEc2NetworkAclDetails object + """ + is_default: Optional[Boolean] + network_acl_id: Optional[NonEmptyString] + owner_id: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + associations: Optional[AwsEc2NetworkAclAssociationList] + entries: Optional[AwsEc2NetworkAclEntryList] +class AvailabilityZone(ASFFBaseModel): + """ +Information about an Availability Zone. - credential: Optional[NonEmptyString] - credential_provider: Optional[NonEmptyString] +:param zone_name: The name of the Availability Zone. +:param subnet_id: The ID of the subnet. You can specify one subnet per Availability Zone. +:return: AvailabilityZone object + """ + zone_name: Optional[NonEmptyString] + subnet_id: Optional[NonEmptyString] +AvailabilityZones = List[AvailabilityZone] +SecurityGroups = List[NonEmptyString] +class LoadBalancerState(ASFFBaseModel): + """ +Information about the state of the load balancer. + +:param code: The state code. The initial state of the load balancer is provisioning. After the load balancer is fully set up and ready to route traffic, its state is active. If the load balancer could not be set up, its state is failed. +:param reason: A description of the state. + +:return: LoadBalancerState object + """ + code: Optional[NonEmptyString] + reason: Optional[NonEmptyString] +class AwsElbv2LoadBalancerAttribute(ASFFBaseModel): + """ +A load balancer attribute. + +:param key: The name of the load balancer attribute. +:param value: The value of the load balancer attribute. + +:return: AwsElbv2LoadBalancerAttribute object + """ + key: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsElbv2LoadBalancerAttributes = List[AwsElbv2LoadBalancerAttribute] +class AwsElbv2LoadBalancerDetails(ASFFBaseModel): + """ +Information about a load balancer. + +:param availability_zones: The Availability Zones for the load balancer. +:param canonical_hosted_zone_id: The ID of the Amazon Route 53 hosted zone associated with the load balancer. +:param created_time: Indicates when the load balancer was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param dns_name: The public DNS name of the load balancer. +:param ip_address_type: The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). +:param scheme: The nodes of an Internet-facing load balancer have public IP addresses. +:param security_groups: The IDs of the security groups for the load balancer. +:param state: The state of the load balancer. +:param type: The type of load balancer. +:param vpc_id: The ID of the VPC for the load balancer. +:param load_balancer_attributes: Attributes of the load balancer. + +:return: AwsElbv2LoadBalancerDetails object + """ + availability_zones: Optional[AvailabilityZones] + canonical_hosted_zone_id: Optional[NonEmptyString] + created_time: Optional[Iso8601Timestamp] + dns_name: Optional[NonEmptyString] + ip_address_type: Optional[NonEmptyString] + scheme: Optional[NonEmptyString] + security_groups: Optional[SecurityGroups] + state: Optional[LoadBalancerState] + type: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + load_balancer_attributes: Optional[AwsElbv2LoadBalancerAttributes] +class AwsElasticBeanstalkEnvironmentEnvironmentLink(ASFFBaseModel): + """ +Contains information about a link to another environment that is in the same group. + +:param environment_name: The name of the linked environment. +:param link_name: The name of the environment link. + +:return: AwsElasticBeanstalkEnvironmentEnvironmentLink object + """ + environment_name: Optional[NonEmptyString] + link_name: Optional[NonEmptyString] +AwsElasticBeanstalkEnvironmentEnvironmentLinks = List[AwsElasticBeanstalkEnvironmentEnvironmentLink] +class AwsElasticBeanstalkEnvironmentOptionSetting(ASFFBaseModel): + """ +A configuration option setting for the environment. + +:param namespace: The type of resource that the configuration option is associated with. +:param option_name: The name of the option. +:param resource_name: The name of the resource. +:param value: The value of the configuration setting. + +:return: AwsElasticBeanstalkEnvironmentOptionSetting object + """ + namespace: Optional[NonEmptyString] + option_name: Optional[NonEmptyString] + resource_name: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsElasticBeanstalkEnvironmentOptionSettings = List[AwsElasticBeanstalkEnvironmentOptionSetting] +class AwsElasticBeanstalkEnvironmentTier(ASFFBaseModel): + """ +Contains information about the tier of the environment. + +:param name: The name of the environment tier. +:param type: The type of environment tier. +:param version: The version of the environment tier. + +:return: AwsElasticBeanstalkEnvironmentTier object + """ + name: Optional[NonEmptyString] + type: Optional[NonEmptyString] + version: Optional[NonEmptyString] +class AwsElasticBeanstalkEnvironmentDetails(ASFFBaseModel): + """ +Contains details about an Elastic Beanstalk environment. + +:param application_name: The name of the application that is associated with the environment. +:param cname: The URL to the CNAME for this environment. +:param date_created: The creation date for this environment. +:param date_updated: The date when this environment was last modified. +:param description: A description of the environment. +:param endpoint_url: For load-balanced, autoscaling environments, the URL to the load balancer. For single-instance environments, the IP address of the instance. +:param environment_arn: The ARN of the environment. +:param environment_id: The identifier of the environment. +:param environment_links: Links to other environments in the same group. +:param environment_name: The name of the environment. +:param option_settings: The configuration setting for the environment. +:param platform_arn: The ARN of the platform version for the environment. +:param solution_stack_name: The name of the solution stack that is deployed with the environment. +:param status: The current operational status of the environment. +:param tier: The tier of the environment. +:param version_label: The application version of the environment. + +:return: AwsElasticBeanstalkEnvironmentDetails object + """ + application_name: Optional[NonEmptyString] + cname: Optional[NonEmptyString] + date_created: Optional[NonEmptyString] + date_updated: Optional[NonEmptyString] + description: Optional[NonEmptyString] + endpoint_url: Optional[NonEmptyString] + environment_arn: Optional[NonEmptyString] + environment_id: Optional[NonEmptyString] + environment_links: Optional[AwsElasticBeanstalkEnvironmentEnvironmentLinks] + environment_name: Optional[NonEmptyString] + option_settings: Optional[AwsElasticBeanstalkEnvironmentOptionSettings] + platform_arn: Optional[NonEmptyString] + solution_stack_name: Optional[NonEmptyString] + status: Optional[NonEmptyString] + tier: Optional[AwsElasticBeanstalkEnvironmentTier] + version_label: Optional[NonEmptyString] +class AwsElasticsearchDomainDomainEndpointOptions(ASFFBaseModel): + """ +Additional options for the domain endpoint, such as whether to require HTTPS for all traffic. -class AwsCodeBuildProjectEnvironment(ASFFBaseModel): - """ - Information about the build environment for this build project. +:param enforce_https: Whether to require that all traffic to the domain arrive over HTTPS. +:param tls_security_policy: The TLS security policy to apply to the HTTPS endpoint of the OpenSearch domain. Valid values: Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2 - :param certificate: The certificate to use with this build project. - :param image_pull_credentials_type: The type of credentials AWS CodeBuild uses to pull images in your build. Valid values: CODEBUILD specifies that AWS CodeBuild uses its own credentials. This requires that you modify your ECR repository policy to trust the AWS CodeBuild service principal. SERVICE_ROLE specifies that AWS CodeBuild uses your build project's service role. When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials. - :param registry_credential: The credentials for access to a private registry. - :param type: The type of build environment to use for related builds. The environment type ARM_CONTAINER is available only in Regions US East (N. Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt). The environment type LINUX_CONTAINER with compute type build.general1.2xlarge is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). The environment type LINUX_GPU_CONTAINER is available only in Regions US East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China (Beijing), and China (Ningxia). Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER | ARM_CONTAINER +:return: AwsElasticsearchDomainDomainEndpointOptions object + """ + enforce_https: Optional[Boolean] + tls_security_policy: Optional[NonEmptyString] +FieldMap = Dict[NonEmptyString, NonEmptyString] +class AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails(ASFFBaseModel): + """ +Configuration options for zone awareness. + +:param availability_zone_count: he number of Availability Zones that the domain uses. Valid values are 2 and 3. The default is 2. + +:return: AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails object + """ + availability_zone_count: Optional[Integer] +class AwsElasticsearchDomainElasticsearchClusterConfigDetails(ASFFBaseModel): + """ +details about the configuration of an OpenSearch cluster. + +:param dedicated_master_count: The number of instances to use for the master node. If this attribute is specified, then DedicatedMasterEnabled must be true. +:param dedicated_master_enabled: Whether to use a dedicated master node for the Elasticsearch domain. A dedicated master node performs cluster management tasks, but doesn't hold data or respond to data upload requests. +:param dedicated_master_type: The hardware configuration of the computer that hosts the dedicated master node. For example, m3.medium.elasticsearch. If this attribute is specified, then DedicatedMasterEnabled must be true. +:param instance_count: The number of data nodes to use in the Elasticsearch domain. +:param instance_type: The instance type for your data nodes. For example, m3.medium.elasticsearch. +:param zone_awareness_config: Configuration options for zone awareness. Provided if ZoneAwarenessEnabled is true. +:param zone_awareness_enabled: Whether to enable zone awareness for the Elasticsearch domain. When zone awareness is enabled, OpenSearch allocates the cluster's nodes and replica index shards across Availability Zones in the same Region. This prevents data loss and minimizes downtime if a node or data center fails. + +:return: AwsElasticsearchDomainElasticsearchClusterConfigDetails object + """ + dedicated_master_count: Optional[Integer] + dedicated_master_enabled: Optional[Boolean] + dedicated_master_type: Optional[NonEmptyString] + instance_count: Optional[Integer] + instance_type: Optional[NonEmptyString] + zone_awareness_config: Optional[AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails] + zone_awareness_enabled: Optional[Boolean] +class AwsElasticsearchDomainEncryptionAtRestOptions(ASFFBaseModel): + """ +Details about the configuration for encryption at rest. + +:param enabled: Whether encryption at rest is enabled. +:param kms_key_id: The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a. + +:return: AwsElasticsearchDomainEncryptionAtRestOptions object + """ + enabled: Optional[Boolean] + kms_key_id: Optional[NonEmptyString] +class AwsElasticsearchDomainLogPublishingOptionsLogConfig(ASFFBaseModel): + """ +The log configuration. + +:param cloud_watch_logs_log_group_arn: The ARN of the CloudWatch Logs group to publish the logs to. +:param enabled: Whether the log publishing is enabled. + +:return: AwsElasticsearchDomainLogPublishingOptionsLogConfig object + """ + cloud_watch_logs_log_group_arn: Optional[NonEmptyString] + enabled: Optional[Boolean] +class AwsElasticsearchDomainLogPublishingOptions(ASFFBaseModel): + """ +configures the CloudWatch Logs to publish for the Elasticsearch domain. + +:param index_slow_logs: Configures the OpenSearch index logs publishing. +:param search_slow_logs: Configures the OpenSearch search slow log publishing. + +:return: AwsElasticsearchDomainLogPublishingOptions object + """ + index_slow_logs: Optional[AwsElasticsearchDomainLogPublishingOptionsLogConfig] + search_slow_logs: Optional[AwsElasticsearchDomainLogPublishingOptionsLogConfig] + audit_logs: Optional[AwsElasticsearchDomainLogPublishingOptionsLogConfig] +class AwsElasticsearchDomainNodeToNodeEncryptionOptions(ASFFBaseModel): + """ +Details about the configuration for node-to-node encryption. + +:param enabled: Whether node-to-node encryption is enabled. + +:return: AwsElasticsearchDomainNodeToNodeEncryptionOptions object + """ + enabled: Optional[Boolean] +class AwsElasticsearchDomainServiceSoftwareOptions(ASFFBaseModel): + """ +Information about the state of the domain relative to the latest service software. + +:param automated_update_date: The epoch time when the deployment window closes for required updates. After this time, Amazon OpenSearch Service schedules the software upgrade automatically. +:param cancellable: Whether a request to update the domain can be canceled. +:param current_version: The version of the service software that is currently installed on the domain. +:param description: A more detailed description of the service software status. +:param new_version: The most recent version of the service software. +:param update_available: Whether a service software update is available for the domain. +:param update_status: The status of the service software update. + +:return: AwsElasticsearchDomainServiceSoftwareOptions object + """ + automated_update_date: Optional[NonEmptyString] + cancellable: Optional[Boolean] + current_version: Optional[NonEmptyString] + description: Optional[NonEmptyString] + new_version: Optional[NonEmptyString] + update_available: Optional[Boolean] + update_status: Optional[NonEmptyString] +class AwsElasticsearchDomainVPCOptions(ASFFBaseModel): + """ +Information that OpenSearch derives based on VPCOptions for the domain. + +:param availability_zones: The list of Availability Zones associated with the VPC subnets. +:param security_group_ids: The list of security group IDs associated with the VPC endpoints for the domain. +:param subnet_ids: A list of subnet IDs associated with the VPC endpoints for the domain. +:param vpc_id: ID for the VPC. + +:return: AwsElasticsearchDomainVPCOptions object + """ + availability_zones: Optional[NonEmptyStringList] + security_group_ids: Optional[NonEmptyStringList] + subnet_ids: Optional[NonEmptyStringList] + vpc_id: Optional[NonEmptyString] +class AwsElasticsearchDomainDetails(ASFFBaseModel): + """ +Information about an Elasticsearch domain. + +:param access_policies: IAM policy document specifying the access policies for the new Elasticsearch domain. +:param domain_endpoint_options: Additional options for the domain endpoint. +:param domain_id: Unique identifier for an Elasticsearch domain. +:param domain_name: Name of an Elasticsearch domain. Domain names are unique across all domains owned by the same account within an Amazon Web Services Region. Domain names must start with a lowercase letter and must be between 3 and 28 characters. Valid characters are a-z (lowercase only), 0-9, and – (hyphen). +:param endpoint: Domain-specific endpoint used to submit index, search, and data upload requests to an Elasticsearch domain. The endpoint is a service URL. +:param endpoints: The key-value pair that exists if the Elasticsearch domain uses VPC endpoints. +:param elasticsearch_version: OpenSearch version. +:param elasticsearch_cluster_config: Information about an OpenSearch cluster configuration. +:param encryption_at_rest_options: Details about the configuration for encryption at rest. +:param log_publishing_options: Configures the CloudWatch Logs to publish for the Elasticsearch domain. +:param node_to_node_encryption_options: Details about the configuration for node-to-node encryption. +:param service_software_options: Information about the status of a domain relative to the latest service software. +:param vpc_options: Information that OpenSearch derives based on VPCOptions for the domain. + +:return: AwsElasticsearchDomainDetails object + """ + access_policies: Optional[NonEmptyString] + domain_endpoint_options: Optional[AwsElasticsearchDomainDomainEndpointOptions] + domain_id: Optional[NonEmptyString] + domain_name: Optional[NonEmptyString] + endpoint: Optional[NonEmptyString] + endpoints: Optional[FieldMap] + elasticsearch_version: Optional[NonEmptyString] + elasticsearch_cluster_config: Optional[AwsElasticsearchDomainElasticsearchClusterConfigDetails] + encryption_at_rest_options: Optional[AwsElasticsearchDomainEncryptionAtRestOptions] + log_publishing_options: Optional[AwsElasticsearchDomainLogPublishingOptions] + node_to_node_encryption_options: Optional[AwsElasticsearchDomainNodeToNodeEncryptionOptions] + service_software_options: Optional[AwsElasticsearchDomainServiceSoftwareOptions] + vpc_options: Optional[AwsElasticsearchDomainVPCOptions] +class AwsS3BucketServerSideEncryptionByDefault(ASFFBaseModel): + """ +Specifies the default server-side encryption to apply to new objects in the bucket. - :return: AwsCodeBuildProjectEnvironment object - """ +:param sse_algorithm: Server-side encryption algorithm to use for the default encryption. +:param kms_master_key_id: KMS key ID to use for the default encryption. - certificate: Optional[NonEmptyString] - image_pull_credentials_type: Optional[NonEmptyString] - registry_credential: Optional[AwsCodeBuildProjectEnvironmentRegistryCredential] - type: Optional[NonEmptyString] +:return: AwsS3BucketServerSideEncryptionByDefault object + """ + sse_algorithm: Optional[NonEmptyString] + kms_master_key_id: Optional[NonEmptyString] +class AwsS3BucketServerSideEncryptionRule(ASFFBaseModel): + """ +An encryption rule to apply to the S3 bucket. +:param apply_server_side_encryption_by_default: Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT object request doesn't specify any server-side encryption, this default encryption is applied. -class AwsCodeBuildProjectSource(ASFFBaseModel): - """ - Information about the build input source code for this build project. +:return: AwsS3BucketServerSideEncryptionRule object + """ + apply_server_side_encryption_by_default: Optional[AwsS3BucketServerSideEncryptionByDefault] +AwsS3BucketServerSideEncryptionRules = List[AwsS3BucketServerSideEncryptionRule] +class AwsS3BucketServerSideEncryptionConfiguration(ASFFBaseModel): + """ +The encryption configuration for the S3 bucket. + +:param rules: The encryption rules that are applied to the S3 bucket. + +:return: AwsS3BucketServerSideEncryptionConfiguration object + """ + rules: Optional[AwsS3BucketServerSideEncryptionRules] +class AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails(ASFFBaseModel): + """ +Information about what Amazon S3 does when a multipart upload is incomplete. + +:param days_after_initiation: The number of days after which Amazon S3 cancels an incomplete multipart upload. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails object + """ + days_after_initiation: Optional[Integer] +class AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails(ASFFBaseModel): + """ +A tag that is assigned to matching objects. + +:param key: The tag key. +:param value: The tag value. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails object + """ + key: Optional[NonEmptyString] + value: Optional[NonEmptyString] +class AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails(ASFFBaseModel): + """ +A value to use for the filter. + +:param prefix: Prefix text for matching objects. +:param tag: A tag that is assigned to matching objects. +:param type: The type of filter value. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails object + """ + prefix: Optional[NonEmptyString] + tag: Optional[AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails] + type: Optional[NonEmptyString] +AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsList = List[AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails] +class AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails(ASFFBaseModel): + """ +A tag filter. + +:param key: The tag key. +:param value: The tag value + +:return: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails object + """ + key: Optional[NonEmptyString] + value: Optional[NonEmptyString] +class AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails(ASFFBaseModel): + """ +The configuration for the filter. + +:param operands: The values to use for the filter. +:param prefix: A prefix filter. +:param tag: A tag filter. +:param type: Whether to use AND or OR to join the operands. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails object + """ + operands: Optional[AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsList] + prefix: Optional[NonEmptyString] + tag: Optional[AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails] + type: Optional[NonEmptyString] +class AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails(ASFFBaseModel): + """ +Identifies the objects that a rule applies to. + +:param predicate: The configuration for the filter. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails object + """ + predicate: Optional[AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails] +class AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails(ASFFBaseModel): + """ +A transition rule that describes when noncurrent objects transition to a specified storage class. + +:param days: The number of days that an object is noncurrent before Amazon S3 can perform the associated action. +:param storage_class: The class of storage to change the object to after the object is noncurrent for the specified number of days. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails object + """ + days: Optional[Integer] + storage_class: Optional[NonEmptyString] +AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList = List[AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails] +class AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails(ASFFBaseModel): + """ +A rule for when objects transition to specific storage classes. + +:param date: A date on which to transition objects to the specified storage class. If you provide Date, you cannot provide Days. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param days: The number of days after which to transition the object to the specified storage class. If you provide Days, you cannot provide Date. +:param storage_class: The storage class to transition the object to. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails object + """ + date: Optional[NonEmptyString] + days: Optional[Integer] + storage_class: Optional[NonEmptyString] +AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList = List[AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails] +class AwsS3BucketBucketLifecycleConfigurationRulesDetails(ASFFBaseModel): + """ +Configuration for a lifecycle rule. + +:param abort_incomplete_multipart_upload: How Amazon S3 responds when a multipart upload is incomplete. Specifically, provides a number of days before Amazon S3 cancels the entire upload. +:param expiration_date: The date when objects are moved or deleted. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param expiration_in_days: The length in days of the lifetime for objects that are subject to the rule. +:param expired_object_delete_marker: Whether Amazon S3 removes a delete marker that has no noncurrent versions. If set to true, the delete marker is expired. If set to false, the policy takes no action. If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays or ExpirationDate. +:param filter: Identifies the objects that a rule applies to. +:param id: The unique identifier of the rule. +:param noncurrent_version_expiration_in_days: The number of days that an object is noncurrent before Amazon S3 can perform the associated action. +:param noncurrent_version_transitions: Transition rules that describe when noncurrent objects transition to a specified storage class. +:param prefix: A prefix that identifies one or more objects that the rule applies to. +:param status: The current status of the rule. Indicates whether the rule is currently being applied. +:param transitions: Transition rules that indicate when objects transition to a specified storage class. + +:return: AwsS3BucketBucketLifecycleConfigurationRulesDetails object + """ + abort_incomplete_multipart_upload: Optional[AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails] + expiration_date: Optional[NonEmptyString] + expiration_in_days: Optional[Integer] + expired_object_delete_marker: Optional[Boolean] + filter: Optional[AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails] + id: Optional[NonEmptyString] + noncurrent_version_expiration_in_days: Optional[Integer] + noncurrent_version_transitions: Optional[AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList] + prefix: Optional[NonEmptyString] + status: Optional[NonEmptyString] + transitions: Optional[AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList] +AwsS3BucketBucketLifecycleConfigurationRulesList = List[AwsS3BucketBucketLifecycleConfigurationRulesDetails] +class AwsS3BucketBucketLifecycleConfigurationDetails(ASFFBaseModel): + """ +The lifecycle configuration for the objects in the S3 bucket. + +:param rules: The lifecycle rules. + +:return: AwsS3BucketBucketLifecycleConfigurationDetails object + """ + rules: Optional[AwsS3BucketBucketLifecycleConfigurationRulesList] +class AwsS3AccountPublicAccessBlockDetails(ASFFBaseModel): + """ +provides information about the Amazon S3 Public Access Block configuration for accounts. + +:param block_public_acls: Indicates whether to reject calls to update an S3 bucket if the calls include a public access control list (ACL). +:param block_public_policy: Indicates whether to reject calls to update the access policy for an S3 bucket or access point if the policy allows public access. +:param ignore_public_acls: Indicates whether Amazon S3 ignores public ACLs that are associated with an S3 bucket. +:param restrict_public_buckets: Indicates whether to restrict access to an access point or S3 bucket that has a public policy to only Amazon Web Services service principals and authorized users within the S3 bucket owner's account. + +:return: AwsS3AccountPublicAccessBlockDetails object + """ + block_public_acls: Optional[Boolean] + block_public_policy: Optional[Boolean] + ignore_public_acls: Optional[Boolean] + restrict_public_buckets: Optional[Boolean] +class AwsS3BucketLoggingConfiguration(ASFFBaseModel): + """ +Information about logging for the S3 bucket + +:param destination_bucket_name: The name of the S3 bucket where log files for the S3 bucket are stored. +:param log_file_prefix: The prefix added to log files for the S3 bucket. + +:return: AwsS3BucketLoggingConfiguration object + """ + destination_bucket_name: Optional[NonEmptyString] + log_file_prefix: Optional[NonEmptyString] +class AwsS3BucketWebsiteConfigurationRedirectTo(ASFFBaseModel): + """ +The redirect behavior for requests to the website. + +:param hostname: The name of the host to redirect requests to. +:param protocol: The protocol to use when redirecting requests. By default, uses the same protocol as the original request. + +:return: AwsS3BucketWebsiteConfigurationRedirectTo object + """ + hostname: Optional[NonEmptyString] + protocol: Optional[NonEmptyString] +class AwsS3BucketWebsiteConfigurationRoutingRuleCondition(ASFFBaseModel): + """ +The condition that must be met in order to apply the routing rule. + +:param http_error_code_returned_equals: Indicates to redirect the request if the HTTP error code matches this value. +:param key_prefix_equals: Indicates to redirect the request if the key prefix matches this value. + +:return: AwsS3BucketWebsiteConfigurationRoutingRuleCondition object + """ + http_error_code_returned_equals: Optional[NonEmptyString] + key_prefix_equals: Optional[NonEmptyString] +class AwsS3BucketWebsiteConfigurationRoutingRuleRedirect(ASFFBaseModel): + """ +The rules to redirect the request if the condition in Condition is met. + +:param hostname: The host name to use in the redirect request. +:param http_redirect_code: The HTTP redirect code to use in the response. +:param protocol: The protocol to use to redirect the request. By default, uses the protocol from the original request. +:param replace_key_prefix_with: The object key prefix to use in the redirect request. Cannot be provided if ReplaceKeyWith is present. +:param replace_key_with: The specific object key to use in the redirect request. Cannot be provided if ReplaceKeyPrefixWith is present. + +:return: AwsS3BucketWebsiteConfigurationRoutingRuleRedirect object + """ + hostname: Optional[NonEmptyString] + http_redirect_code: Optional[NonEmptyString] + protocol: Optional[NonEmptyString] + replace_key_prefix_with: Optional[NonEmptyString] + replace_key_with: Optional[NonEmptyString] +class AwsS3BucketWebsiteConfigurationRoutingRule(ASFFBaseModel): + """ +A rule for redirecting requests to the website. + +:param condition: Provides the condition that must be met in order to apply the routing rule. +:param redirect: Provides the rules to redirect the request if the condition in Condition is met. + +:return: AwsS3BucketWebsiteConfigurationRoutingRule object + """ + condition: Optional[AwsS3BucketWebsiteConfigurationRoutingRuleCondition] + redirect: Optional[AwsS3BucketWebsiteConfigurationRoutingRuleRedirect] +AwsS3BucketWebsiteConfigurationRoutingRules = List[AwsS3BucketWebsiteConfigurationRoutingRule] +class AwsS3BucketWebsiteConfiguration(ASFFBaseModel): + """ +Website parameters for the S3 bucket. + +:param error_document: The name of the error document for the website. +:param index_document_suffix: The name of the index document for the website. +:param redirect_all_requests_to: The redirect behavior for requests to the website. +:param routing_rules: The rules for applying redirects for requests to the website. + +:return: AwsS3BucketWebsiteConfiguration object + """ + error_document: Optional[NonEmptyString] + index_document_suffix: Optional[NonEmptyString] + redirect_all_requests_to: Optional[AwsS3BucketWebsiteConfigurationRedirectTo] + routing_rules: Optional[AwsS3BucketWebsiteConfigurationRoutingRules] +AwsS3BucketNotificationConfigurationEvents = List[NonEmptyString] +AwsS3BucketNotificationConfigurationS3KeyFilterRuleName = constr(regex="^(Prefix|Suffix)$") +class AwsS3BucketNotificationConfigurationS3KeyFilterRule(ASFFBaseModel): + """ +Details for a filter rule. + +:param name: Indicates whether the filter is based on the prefix or suffix of the Amazon S3 key. +:param value: The filter value. + +:return: AwsS3BucketNotificationConfigurationS3KeyFilterRule object + """ + name: Optional[AwsS3BucketNotificationConfigurationS3KeyFilterRuleName] + value: Optional[NonEmptyString] +AwsS3BucketNotificationConfigurationS3KeyFilterRules = List[AwsS3BucketNotificationConfigurationS3KeyFilterRule] +class AwsS3BucketNotificationConfigurationS3KeyFilter(ASFFBaseModel): + """ +Details for an Amazon S3 filter. + +:param filter_rules: The filter rules for the filter. + +:return: AwsS3BucketNotificationConfigurationS3KeyFilter object + """ + filter_rules: Optional[AwsS3BucketNotificationConfigurationS3KeyFilterRules] +class AwsS3BucketNotificationConfigurationFilter(ASFFBaseModel): + """ +Filtering information for the notifications. The filtering is based on Amazon S3 key names. + +:param s3_key_filter: Details for an Amazon S3 filter. + +:return: AwsS3BucketNotificationConfigurationFilter object + """ + s3_key_filter: Optional[AwsS3BucketNotificationConfigurationS3KeyFilter] +class AwsS3BucketNotificationConfigurationDetail(ASFFBaseModel): + """ +Details for an S3 bucket notification configuration. + +:param events: The list of events that trigger a notification. +:param filter: The filters that determine which S3 buckets generate notifications. +:param destination: The ARN of the Lambda function, Amazon SQS queue, or Amazon SNS topic that generates the notification. +:param type: Indicates the type of notification. Notifications can be generated using Lambda functions, Amazon SQS queues or Amazon SNS topics. + +:return: AwsS3BucketNotificationConfigurationDetail object + """ + events: Optional[AwsS3BucketNotificationConfigurationEvents] + filter: Optional[AwsS3BucketNotificationConfigurationFilter] + destination: Optional[NonEmptyString] + type: Optional[NonEmptyString] +AwsS3BucketNotificationConfigurationDetails = List[AwsS3BucketNotificationConfigurationDetail] +class AwsS3BucketNotificationConfiguration(ASFFBaseModel): + """ +The notification configuration for the S3 bucket. + +:param configurations: Configurations for S3 bucket notifications. + +:return: AwsS3BucketNotificationConfiguration object + """ + configurations: Optional[AwsS3BucketNotificationConfigurationDetails] +class AwsS3BucketDetails(ASFFBaseModel): + """ +The details of an Amazon S3 bucket. + +:param owner_id: The canonical user ID of the owner of the S3 bucket. +:param owner_name: The display name of the owner of the S3 bucket. +:param owner_account_id: The Amazon Web Services account identifier of the account that owns the S3 bucket. +:param created_at: Indicates when the S3 bucket was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param server_side_encryption_configuration: The encryption rules that are applied to the S3 bucket. +:param bucket_lifecycle_configuration: The lifecycle configuration for objects in the S3 bucket. +:param public_access_block_configuration: Provides information about the Amazon S3 Public Access Block configuration for the S3 bucket. +:param access_control_list: The access control list for the S3 bucket. +:param bucket_logging_configuration: The logging configuration for the S3 bucket. +:param bucket_website_configuration: The website configuration parameters for the S3 bucket. +:param bucket_notification_configuration: The notification configuration for the S3 bucket. + +:return: AwsS3BucketDetails object + """ + owner_id: Optional[NonEmptyString] + owner_name: Optional[NonEmptyString] + owner_account_id: Optional[NonEmptyString] + created_at: Optional[Iso8601Timestamp] + server_side_encryption_configuration: Optional[AwsS3BucketServerSideEncryptionConfiguration] + bucket_lifecycle_configuration: Optional[AwsS3BucketBucketLifecycleConfigurationDetails] + public_access_block_configuration: Optional[AwsS3AccountPublicAccessBlockDetails] + access_control_list: Optional[NonEmptyString] + bucket_logging_configuration: Optional[AwsS3BucketLoggingConfiguration] + bucket_website_configuration: Optional[AwsS3BucketWebsiteConfiguration] + bucket_notification_configuration: Optional[AwsS3BucketNotificationConfiguration] +class AwsS3ObjectDetails(ASFFBaseModel): + """ +Details about an Amazon S3 object. + +:param last_modified: Indicates when the object was last modified. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param e_tag: The opaque identifier assigned by a web server to a specific version of a resource found at a URL. +:param version_id: The version of the object. +:param content_type: A standard MIME type describing the format of the object data. +:param server_side_encryption: If the object is stored using server-side encryption, the value of the server-side encryption algorithm used when storing this object in Amazon S3. +:param ssekms_key_id: The identifier of the KMS symmetric customer managed key that was used for the object. + +:return: AwsS3ObjectDetails object + """ + last_modified: Optional[Iso8601Timestamp] + e_tag: Optional[NonEmptyString] + version_id: Optional[NonEmptyString] + content_type: Optional[NonEmptyString] + server_side_encryption: Optional[NonEmptyString] + ssekms_key_id: Optional[NonEmptyString] +class AwsSecretsManagerSecretRotationRules(ASFFBaseModel): + """ +Defines the rotation schedule for the secret. - :param type: The type of repository that contains the source code to be built. Valid values are: BITBUCKET - The source code is in a Bitbucket repository. CODECOMMIT - The source code is in an AWS CodeCommit repository. CODEPIPELINE - The source code settings are specified in the source action of a pipeline in AWS CodePipeline. GITHUB - The source code is in a GitHub repository. GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository. NO_SOURCE - The project does not have input source code. S3 - The source code is in an S3 input bucket. - :param location: Information about the location of the source code to be built. Valid values include: For source code settings that are specified in the source action of a pipeline in AWS CodePipeline, location should not be specified. If it is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline uses the settings in a pipeline's source action instead of this value. For source code in an AWS CodeCommit repository, the HTTPS clone URL to the repository that contains the source code and the build spec file (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name ). For source code in an S3 input bucket, one of the following. The path to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip). The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). For source code in a GitHub repository, the HTTPS clone URL to the repository that contains the source and the build spec file. For source code in a Bitbucket repository, the HTTPS clone URL to the repository that contains the source and the build spec file. - :param git_clone_depth: Information about the Git clone depth for the build project. - :param insecure_ssl: Whether to ignore SSL warnings while connecting to the project source code. +:param automatically_after_days: The number of days after the previous rotation to rotate the secret. - :return: AwsCodeBuildProjectSource object - """ +:return: AwsSecretsManagerSecretRotationRules object + """ + automatically_after_days: Optional[Integer] +class AwsSecretsManagerSecretDetails(ASFFBaseModel): + """ +Details about an Secrets Manager secret. + +:param rotation_rules: Defines the rotation schedule for the secret. +:param rotation_occurred_within_frequency: Whether the rotation occurred within the specified rotation frequency. +:param kms_key_id: The ARN, Key ID, or alias of the KMS key used to encrypt the SecretString or SecretBinary values for versions of this secret. +:param rotation_enabled: Whether rotation is enabled. +:param rotation_lambda_arn: The ARN of the Lambda function that rotates the secret. +:param deleted: Whether the secret is deleted. +:param name: The name of the secret. +:param description: The user-provided description of the secret. + +:return: AwsSecretsManagerSecretDetails object + """ + rotation_rules: Optional[AwsSecretsManagerSecretRotationRules] + rotation_occurred_within_frequency: Optional[Boolean] + kms_key_id: Optional[NonEmptyString] + rotation_enabled: Optional[Boolean] + rotation_lambda_arn: Optional[NonEmptyString] + deleted: Optional[Boolean] + name: Optional[NonEmptyString] + description: Optional[NonEmptyString] +AwsIamAccessKeyStatus = constr(regex="^(Active|Inactive)$") +class AwsIamAccessKeySessionContextAttributes(ASFFBaseModel): + """ +Attributes of the session that the key was used for. - type: Optional[NonEmptyString] - location: Optional[NonEmptyString] - git_clone_depth: Optional[Integer] - insecure_ssl: Optional[Boolean] +:param mfa_authenticated: Indicates whether the session used multi-factor authentication (MFA). +:param creation_date: Indicates when the session was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:return: AwsIamAccessKeySessionContextAttributes object + """ + mfa_authenticated: Optional[Boolean] + creation_date: Optional[Iso8601Timestamp] +class AwsIamAccessKeySessionContextSessionIssuer(ASFFBaseModel): + """ +Information about the entity that created the session. + +:param type: The type of principal (user, role, or group) that created the session. +:param principal_id: The principal ID of the principal (user, role, or group) that created the session. +:param arn: The ARN of the session. +:param account_id: The identifier of the Amazon Web Services account that created the session. +:param user_name: The name of the principal that created the session. + +:return: AwsIamAccessKeySessionContextSessionIssuer object + """ + type: Optional[NonEmptyString] + principal_id: Optional[NonEmptyString] + arn: Optional[NonEmptyString] + account_id: Optional[NonEmptyString] + user_name: Optional[NonEmptyString] +class AwsIamAccessKeySessionContext(ASFFBaseModel): + """ +Provides information about the session that the key was used for. -NonEmptyStringList = List[NonEmptyString] +:param attributes: Attributes of the session that the key was used for. +:param session_issuer: Information about the entity that created the session. +:return: AwsIamAccessKeySessionContext object + """ + attributes: Optional[AwsIamAccessKeySessionContextAttributes] + session_issuer: Optional[AwsIamAccessKeySessionContextSessionIssuer] +class AwsIamAccessKeyDetails(ASFFBaseModel): + """ +IAM access key details related to a finding. + +:param user_name: The user associated with the IAM access key related to a finding. The UserName parameter has been replaced with the PrincipalName parameter because access keys can also be assigned to principals that are not IAM users. +:param status: The status of the IAM access key related to a finding. +:param created_at: Indicates when the IAM access key was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param principal_id: The ID of the principal associated with an access key. +:param principal_type: The type of principal associated with an access key. +:param principal_name: The name of the principal. +:param account_id: The Amazon Web Services account ID of the account for the key. +:param access_key_id: The identifier of the access key. +:param session_context: Information about the session that the key was used for. + +:return: AwsIamAccessKeyDetails object + """ + user_name: Optional[NonEmptyString] + status: Optional[AwsIamAccessKeyStatus] + created_at: Optional[Iso8601Timestamp] + principal_id: Optional[NonEmptyString] + principal_type: Optional[NonEmptyString] + principal_name: Optional[NonEmptyString] + account_id: Optional[NonEmptyString] + access_key_id: Optional[NonEmptyString] + session_context: Optional[AwsIamAccessKeySessionContext] +class AwsIamAttachedManagedPolicy(ASFFBaseModel): + """ +A managed policy that is attached to an IAM principal. -class AwsCodeBuildProjectVpcConfig(ASFFBaseModel): - """ - Information about the VPC configuration that AWS CodeBuild accesses. +:param policy_name: The name of the policy. +:param policy_arn: The ARN of the policy. - :param vpc_id: The ID of the VPC. - :param subnets: A list of one or more subnet IDs in your Amazon VPC. - :param security_group_ids: A list of one or more security group IDs in your Amazon VPC. +:return: AwsIamAttachedManagedPolicy object + """ + policy_name: Optional[NonEmptyString] + policy_arn: Optional[NonEmptyString] +AwsIamAttachedManagedPolicyList = List[AwsIamAttachedManagedPolicy] +class AwsIamPermissionsBoundary(ASFFBaseModel): + """ +Information about the policy used to set the permissions boundary for an IAM principal. - :return: AwsCodeBuildProjectVpcConfig object - """ +:param permissions_boundary_arn: The ARN of the policy used to set the permissions boundary. +:param permissions_boundary_type: The usage type for the permissions boundary. - vpc_id: Optional[NonEmptyString] - subnets: Optional[NonEmptyStringList] - security_group_ids: Optional[NonEmptyStringList] +:return: AwsIamPermissionsBoundary object + """ + permissions_boundary_arn: Optional[NonEmptyString] + permissions_boundary_type: Optional[NonEmptyString] +class AwsIamUserPolicy(ASFFBaseModel): + """ +Information about an inline policy that is embedded in the user. +:param policy_name: The name of the policy. -class AwsCodeBuildProjectDetails(ASFFBaseModel): - """ - Information about an AWS CodeBuild project. - - :param encryption_key: The AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the build output artifacts. You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK alias (using the format alias/alias-name). - :param environment: Information about the build environment for this build project. - :param name: The name of the build project. - :param source: Information about the build input source code for this build project. - :param service_role: The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account. - :param vpc_config: Information about the VPC configuration that AWS CodeBuild accesses. - - :return: AwsCodeBuildProjectDetails object - """ - - encryption_key: Optional[NonEmptyString] - environment: Optional[AwsCodeBuildProjectEnvironment] - name: Optional[NonEmptyString] - source: Optional[AwsCodeBuildProjectSource] - service_role: Optional[NonEmptyString] - vpc_config: Optional[AwsCodeBuildProjectVpcConfig] - - -class AwsCloudFrontDistributionCacheBehavior(ASFFBaseModel): - """ - Information about a cache behavior for the distribution. - - :param viewer_protocol_policy: The protocol that viewers can use to access the files in an origin. You can specify the following options: allow-all - Viewers can use HTTP or HTTPS. redirect-to-https - CloudFront responds to HTTP requests with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the new URL to resubmit. https-only - CloudFront responds to HTTP request with an HTTP status code of 403 (Forbidden). - - :return: AwsCloudFrontDistributionCacheBehavior object - """ - - viewer_protocol_policy: Optional[NonEmptyString] - - -AwsCloudFrontDistributionCacheBehaviorsItemList = List[ - AwsCloudFrontDistributionCacheBehavior -] - - -class AwsCloudFrontDistributionCacheBehaviors(ASFFBaseModel): - """ - Provides information about caching for the distribution. - - :param items: The cache behaviors for the distribution. - - :return: AwsCloudFrontDistributionCacheBehaviors object - """ - - items: Optional[AwsCloudFrontDistributionCacheBehaviorsItemList] - - -class AwsCloudFrontDistributionDefaultCacheBehavior(ASFFBaseModel): - """ - Contains information about the default cache configuration for the distribution. - - :param viewer_protocol_policy: The protocol that viewers can use to access the files in an origin. You can specify the following options: allow-all - Viewers can use HTTP or HTTPS. redirect-to-https - CloudFront responds to HTTP requests with an HTTP status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then uses the new URL to resubmit. https-only - CloudFront responds to HTTP request with an HTTP status code of 403 (Forbidden). - - :return: AwsCloudFrontDistributionDefaultCacheBehavior object - """ - - viewer_protocol_policy: Optional[NonEmptyString] - - -class AwsCloudFrontDistributionLogging(ASFFBaseModel): - """ - A complex type that controls whether access logs are written for the distribution. - - :param bucket: The Amazon S3 bucket to store the access logs in. - :param enabled: With this field, you can enable or disable the selected distribution. - :param include_cookies: Specifies whether you want CloudFront to include cookies in access logs. - :param prefix: An optional string that you want CloudFront to use as a prefix to the access log filenames for this distribution. - - :return: AwsCloudFrontDistributionLogging object - """ - - bucket: Optional[NonEmptyString] - enabled: Optional[Boolean] - include_cookies: Optional[Boolean] - prefix: Optional[NonEmptyString] - - -class AwsCloudFrontDistributionOriginS3OriginConfig(ASFFBaseModel): - """ - Information about an origin that is an S3 bucket that is not configured with static website hosting. - - :param origin_access_identity: The CloudFront origin access identity to associate with the origin. - - :return: AwsCloudFrontDistributionOriginS3OriginConfig object - """ - - origin_access_identity: Optional[NonEmptyString] - - -class AwsCloudFrontDistributionOriginItem(ASFFBaseModel): - """ - A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web server), Amazon Elemental MediaStore, or other server from which CloudFront gets your files. - - :param domain_name: Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin. - :param id: A unique identifier for the origin or origin group. - :param origin_path: An optional element that causes CloudFront to request your content from a directory in your Amazon S3 bucket or your custom origin. - :param s3_origin_config: An origin that is an S3 bucket that is not configured with static website hosting. - - :return: AwsCloudFrontDistributionOriginItem object - """ - - domain_name: Optional[NonEmptyString] - id: Optional[NonEmptyString] - origin_path: Optional[NonEmptyString] - s3_origin_config: Optional[AwsCloudFrontDistributionOriginS3OriginConfig] - - -AwsCloudFrontDistributionOriginItemList = List[AwsCloudFrontDistributionOriginItem] - - -class AwsCloudFrontDistributionOrigins(ASFFBaseModel): - """ - A complex type that contains information about origins and origin groups for this distribution. - - :param items: A complex type that contains origins or origin groups for this distribution. - - :return: AwsCloudFrontDistributionOrigins object - """ - - items: Optional[AwsCloudFrontDistributionOriginItemList] - - -AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList = List[Integer] - - -class AwsCloudFrontDistributionOriginGroupFailoverStatusCodes(ASFFBaseModel): - """ - The status codes that cause an origin group to fail over. - - :param items: The list of status code values that can cause a failover to the next origin. - :param quantity: The number of status codes that can cause a failover. - - :return: AwsCloudFrontDistributionOriginGroupFailoverStatusCodes object - """ - - items: Optional[AwsCloudFrontDistributionOriginGroupFailoverStatusCodesItemList] - quantity: Optional[Integer] - - -class AwsCloudFrontDistributionOriginGroupFailover(ASFFBaseModel): - """ - Provides information about when an origin group fails over. - - :param status_codes: Information about the status codes that cause an origin group to fail over. - - :return: AwsCloudFrontDistributionOriginGroupFailover object - """ - - status_codes: Optional[AwsCloudFrontDistributionOriginGroupFailoverStatusCodes] - - -class AwsCloudFrontDistributionOriginGroup(ASFFBaseModel): - """ - Information about an origin group for the distribution. - - :param failover_criteria: Provides the criteria for an origin group to fail over. - - :return: AwsCloudFrontDistributionOriginGroup object - """ - - failover_criteria: Optional[AwsCloudFrontDistributionOriginGroupFailover] - - -AwsCloudFrontDistributionOriginGroupsItemList = List[ - AwsCloudFrontDistributionOriginGroup -] - - -class AwsCloudFrontDistributionOriginGroups(ASFFBaseModel): - """ - Provides information about origin groups that are associated with the distribution. - - :param items: The list of origin groups. - - :return: AwsCloudFrontDistributionOriginGroups object - """ - - items: Optional[AwsCloudFrontDistributionOriginGroupsItemList] - - -class AwsCloudFrontDistributionDetails(ASFFBaseModel): - """ - A distribution configuration. - - :param cache_behaviors: Provides information about the cache configuration for the distribution. - :param default_cache_behavior: The default cache behavior for the configuration. - :param default_root_object: The object that CloudFront sends in response to requests from the origin (for example, index.html) when a viewer requests the root URL for the distribution (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html). - :param domain_name: The domain name corresponding to the distribution. - :param e_tag: The entity tag is a hash of the object. - :param last_modified_time: Indicates when that the distribution was last modified. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param logging: A complex type that controls whether access logs are written for the distribution. - :param origins: A complex type that contains information about origins for this distribution. - :param origin_groups: Provides information about the origin groups in the distribution. - :param status: Indicates the current status of the distribution. - :param web_acl_id: A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution. - - :return: AwsCloudFrontDistributionDetails object - """ - - cache_behaviors: Optional[AwsCloudFrontDistributionCacheBehaviors] - default_cache_behavior: Optional[AwsCloudFrontDistributionDefaultCacheBehavior] - default_root_object: Optional[NonEmptyString] - domain_name: Optional[NonEmptyString] - e_tag: Optional[NonEmptyString] - last_modified_time: Optional[Iso8601Timestamp] - logging: Optional[AwsCloudFrontDistributionLogging] - origins: Optional[AwsCloudFrontDistributionOrigins] - origin_groups: Optional[AwsCloudFrontDistributionOriginGroups] - status: Optional[NonEmptyString] - web_acl_id: Optional[NonEmptyString] - - -class AwsEc2InstanceDetails(ASFFBaseModel): - """ - The details of an Amazon EC2 instance. - - :param type: The instance type of the instance. - :param image_id: The Amazon Machine Image (AMI) ID of the instance. - :param ip_v4_addresses: The IPv4 addresses associated with the instance. - :param ip_v6_addresses: The IPv6 addresses associated with the instance. - :param key_name: The key name associated with the instance. - :param iam_instance_profile_arn: The IAM profile ARN of the instance. - :param vpc_id: The identifier of the VPC that the instance was launched in. - :param subnet_id: The identifier of the subnet that the instance was launched in. - :param launched_at: Indicates when the instance was launched. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsEc2InstanceDetails object - """ - - type: Optional[NonEmptyString] - image_id: Optional[NonEmptyString] - ip_v4_addresses: Optional[StringList] - ip_v6_addresses: Optional[StringList] - key_name: Optional[NonEmptyString] - iam_instance_profile_arn: Optional[NonEmptyString] - vpc_id: Optional[NonEmptyString] - subnet_id: Optional[NonEmptyString] - launched_at: Optional[Iso8601Timestamp] - - -class AwsEc2NetworkInterfaceAttachment(ASFFBaseModel): - """ - Information about the network interface attachment. - - :param attach_time: Indicates when the attachment initiated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param attachment_id: The identifier of the network interface attachment - :param delete_on_termination: Indicates whether the network interface is deleted when the instance is terminated. - :param device_index: The device index of the network interface attachment on the instance. - :param instance_id: The ID of the instance. - :param instance_owner_id: The AWS account ID of the owner of the instance. - :param status: The attachment state. Valid values: attaching | attached | detaching | detached - - :return: AwsEc2NetworkInterfaceAttachment object - """ - - attach_time: Optional[Iso8601Timestamp] - attachment_id: Optional[NonEmptyString] - delete_on_termination: Optional[Boolean] - device_index: Optional[Integer] - instance_id: Optional[NonEmptyString] - instance_owner_id: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -class AwsEc2NetworkInterfaceSecurityGroup(ASFFBaseModel): - """ - A security group associated with the network interface. - - :param group_name: The name of the security group. - :param group_id: The ID of the security group. - - :return: AwsEc2NetworkInterfaceSecurityGroup object - """ - - group_name: Optional[NonEmptyString] - group_id: Optional[NonEmptyString] - - -AwsEc2NetworkInterfaceSecurityGroupList = List[AwsEc2NetworkInterfaceSecurityGroup] - - -class AwsEc2NetworkInterfaceIpV6AddressDetail(ASFFBaseModel): - """ - Provides information about an IPV6 address that is associated with the network interface. - - :param ip_v6_address: The IPV6 address. - - :return: AwsEc2NetworkInterfaceIpV6AddressDetail object - """ - - ip_v6_address: Optional[NonEmptyString] - - -AwsEc2NetworkInterfaceIpV6AddressList = List[AwsEc2NetworkInterfaceIpV6AddressDetail] - - -class AwsEc2NetworkInterfacePrivateIpAddressDetail(ASFFBaseModel): - """ - Provides information about a private IPv4 address that is with the network interface. - - :param private_ip_address: The IP address. - :param private_dns_name: The private DNS name for the IP address. - - :return: AwsEc2NetworkInterfacePrivateIpAddressDetail object - """ - - private_ip_address: Optional[NonEmptyString] - private_dns_name: Optional[NonEmptyString] - - -AwsEc2NetworkInterfacePrivateIpAddressList = List[ - AwsEc2NetworkInterfacePrivateIpAddressDetail -] - - -class AwsEc2NetworkInterfaceDetails(ASFFBaseModel): - """ - Details about the network interface - - :param attachment: The network interface attachment. - :param network_interface_id: The ID of the network interface. - :param security_groups: Security groups for the network interface. - :param source_dest_check: Indicates whether traffic to or from the instance is validated. - :param ip_v6_addresses: The IPv6 addresses associated with the network interface. - :param private_ip_addresses: The private IPv4 addresses associated with the network interface. - :param public_dns_name: The public DNS name of the network interface. - :param public_ip: The address of the Elastic IP address bound to the network interface. - - :return: AwsEc2NetworkInterfaceDetails object - """ - - attachment: Optional[AwsEc2NetworkInterfaceAttachment] - network_interface_id: Optional[NonEmptyString] - security_groups: Optional[AwsEc2NetworkInterfaceSecurityGroupList] - source_dest_check: Optional[Boolean] - ip_v6_addresses: Optional[AwsEc2NetworkInterfaceIpV6AddressList] - private_ip_addresses: Optional[AwsEc2NetworkInterfacePrivateIpAddressList] - public_dns_name: Optional[NonEmptyString] - public_ip: Optional[NonEmptyString] - - -class AwsEc2SecurityGroupUserIdGroupPair(ASFFBaseModel): - """ - A relationship between a security group and a user. - - :param group_id: The ID of the security group. - :param group_name: The name of the security group. - :param peering_status: The status of a VPC peering connection, if applicable. - :param user_id: The ID of an AWS account. For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned. [EC2-Classic] Required when adding or removing rules that reference a security group in another AWS. - :param vpc_id: The ID of the VPC for the referenced security group, if applicable. - :param vpc_peering_connection_id: The ID of the VPC peering connection, if applicable. - - :return: AwsEc2SecurityGroupUserIdGroupPair object - """ - - group_id: Optional[NonEmptyString] - group_name: Optional[NonEmptyString] - peering_status: Optional[NonEmptyString] - user_id: Optional[NonEmptyString] - vpc_id: Optional[NonEmptyString] - vpc_peering_connection_id: Optional[NonEmptyString] - - -AwsEc2SecurityGroupUserIdGroupPairList = List[AwsEc2SecurityGroupUserIdGroupPair] - - -class AwsEc2SecurityGroupIpRange(ASFFBaseModel): - """ - A range of IPv4 addresses. - - :param cidr_ip: The IPv4 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv4 address, use the /32 prefix length. - - :return: AwsEc2SecurityGroupIpRange object - """ - - cidr_ip: Optional[NonEmptyString] - - -AwsEc2SecurityGroupIpRangeList = List[AwsEc2SecurityGroupIpRange] - - -class AwsEc2SecurityGroupIpv6Range(ASFFBaseModel): - """ - A range of IPv6 addresses. - - :param cidr_ipv6: The IPv6 CIDR range. You can specify either a CIDR range or a source security group, but not both. To specify a single IPv6 address, use the /128 prefix length. - - :return: AwsEc2SecurityGroupIpv6Range object - """ - - cidr_ipv6: Optional[NonEmptyString] - - -AwsEc2SecurityGroupIpv6RangeList = List[AwsEc2SecurityGroupIpv6Range] - - -class AwsEc2SecurityGroupPrefixListId(ASFFBaseModel): - """ - A prefix list ID. - - :param prefix_list_id: The ID of the prefix. - - :return: AwsEc2SecurityGroupPrefixListId object - """ - - prefix_list_id: Optional[NonEmptyString] - - -AwsEc2SecurityGroupPrefixListIdList = List[AwsEc2SecurityGroupPrefixListId] - - -class AwsEc2SecurityGroupIpPermission(ASFFBaseModel): - """ - An IP permission for an EC2 security group. - - :param ip_protocol: The IP protocol name (tcp, udp, icmp, icmpv6) or number. [VPC only] Use -1 to specify all protocols. When authorizing security group rules, specifying -1 or a protocol number other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless of any port range you specify. For tcp, udp, and icmp, you must specify a port range. For icmpv6, the port range is optional. If you omit the port range, traffic for all types and codes is allowed. - :param from_port: The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number. A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes. - :param to_port: The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code. A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes. - :param user_id_group_pairs: The security group and AWS account ID pairs. - :param ip_ranges: The IPv4 ranges. - :param ipv6_ranges: The IPv6 ranges. - :param prefix_list_ids: [VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS service to access through a VPC endpoint from instances associated with the security group. - - :return: AwsEc2SecurityGroupIpPermission object - """ - - ip_protocol: Optional[NonEmptyString] - from_port: Optional[Integer] - to_port: Optional[Integer] - user_id_group_pairs: Optional[AwsEc2SecurityGroupUserIdGroupPairList] - ip_ranges: Optional[AwsEc2SecurityGroupIpRangeList] - ipv6_ranges: Optional[AwsEc2SecurityGroupIpv6RangeList] - prefix_list_ids: Optional[AwsEc2SecurityGroupPrefixListIdList] - - -AwsEc2SecurityGroupIpPermissionList = List[AwsEc2SecurityGroupIpPermission] - - -class AwsEc2SecurityGroupDetails(ASFFBaseModel): - """ - Details about an EC2 security group. - - :param group_name: The name of the security group. - :param group_id: The ID of the security group. - :param owner_id: The AWS account ID of the owner of the security group. - :param vpc_id: [VPC only] The ID of the VPC for the security group. - :param ip_permissions: The inbound rules associated with the security group. - :param ip_permissions_egress: [VPC only] The outbound rules associated with the security group. - - :return: AwsEc2SecurityGroupDetails object - """ - - group_name: Optional[NonEmptyString] - group_id: Optional[NonEmptyString] - owner_id: Optional[NonEmptyString] - vpc_id: Optional[NonEmptyString] - ip_permissions: Optional[AwsEc2SecurityGroupIpPermissionList] - ip_permissions_egress: Optional[AwsEc2SecurityGroupIpPermissionList] - - -class AwsEc2VolumeAttachment(ASFFBaseModel): - """ - An attachment to an AWS EC2 volume. - - :param attach_time: The datetime when the attachment initiated. - :param delete_on_termination: Whether the EBS volume is deleted when the EC2 instance is terminated. - :param instance_id: The identifier of the EC2 instance. - :param status: The attachment state of the volume. - - :return: AwsEc2VolumeAttachment object - """ - - attach_time: Optional[Iso8601Timestamp] - delete_on_termination: Optional[Boolean] - instance_id: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -AwsEc2VolumeAttachmentList = List[AwsEc2VolumeAttachment] - - -class AwsEc2VolumeDetails(ASFFBaseModel): - """ - Details about an EC2 volume. - - :param create_time: Indicates when the volume was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param encrypted: Whether the volume is encrypted. - :param size: The size of the volume, in GiBs. - :param snapshot_id: The snapshot from which the volume was created. - :param status: The volume state. - :param kms_key_id: The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume. - :param attachments: The volume attachments. - - :return: AwsEc2VolumeDetails object - """ - - create_time: Optional[Iso8601Timestamp] - encrypted: Optional[Boolean] - size: Optional[Integer] - snapshot_id: Optional[NonEmptyString] - status: Optional[NonEmptyString] - kms_key_id: Optional[NonEmptyString] - attachments: Optional[AwsEc2VolumeAttachmentList] - - -class CidrBlockAssociation(ASFFBaseModel): - """ - An IPv4 CIDR block association. - - :param association_id: The association ID for the IPv4 CIDR block. - :param cidr_block: The IPv4 CIDR block. - :param cidr_block_state: Information about the state of the IPv4 CIDR block. - - :return: CidrBlockAssociation object - """ - - association_id: Optional[NonEmptyString] - cidr_block: Optional[NonEmptyString] - cidr_block_state: Optional[NonEmptyString] - - -CidrBlockAssociationList = List[CidrBlockAssociation] - - -class Ipv6CidrBlockAssociation(ASFFBaseModel): - """ - An IPV6 CIDR block association. - - :param association_id: The association ID for the IPv6 CIDR block. - :param ipv6_cidr_block: The IPv6 CIDR block. - :param cidr_block_state: Information about the state of the CIDR block. - - :return: Ipv6CidrBlockAssociation object - """ - - association_id: Optional[NonEmptyString] - ipv6_cidr_block: Optional[NonEmptyString] - cidr_block_state: Optional[NonEmptyString] - - -Ipv6CidrBlockAssociationList = List[Ipv6CidrBlockAssociation] - - -class AwsEc2VpcDetails(ASFFBaseModel): - """ - Details about an EC2 VPC. - - :param cidr_block_association_set: Information about the IPv4 CIDR blocks associated with the VPC. - :param ipv6_cidr_block_association_set: Information about the IPv6 CIDR blocks associated with the VPC. - :param dhcp_options_id: The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options that are associated with the VPC. If the default options are associated with the VPC, then this is default. - :param state: The current state of the VPC. - - :return: AwsEc2VpcDetails object - """ - - cidr_block_association_set: Optional[CidrBlockAssociationList] - ipv6_cidr_block_association_set: Optional[Ipv6CidrBlockAssociationList] - dhcp_options_id: Optional[NonEmptyString] - state: Optional[NonEmptyString] - - -class AwsEc2EipDetails(ASFFBaseModel): - """ - Information about an Elastic IP address. - - :param instance_id: The identifier of the EC2 instance. - :param public_ip: A public IP address that is associated with the EC2 instance. - :param allocation_id: The identifier that AWS assigns to represent the allocation of the Elastic IP address for use with Amazon VPC. - :param association_id: The identifier that represents the association of the Elastic IP address with an EC2 instance. - :param domain: The domain in which to allocate the address. If the address is for use with EC2 instances in a VPC, then Domain is vpc. Otherwise, Domain is standard. - :param public_ipv4_pool: The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP address from the address pool. - :param network_border_group: The name of the location from which the Elastic IP address is advertised. - :param network_interface_id: The identifier of the network interface. - :param network_interface_owner_id: The AWS account ID of the owner of the network interface. - :param private_ip_address: The private IP address that is associated with the Elastic IP address. - - :return: AwsEc2EipDetails object - """ - - instance_id: Optional[NonEmptyString] - public_ip: Optional[NonEmptyString] - allocation_id: Optional[NonEmptyString] - association_id: Optional[NonEmptyString] - domain: Optional[NonEmptyString] - public_ipv4_pool: Optional[NonEmptyString] - network_border_group: Optional[NonEmptyString] - network_interface_id: Optional[NonEmptyString] - network_interface_owner_id: Optional[NonEmptyString] - private_ip_address: Optional[NonEmptyString] - - -class AvailabilityZone(ASFFBaseModel): - """ - Information about an Availability Zone. - - :param zone_name: The name of the Availability Zone. - :param subnet_id: The ID of the subnet. You can specify one subnet per Availability Zone. - - :return: AvailabilityZone object - """ - - zone_name: Optional[NonEmptyString] - subnet_id: Optional[NonEmptyString] - - -AvailabilityZones = List[AvailabilityZone] -SecurityGroups = List[NonEmptyString] - - -class LoadBalancerState(ASFFBaseModel): - """ - Information about the state of the load balancer. - - :param code: The state code. The initial state of the load balancer is provisioning. After the load balancer is fully set up and ready to route traffic, its state is active. If the load balancer could not be set up, its state is failed. - :param reason: A description of the state. - - :return: LoadBalancerState object - """ - - code: Optional[NonEmptyString] - reason: Optional[NonEmptyString] - - -class AwsElbv2LoadBalancerDetails(ASFFBaseModel): - """ - Information about a load balancer. - - :param availability_zones: The Availability Zones for the load balancer. - :param canonical_hosted_zone_id: The ID of the Amazon Route 53 hosted zone associated with the load balancer. - :param created_time: Indicates when the load balancer was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param dns_name: The public DNS name of the load balancer. - :param ip_address_type: The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses). - :param scheme: The nodes of an Internet-facing load balancer have public IP addresses. - :param security_groups: The IDs of the security groups for the load balancer. - :param state: The state of the load balancer. - :param type: The type of load balancer. - :param vpc_id: The ID of the VPC for the load balancer. - - :return: AwsElbv2LoadBalancerDetails object - """ - - availability_zones: Optional[AvailabilityZones] - canonical_hosted_zone_id: Optional[NonEmptyString] - created_time: Optional[Iso8601Timestamp] - dns_name: Optional[NonEmptyString] - ip_address_type: Optional[NonEmptyString] - scheme: Optional[NonEmptyString] - security_groups: Optional[SecurityGroups] - state: Optional[LoadBalancerState] - type: Optional[NonEmptyString] - vpc_id: Optional[NonEmptyString] - - -class AwsElasticsearchDomainDomainEndpointOptions(ASFFBaseModel): - """ - Additional options for the domain endpoint, such as whether to require HTTPS for all traffic. - - :param enforce_https: Whether to require that all traffic to the domain arrive over HTTPS. - :param tls_security_policy: The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch domain. Valid values: Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2 - - :return: AwsElasticsearchDomainDomainEndpointOptions object - """ - - enforce_https: Optional[Boolean] - tls_security_policy: Optional[NonEmptyString] - - -FieldMap = Dict[NonEmptyString, NonEmptyString] - - -class AwsElasticsearchDomainEncryptionAtRestOptions(ASFFBaseModel): - """ - Details about the configuration for encryption at rest. - - :param enabled: Whether encryption at rest is enabled. - :param kms_key_id: The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a. - - :return: AwsElasticsearchDomainEncryptionAtRestOptions object - """ - - enabled: Optional[Boolean] - kms_key_id: Optional[NonEmptyString] - - -class AwsElasticsearchDomainNodeToNodeEncryptionOptions(ASFFBaseModel): - """ - Details about the configuration for node-to-node encryption. - - :param enabled: Whether node-to-node encryption is enabled. - - :return: AwsElasticsearchDomainNodeToNodeEncryptionOptions object - """ - - enabled: Optional[Boolean] - - -class AwsElasticsearchDomainVPCOptions(ASFFBaseModel): - """ - Information that Amazon ES derives based on VPCOptions for the domain. - - :param availability_zones: The list of Availability Zones associated with the VPC subnets. - :param security_group_ids: The list of security group IDs associated with the VPC endpoints for the domain. - :param subnet_ids: A list of subnet IDs associated with the VPC endpoints for the domain. - :param vpc_id: ID for the VPC. - - :return: AwsElasticsearchDomainVPCOptions object - """ - - availability_zones: Optional[NonEmptyStringList] - security_group_ids: Optional[NonEmptyStringList] - subnet_ids: Optional[NonEmptyStringList] - vpc_id: Optional[NonEmptyString] - - -class AwsElasticsearchDomainDetails(ASFFBaseModel): - """ - Information about an Elasticsearch domain. - - :param access_policies: IAM policy document specifying the access policies for the new Amazon ES domain. - :param domain_endpoint_options: Additional options for the domain endpoint. - :param domain_id: Unique identifier for an Amazon ES domain. - :param domain_name: Name of an Amazon ES domain. Domain names are unique across all domains owned by the same account within an AWS Region. Domain names must start with a lowercase letter and must be between 3 and 28 characters. Valid characters are a-z (lowercase only), 0-9, and – (hyphen). - :param endpoint: Domain-specific endpoint used to submit index, search, and data upload requests to an Amazon ES domain. The endpoint is a service URL. - :param endpoints: The key-value pair that exists if the Amazon ES domain uses VPC endpoints. - :param elasticsearch_version: Elasticsearch version. - :param encryption_at_rest_options: Details about the configuration for encryption at rest. - :param node_to_node_encryption_options: Details about the configuration for node-to-node encryption. - :param vpc_options: Information that Amazon ES derives based on VPCOptions for the domain. - - :return: AwsElasticsearchDomainDetails object - """ - - access_policies: Optional[NonEmptyString] - domain_endpoint_options: Optional[AwsElasticsearchDomainDomainEndpointOptions] - domain_id: Optional[NonEmptyString] - domain_name: Optional[NonEmptyString] - endpoint: Optional[NonEmptyString] - endpoints: Optional[FieldMap] - elasticsearch_version: Optional[NonEmptyString] - encryption_at_rest_options: Optional[AwsElasticsearchDomainEncryptionAtRestOptions] - node_to_node_encryption_options: Optional[ - AwsElasticsearchDomainNodeToNodeEncryptionOptions - ] - vpc_options: Optional[AwsElasticsearchDomainVPCOptions] - - -class AwsS3BucketServerSideEncryptionByDefault(ASFFBaseModel): - """ - Specifies the default server-side encryption to apply to new objects in the bucket. - - :param sse_algorithm: Server-side encryption algorithm to use for the default encryption. - :param kms_master_key_id: AWS KMS customer master key (CMK) ID to use for the default encryption. - - :return: AwsS3BucketServerSideEncryptionByDefault object - """ - - sse_algorithm: Optional[NonEmptyString] - kms_master_key_id: Optional[NonEmptyString] - - -class AwsS3BucketServerSideEncryptionRule(ASFFBaseModel): - """ - An encryption rule to apply to the S3 bucket. - - :param apply_server_side_encryption_by_default: Specifies the default server-side encryption to apply to new objects in the bucket. If a PUT object request doesn't specify any server-side encryption, this default encryption is applied. - - :return: AwsS3BucketServerSideEncryptionRule object - """ - - apply_server_side_encryption_by_default: Optional[ - AwsS3BucketServerSideEncryptionByDefault - ] - - -AwsS3BucketServerSideEncryptionRules = List[AwsS3BucketServerSideEncryptionRule] - - -class AwsS3BucketServerSideEncryptionConfiguration(ASFFBaseModel): - """ - The encryption configuration for the S3 bucket. - - :param rules: The encryption rules that are applied to the S3 bucket. - - :return: AwsS3BucketServerSideEncryptionConfiguration object - """ - - rules: Optional[AwsS3BucketServerSideEncryptionRules] - - -class AwsS3AccountPublicAccessBlockDetails(ASFFBaseModel): - """ - provides information about the Amazon S3 Public Access Block configuration for accounts. - - :param block_public_acls: Indicates whether to reject calls to update an S3 bucket if the calls include a public access control list (ACL). - :param block_public_policy: Indicates whether to reject calls to update the access policy for an S3 bucket or access point if the policy allows public access. - :param ignore_public_acls: Indicates whether Amazon S3 ignores public ACLs that are associated with an S3 bucket. - :param restrict_public_buckets: Indicates whether to restrict access to an access point or S3 bucket that has a public policy to only AWS service principals and authorized users within the S3 bucket owner's account. - - :return: AwsS3AccountPublicAccessBlockDetails object - """ - - block_public_acls: Optional[Boolean] - block_public_policy: Optional[Boolean] - ignore_public_acls: Optional[Boolean] - restrict_public_buckets: Optional[Boolean] - - -class AwsS3BucketDetails(ASFFBaseModel): - """ - The details of an Amazon S3 bucket. - - :param owner_id: The canonical user ID of the owner of the S3 bucket. - :param owner_name: The display name of the owner of the S3 bucket. - :param created_at: Indicates when the S3 bucket was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param server_side_encryption_configuration: The encryption rules that are applied to the S3 bucket. - :param public_access_block_configuration: Provides information about the Amazon S3 Public Access Block configuration for the S3 bucket. - - :return: AwsS3BucketDetails object - """ - - owner_id: Optional[NonEmptyString] - owner_name: Optional[NonEmptyString] - created_at: Optional[Iso8601Timestamp] - server_side_encryption_configuration: Optional[ - AwsS3BucketServerSideEncryptionConfiguration - ] - public_access_block_configuration: Optional[AwsS3AccountPublicAccessBlockDetails] - - -class AwsS3ObjectDetails(ASFFBaseModel): - """ - Details about an Amazon S3 object. - - :param last_modified: Indicates when the object was last modified. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param e_tag: The opaque identifier assigned by a web server to a specific version of a resource found at a URL. - :param version_id: The version of the object. - :param content_type: A standard MIME type describing the format of the object data. - :param server_side_encryption: If the object is stored using server-side encryption, the value of the server-side encryption algorithm used when storing this object in Amazon S3. - :param ssekms_key_id: The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object. - - :return: AwsS3ObjectDetails object - """ - - last_modified: Optional[Iso8601Timestamp] - e_tag: Optional[NonEmptyString] - version_id: Optional[NonEmptyString] - content_type: Optional[NonEmptyString] - server_side_encryption: Optional[NonEmptyString] - ssekms_key_id: Optional[NonEmptyString] - - -class AwsSecretsManagerSecretRotationRules(ASFFBaseModel): - """ - Defines the rotation schedule for the secret. - - :param automatically_after_days: The number of days after the previous rotation to rotate the secret. - - :return: AwsSecretsManagerSecretRotationRules object - """ - - automatically_after_days: Optional[Integer] - - -class AwsSecretsManagerSecretDetails(ASFFBaseModel): - """ - Details about an AWS Secrets Manager secret. - - :param rotation_rules: Defines the rotation schedule for the secret. - :param rotation_occurred_within_frequency: Whether the rotation occurred within the specified rotation frequency. - :param kms_key_id: The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the SecretString or SecretBinary values for versions of this secret. - :param rotation_enabled: Whether rotation is enabled. - :param rotation_lambda_arn: The ARN of the Lambda function that rotates the secret. - :param deleted: Whether the secret is deleted. - :param name: The name of the secret. - :param description: The user-provided description of the secret. - - :return: AwsSecretsManagerSecretDetails object - """ - - rotation_rules: Optional[AwsSecretsManagerSecretRotationRules] - rotation_occurred_within_frequency: Optional[Boolean] - kms_key_id: Optional[NonEmptyString] - rotation_enabled: Optional[Boolean] - rotation_lambda_arn: Optional[NonEmptyString] - deleted: Optional[Boolean] - name: Optional[NonEmptyString] - description: Optional[NonEmptyString] - - -AwsIamAccessKeyStatus = constr(regex="^(Active|Inactive)$") - - -class AwsIamAccessKeySessionContextAttributes(ASFFBaseModel): - """ - Attributes of the session that the key was used for. - - :param mfa_authenticated: Indicates whether the session used multi-factor authentication (MFA). - :param creation_date: Indicates when the session was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsIamAccessKeySessionContextAttributes object - """ - - mfa_authenticated: Optional[Boolean] - creation_date: Optional[Iso8601Timestamp] - - -class AwsIamAccessKeySessionContextSessionIssuer(ASFFBaseModel): - """ - Information about the entity that created the session. - - :param type: The type of principal (user, role, or group) that created the session. - :param principal_id: The principal ID of the principal (user, role, or group) that created the session. - :param arn: The ARN of the session. - :param account_id: The identifier of the AWS account that created the session. - :param user_name: The name of the principal that created the session. - - :return: AwsIamAccessKeySessionContextSessionIssuer object - """ - - type: Optional[NonEmptyString] - principal_id: Optional[NonEmptyString] - arn: Optional[NonEmptyString] - account_id: Optional[NonEmptyString] - user_name: Optional[NonEmptyString] - - -class AwsIamAccessKeySessionContext(ASFFBaseModel): - """ - Provides information about the session that the key was used for. - - :param attributes: Attributes of the session that the key was used for. - :param session_issuer: Information about the entity that created the session. - - :return: AwsIamAccessKeySessionContext object - """ - - attributes: Optional[AwsIamAccessKeySessionContextAttributes] - session_issuer: Optional[AwsIamAccessKeySessionContextSessionIssuer] - - -class AwsIamAccessKeyDetails(ASFFBaseModel): - """ - IAM access key details related to a finding. - - :param user_name: The user associated with the IAM access key related to a finding. The UserName parameter has been replaced with the PrincipalName parameter because access keys can also be assigned to principals that are not IAM users. - :param status: The status of the IAM access key related to a finding. - :param created_at: Indicates when the IAM access key was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param principal_id: The ID of the principal associated with an access key. - :param principal_type: The type of principal associated with an access key. - :param principal_name: The name of the principal. - :param account_id: The AWS account ID of the account for the key. - :param access_key_id: The identifier of the access key. - :param session_context: Information about the session that the key was used for. - - :return: AwsIamAccessKeyDetails object - """ - - user_name: Optional[NonEmptyString] - status: Optional[AwsIamAccessKeyStatus] - created_at: Optional[Iso8601Timestamp] - principal_id: Optional[NonEmptyString] - principal_type: Optional[NonEmptyString] - principal_name: Optional[NonEmptyString] - account_id: Optional[NonEmptyString] - access_key_id: Optional[NonEmptyString] - session_context: Optional[AwsIamAccessKeySessionContext] - - -class AwsIamAttachedManagedPolicy(ASFFBaseModel): - """ - A managed policy that is attached to an IAM principal. - - :param policy_name: The name of the policy. - :param policy_arn: The ARN of the policy. - - :return: AwsIamAttachedManagedPolicy object - """ - - policy_name: Optional[NonEmptyString] - policy_arn: Optional[NonEmptyString] - - -AwsIamAttachedManagedPolicyList = List[AwsIamAttachedManagedPolicy] - - -class AwsIamPermissionsBoundary(ASFFBaseModel): - """ - Information about the policy used to set the permissions boundary for an IAM principal. - - :param permissions_boundary_arn: The ARN of the policy used to set the permissions boundary. - :param permissions_boundary_type: The usage type for the permissions boundary. - - :return: AwsIamPermissionsBoundary object - """ - - permissions_boundary_arn: Optional[NonEmptyString] - permissions_boundary_type: Optional[NonEmptyString] - - -class AwsIamUserPolicy(ASFFBaseModel): - """ - Information about an inline policy that is embedded in the user. - - :param policy_name: The name of the policy. - - :return: AwsIamUserPolicy object - """ - - policy_name: Optional[NonEmptyString] - - -AwsIamUserPolicyList = List[AwsIamUserPolicy] - - -class AwsIamUserDetails(ASFFBaseModel): - """ - Information about an IAM user. - - :param attached_managed_policies: A list of the managed policies that are attached to the user. - :param create_date: Indicates when the user was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param group_list: A list of IAM groups that the user belongs to. - :param path: The path to the user. - :param permissions_boundary: The permissions boundary for the user. - :param user_id: The unique identifier for the user. - :param user_name: The name of the user. - :param user_policy_list: The list of inline policies that are embedded in the user. - - :return: AwsIamUserDetails object - """ - - attached_managed_policies: Optional[AwsIamAttachedManagedPolicyList] - create_date: Optional[Iso8601Timestamp] - group_list: Optional[StringList] - path: Optional[NonEmptyString] - permissions_boundary: Optional[AwsIamPermissionsBoundary] - user_id: Optional[NonEmptyString] - user_name: Optional[NonEmptyString] - user_policy_list: Optional[AwsIamUserPolicyList] - - -class AwsIamPolicyVersion(ASFFBaseModel): - """ - A version of an IAM policy. - - :param version_id: The identifier of the policy version. - :param is_default_version: Whether the version is the default version. - :param create_date: Indicates when the version was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsIamPolicyVersion object - """ - - version_id: Optional[NonEmptyString] - is_default_version: Optional[Boolean] - create_date: Optional[Iso8601Timestamp] - - -AwsIamPolicyVersionList = List[AwsIamPolicyVersion] - - -class AwsIamPolicyDetails(ASFFBaseModel): - """ - Represents an IAM permissions policy. - - :param attachment_count: The number of users, groups, and roles that the policy is attached to. - :param create_date: When the policy was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param default_version_id: The identifier of the default version of the policy. - :param description: A description of the policy. - :param is_attachable: Whether the policy can be attached to a user, group, or role. - :param path: The path to the policy. - :param permissions_boundary_usage_count: The number of users and roles that use the policy to set the permissions boundary. - :param policy_id: The unique identifier of the policy. - :param policy_name: The name of the policy. - :param policy_version_list: List of versions of the policy. - :param update_date: When the policy was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsIamPolicyDetails object - """ - - attachment_count: Optional[Integer] - create_date: Optional[Iso8601Timestamp] - default_version_id: Optional[NonEmptyString] - description: Optional[NonEmptyString] - is_attachable: Optional[Boolean] - path: Optional[NonEmptyString] - permissions_boundary_usage_count: Optional[Integer] - policy_id: Optional[NonEmptyString] - policy_name: Optional[NonEmptyString] - policy_version_list: Optional[AwsIamPolicyVersionList] - update_date: Optional[Iso8601Timestamp] - - -class AwsApiGatewayV2RouteSettings(ASFFBaseModel): - """ - Contains route settings for a stage. - - :param detailed_metrics_enabled: Indicates whether detailed metrics are enabled. - :param logging_level: The logging level. The logging level affects the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs. If the logging level is ERROR, then the logs only include error-level entries. If the logging level is INFO, then the logs include both ERROR events and extra informational events. Valid values: OFF | ERROR | INFO - :param data_trace_enabled: Indicates whether data trace logging is enabled. Data trace logging affects the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs. - :param throttling_burst_limit: The throttling burst limit. - :param throttling_rate_limit: The throttling rate limit. - - :return: AwsApiGatewayV2RouteSettings object - """ - - detailed_metrics_enabled: Optional[Boolean] - logging_level: Optional[NonEmptyString] - data_trace_enabled: Optional[Boolean] - throttling_burst_limit: Optional[Integer] - throttling_rate_limit: Optional[Double] - - -class AwsApiGatewayAccessLogSettings(ASFFBaseModel): - """ - Contains information about settings for logging access for the stage. - - :param format: A single-line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. - :param destination_arn: The ARN of the CloudWatch Logs log group that receives the access logs. - - :return: AwsApiGatewayAccessLogSettings object - """ - - format: Optional[NonEmptyString] - destination_arn: Optional[NonEmptyString] - - -class AwsApiGatewayV2StageDetails(ASFFBaseModel): - """ - Contains information about a version 2 stage for Amazon API Gateway. - - :param created_date: Indicates when the stage was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param description: The description of the stage. - :param default_route_settings: Default route settings for the stage. - :param deployment_id: The identifier of the deployment that the stage is associated with. - :param last_updated_date: Indicates when the stage was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param route_settings: The route settings for the stage. - :param stage_name: The name of the stage. - :param stage_variables: A map that defines the stage variables for the stage. Variable names can have alphanumeric and underscore characters. Variable values can contain the following characters: Uppercase and lowercase letters Numbers Special characters -._~:/?#&=, - :param access_log_settings: Information about settings for logging access for the stage. - :param auto_deploy: Indicates whether updates to an API automatically trigger a new deployment. - :param last_deployment_status_message: The status of the last deployment of a stage. Supported only if the stage has automatic deployment enabled. - :param api_gateway_managed: Indicates whether the stage is managed by API Gateway. - - :return: AwsApiGatewayV2StageDetails object - """ - - created_date: Optional[Iso8601Timestamp] - description: Optional[NonEmptyString] - default_route_settings: Optional[AwsApiGatewayV2RouteSettings] - deployment_id: Optional[NonEmptyString] - last_updated_date: Optional[NonEmptyString] - route_settings: Optional[AwsApiGatewayV2RouteSettings] - stage_name: Optional[NonEmptyString] - stage_variables: Optional[FieldMap] - access_log_settings: Optional[AwsApiGatewayAccessLogSettings] - auto_deploy: Optional[Boolean] - last_deployment_status_message: Optional[NonEmptyString] - api_gateway_managed: Optional[Boolean] - - -class AwsCorsConfiguration(ASFFBaseModel): - """ - Contains the cross-origin resource sharing (CORS) configuration for the API. CORS is only supported for HTTP APIs. - - :param allow_origins: The allowed origins for CORS requests. - :param allow_credentials: Indicates whether the CORS request includes credentials. - :param expose_headers: The exposed headers for CORS requests. - :param max_age: The number of seconds for which the browser caches preflight request results. - :param allow_methods: The allowed methods for CORS requests. - :param allow_headers: The allowed headers for CORS requests. - - :return: AwsCorsConfiguration object - """ - - allow_origins: Optional[NonEmptyStringList] - allow_credentials: Optional[Boolean] - expose_headers: Optional[NonEmptyStringList] - max_age: Optional[Integer] - allow_methods: Optional[NonEmptyStringList] - allow_headers: Optional[NonEmptyStringList] - - -class AwsApiGatewayV2ApiDetails(ASFFBaseModel): - """ - Contains information about a version 2 API in Amazon API Gateway. - - :param api_endpoint: The URI of the API. Uses the format <api-id>.execute-api.<region>.amazonaws.com The stage name is typically appended to the URI to form a complete path to a deployed API stage. - :param api_id: The identifier of the API. - :param api_key_selection_expression: An API key selection expression. Supported only for WebSocket APIs. - :param created_date: Indicates when the API was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param description: A description of the API. - :param version: The version identifier for the API. - :param name: The name of the API. - :param protocol_type: The API protocol for the API. Valid values: WEBSOCKET | HTTP - :param route_selection_expression: The route selection expression for the API. For HTTP APIs, must be ${request.method} ${request.path}. This is the default value for HTTP APIs. For WebSocket APIs, there is no default value. - :param cors_configuration: A cross-origin resource sharing (CORS) configuration. Supported only for HTTP APIs. - - :return: AwsApiGatewayV2ApiDetails object - """ - - api_endpoint: Optional[NonEmptyString] - api_id: Optional[NonEmptyString] - api_key_selection_expression: Optional[NonEmptyString] - created_date: Optional[Iso8601Timestamp] - description: Optional[NonEmptyString] - version: Optional[NonEmptyString] - name: Optional[NonEmptyString] - protocol_type: Optional[NonEmptyString] - route_selection_expression: Optional[NonEmptyString] - cors_configuration: Optional[AwsCorsConfiguration] - - -class AwsDynamoDbTableAttributeDefinition(ASFFBaseModel): - """ - Contains a definition of an attribute for the table. - - :param attribute_name: The name of the attribute. - :param attribute_type: The type of the attribute. - - :return: AwsDynamoDbTableAttributeDefinition object - """ - - attribute_name: Optional[NonEmptyString] - attribute_type: Optional[NonEmptyString] - - -AwsDynamoDbTableAttributeDefinitionList = List[AwsDynamoDbTableAttributeDefinition] - - -class AwsDynamoDbTableBillingModeSummary(ASFFBaseModel): - """ - Provides information about the billing for read/write capacity on the table. - - :param billing_mode: The method used to charge for read and write throughput and to manage capacity. - :param last_update_to_pay_per_request_date_time: If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was set to that value. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsDynamoDbTableBillingModeSummary object - """ - - billing_mode: Optional[NonEmptyString] - last_update_to_pay_per_request_date_time: Optional[Iso8601Timestamp] - - -SizeBytes = int - - -class AwsDynamoDbTableKeySchema(ASFFBaseModel): - """ - A component of the key schema for the DynamoDB table, a global secondary index, or a local secondary index. - - :param attribute_name: The name of the key schema attribute. - :param key_type: The type of key used for the key schema attribute. - - :return: AwsDynamoDbTableKeySchema object - """ - - attribute_name: Optional[NonEmptyString] - key_type: Optional[NonEmptyString] - - -AwsDynamoDbTableKeySchemaList = List[AwsDynamoDbTableKeySchema] - - -class AwsDynamoDbTableProjection(ASFFBaseModel): - """ - For global and local secondary indexes, identifies the attributes that are copied from the table into the index. - - :param non_key_attributes: The nonkey attributes that are projected into the index. For each attribute, provide the attribute name. - :param projection_type: The types of attributes that are projected into the index. - - :return: AwsDynamoDbTableProjection object - """ - - non_key_attributes: Optional[StringList] - projection_type: Optional[NonEmptyString] - - -class AwsDynamoDbTableProvisionedThroughput(ASFFBaseModel): - """ - Information about the provisioned throughput for the table or for a global secondary index. - - :param last_decrease_date_time: Indicates when the provisioned throughput was last decreased. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param last_increase_date_time: Indicates when the provisioned throughput was last increased. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param number_of_decreases_today: The number of times during the current UTC calendar day that the provisioned throughput was decreased. - :param read_capacity_units: The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. - :param write_capacity_units: The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. - - :return: AwsDynamoDbTableProvisionedThroughput object - """ - - last_decrease_date_time: Optional[Iso8601Timestamp] - last_increase_date_time: Optional[Iso8601Timestamp] - number_of_decreases_today: Optional[Integer] - read_capacity_units: Optional[Integer] - write_capacity_units: Optional[Integer] - - -class AwsDynamoDbTableGlobalSecondaryIndex(ASFFBaseModel): - """ - Information abut a global secondary index for the table. - - :param backfilling: Whether the index is currently backfilling. - :param index_arn: The ARN of the index. - :param index_name: The name of the index. - :param index_size_bytes: The total size in bytes of the index. - :param index_status: The current status of the index. - :param item_count: The number of items in the index. - :param key_schema: The key schema for the index. - :param projection: Attributes that are copied from the table into an index. - :param provisioned_throughput: Information about the provisioned throughput settings for the indexes. - - :return: AwsDynamoDbTableGlobalSecondaryIndex object - """ - - backfilling: Optional[Boolean] - index_arn: Optional[NonEmptyString] - index_name: Optional[NonEmptyString] - index_size_bytes: Optional[SizeBytes] - index_status: Optional[NonEmptyString] - item_count: Optional[Integer] - key_schema: Optional[AwsDynamoDbTableKeySchemaList] - projection: Optional[AwsDynamoDbTableProjection] - provisioned_throughput: Optional[AwsDynamoDbTableProvisionedThroughput] - - -AwsDynamoDbTableGlobalSecondaryIndexList = List[AwsDynamoDbTableGlobalSecondaryIndex] - - -class AwsDynamoDbTableLocalSecondaryIndex(ASFFBaseModel): - """ - Information about a local secondary index for a DynamoDB table. - - :param index_arn: The ARN of the index. - :param index_name: The name of the index. - :param key_schema: The complete key schema for the index. - :param projection: Attributes that are copied from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. - - :return: AwsDynamoDbTableLocalSecondaryIndex object - """ - - index_arn: Optional[NonEmptyString] - index_name: Optional[NonEmptyString] - key_schema: Optional[AwsDynamoDbTableKeySchemaList] - projection: Optional[AwsDynamoDbTableProjection] - - -AwsDynamoDbTableLocalSecondaryIndexList = List[AwsDynamoDbTableLocalSecondaryIndex] - - -class AwsDynamoDbTableProvisionedThroughputOverride(ASFFBaseModel): - """ - Replica-specific configuration for the provisioned throughput. - - :param read_capacity_units: The read capacity units for the replica. - - :return: AwsDynamoDbTableProvisionedThroughputOverride object - """ - - read_capacity_units: Optional[Integer] - - -class AwsDynamoDbTableReplicaGlobalSecondaryIndex(ASFFBaseModel): - """ - Information about a global secondary index for a DynamoDB table replica. - - :param index_name: The name of the index. - :param provisioned_throughput_override: Replica-specific configuration for the provisioned throughput for the index. - - :return: AwsDynamoDbTableReplicaGlobalSecondaryIndex object - """ - - index_name: Optional[NonEmptyString] - provisioned_throughput_override: Optional[ - AwsDynamoDbTableProvisionedThroughputOverride - ] - - -AwsDynamoDbTableReplicaGlobalSecondaryIndexList = List[ - AwsDynamoDbTableReplicaGlobalSecondaryIndex -] - - -class AwsDynamoDbTableReplica(ASFFBaseModel): - """ - Information about a replica of a DynamoDB table. - - :param global_secondary_indexes: List of global secondary indexes for the replica. - :param kms_master_key_id: The identifier of the AWS KMS customer master key (CMK) that will be used for AWS KMS encryption for the replica. - :param provisioned_throughput_override: Replica-specific configuration for the provisioned throughput. - :param region_name: The name of the Region where the replica is located. - :param replica_status: The current status of the replica. - :param replica_status_description: Detailed information about the replica status. - - :return: AwsDynamoDbTableReplica object - """ - - global_secondary_indexes: Optional[AwsDynamoDbTableReplicaGlobalSecondaryIndexList] - kms_master_key_id: Optional[NonEmptyString] - provisioned_throughput_override: Optional[ - AwsDynamoDbTableProvisionedThroughputOverride - ] - region_name: Optional[NonEmptyString] - replica_status: Optional[NonEmptyString] - replica_status_description: Optional[NonEmptyString] - - -AwsDynamoDbTableReplicaList = List[AwsDynamoDbTableReplica] - - -class AwsDynamoDbTableRestoreSummary(ASFFBaseModel): - """ - Information about the restore for the table. - - :param source_backup_arn: The ARN of the source backup from which the table was restored. - :param source_table_arn: The ARN of the source table for the backup. - :param restore_date_time: Indicates the point in time that the table was restored to. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param restore_in_progress: Whether a restore is currently in progress. - - :return: AwsDynamoDbTableRestoreSummary object - """ - - source_backup_arn: Optional[NonEmptyString] - source_table_arn: Optional[NonEmptyString] - restore_date_time: Optional[Iso8601Timestamp] - restore_in_progress: Optional[Boolean] - - -class AwsDynamoDbTableSseDescription(ASFFBaseModel): - """ - Information about the server-side encryption for the table. - - :param inaccessible_encryption_date_time: If the key is inaccessible, the date and time when DynamoDB detected that the key was inaccessible. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param status: The status of the server-side encryption. - :param sse_type: The type of server-side encryption. - :param kms_master_key_arn: The ARN of the AWS KMS customer master key (CMK) that is used for the AWS KMS encryption. - - :return: AwsDynamoDbTableSseDescription object - """ - - inaccessible_encryption_date_time: Optional[Iso8601Timestamp] - status: Optional[NonEmptyString] - sse_type: Optional[NonEmptyString] - kms_master_key_arn: Optional[NonEmptyString] - - -class AwsDynamoDbTableStreamSpecification(ASFFBaseModel): - """ - The current DynamoDB Streams configuration for the table. - - :param stream_enabled: Indicates whether DynamoDB Streams is enabled on the table. - :param stream_view_type: Determines the information that is written to the table. - - :return: AwsDynamoDbTableStreamSpecification object - """ - - stream_enabled: Optional[Boolean] - stream_view_type: Optional[NonEmptyString] - - -class AwsDynamoDbTableDetails(ASFFBaseModel): - """ - Provides details about a DynamoDB table. - - :param attribute_definitions: A list of attribute definitions for the table. - :param billing_mode_summary: Information about the billing for read/write capacity on the table. - :param creation_date_time: Indicates when the table was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param global_secondary_indexes: List of global secondary indexes for the table. - :param global_table_version: The version of global tables being used. - :param item_count: The number of items in the table. - :param key_schema: The primary key structure for the table. - :param latest_stream_arn: The ARN of the latest stream for the table. - :param latest_stream_label: The label of the latest stream. The label is not a unique identifier. - :param local_secondary_indexes: The list of local secondary indexes for the table. - :param provisioned_throughput: Information about the provisioned throughput for the table. - :param replicas: The list of replicas of this table. - :param restore_summary: Information about the restore for the table. - :param sse_description: Information about the server-side encryption for the table. - :param stream_specification: The current DynamoDB Streams configuration for the table. - :param table_id: The identifier of the table. - :param table_name: The name of the table. - :param table_size_bytes: The total size of the table in bytes. - :param table_status: The current status of the table. - - :return: AwsDynamoDbTableDetails object - """ - - attribute_definitions: Optional[AwsDynamoDbTableAttributeDefinitionList] - billing_mode_summary: Optional[AwsDynamoDbTableBillingModeSummary] - creation_date_time: Optional[Iso8601Timestamp] - global_secondary_indexes: Optional[AwsDynamoDbTableGlobalSecondaryIndexList] - global_table_version: Optional[NonEmptyString] - item_count: Optional[Integer] - key_schema: Optional[AwsDynamoDbTableKeySchemaList] - latest_stream_arn: Optional[NonEmptyString] - latest_stream_label: Optional[NonEmptyString] - local_secondary_indexes: Optional[AwsDynamoDbTableLocalSecondaryIndexList] - provisioned_throughput: Optional[AwsDynamoDbTableProvisionedThroughput] - replicas: Optional[AwsDynamoDbTableReplicaList] - restore_summary: Optional[AwsDynamoDbTableRestoreSummary] - sse_description: Optional[AwsDynamoDbTableSseDescription] - stream_specification: Optional[AwsDynamoDbTableStreamSpecification] - table_id: Optional[NonEmptyString] - table_name: Optional[NonEmptyString] - table_size_bytes: Optional[SizeBytes] - table_status: Optional[NonEmptyString] - - -class AwsApiGatewayMethodSettings(ASFFBaseModel): - """ - Defines settings for a method for the stage. - - :param metrics_enabled: Indicates whether CloudWatch metrics are enabled for the method. - :param logging_level: The logging level for this method. The logging level affects the log entries that are pushed to CloudWatch Logs. If the logging level is ERROR, then the logs only include error-level entries. If the logging level is INFO, then the logs include both ERROR events and extra informational events. Valid values: OFF | ERROR | INFO - :param data_trace_enabled: Indicates whether data trace logging is enabled for the method. Data trace logging affects the log entries that are pushed to CloudWatch Logs. - :param throttling_burst_limit: The throttling burst limit for the method. - :param throttling_rate_limit: The throttling rate limit for the method. - :param caching_enabled: Indicates whether responses are cached and returned for requests. For responses to be cached, a cache cluster must be enabled on the stage. - :param cache_ttl_in_seconds: Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response is cached. - :param cache_data_encrypted: Indicates whether the cached responses are encrypted. - :param require_authorization_for_cache_control: Indicates whether authorization is required for a cache invalidation request. - :param unauthorized_cache_control_header_strategy: Indicates how to handle unauthorized requests for cache invalidation. Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER - :param http_method: The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to multiple methods. - :param resource_path: The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource. To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard to apply method settings to multiple methods. - - :return: AwsApiGatewayMethodSettings object - """ - - metrics_enabled: Optional[Boolean] - logging_level: Optional[NonEmptyString] - data_trace_enabled: Optional[Boolean] - throttling_burst_limit: Optional[Integer] - throttling_rate_limit: Optional[Double] - caching_enabled: Optional[Boolean] - cache_ttl_in_seconds: Optional[Integer] - cache_data_encrypted: Optional[Boolean] - require_authorization_for_cache_control: Optional[Boolean] - unauthorized_cache_control_header_strategy: Optional[NonEmptyString] - http_method: Optional[NonEmptyString] - resource_path: Optional[NonEmptyString] - - -AwsApiGatewayMethodSettingsList = List[AwsApiGatewayMethodSettings] - - -class AwsApiGatewayCanarySettings(ASFFBaseModel): - """ - Contains information about settings for canary deployment in the stage. - - :param percent_traffic: The percentage of traffic that is diverted to a canary deployment. - :param deployment_id: The deployment identifier for the canary deployment. - :param stage_variable_overrides: Stage variables that are overridden in the canary release deployment. The variables include new stage variables that are introduced in the canary. Each variable is represented as a string-to-string map between the stage variable name and the variable value. - :param use_stage_cache: Indicates whether the canary deployment uses the stage cache. - - :return: AwsApiGatewayCanarySettings object - """ - - percent_traffic: Optional[Double] - deployment_id: Optional[NonEmptyString] - stage_variable_overrides: Optional[FieldMap] - use_stage_cache: Optional[Boolean] - - -class AwsApiGatewayStageDetails(ASFFBaseModel): - """ - Provides information about a version 1 Amazon API Gateway stage. - - :param deployment_id: The identifier of the deployment that the stage points to. - :param client_certificate_id: The identifier of the client certificate for the stage. - :param stage_name: The name of the stage. - :param description: A description of the stage. - :param cache_cluster_enabled: Indicates whether a cache cluster is enabled for the stage. - :param cache_cluster_size: If a cache cluster is enabled, the size of the cache cluster. - :param cache_cluster_status: If a cache cluster is enabled, the status of the cache cluster. - :param method_settings: Defines the method settings for the stage. - :param variables: A map that defines the stage variables for the stage. Variable names can have alphanumeric and underscore characters. Variable values can contain the following characters: Uppercase and lowercase letters Numbers Special characters -._~:/?#&=, - :param documentation_version: The version of the API documentation that is associated with the stage. - :param access_log_settings: Settings for logging access for the stage. - :param canary_settings: Information about settings for canary deployment in the stage. - :param tracing_enabled: Indicates whether active tracing with AWS X-Ray is enabled for the stage. - :param created_date: Indicates when the stage was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param last_updated_date: Indicates when the stage was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param web_acl_arn: The ARN of the web ACL associated with the stage. - - :return: AwsApiGatewayStageDetails object - """ - - deployment_id: Optional[NonEmptyString] - client_certificate_id: Optional[NonEmptyString] - stage_name: Optional[NonEmptyString] - description: Optional[NonEmptyString] - cache_cluster_enabled: Optional[Boolean] - cache_cluster_size: Optional[NonEmptyString] - cache_cluster_status: Optional[NonEmptyString] - method_settings: Optional[AwsApiGatewayMethodSettingsList] - variables: Optional[FieldMap] - documentation_version: Optional[NonEmptyString] - access_log_settings: Optional[AwsApiGatewayAccessLogSettings] - canary_settings: Optional[AwsApiGatewayCanarySettings] - tracing_enabled: Optional[Boolean] - created_date: Optional[Iso8601Timestamp] - last_updated_date: Optional[NonEmptyString] - web_acl_arn: Optional[NonEmptyString] - - -class AwsApiGatewayEndpointConfiguration(ASFFBaseModel): - """ - Contains information about the endpoints for the API. - - :param types: A list of endpoint types for the REST API. For an edge-optimized API, the endpoint type is EDGE. For a Regional API, the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE. - - :return: AwsApiGatewayEndpointConfiguration object - """ - - types: Optional[NonEmptyStringList] - - -class AwsApiGatewayRestApiDetails(ASFFBaseModel): - """ - contains information about a REST API in version 1 of Amazon API Gateway. - - :param id: The identifier of the REST API. - :param name: The name of the REST API. - :param description: A description of the REST API. - :param created_date: Indicates when the API was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param version: The version identifier for the REST API. - :param binary_media_types: The list of binary media types supported by the REST API. - :param minimum_compression_size: The minimum size in bytes of a payload before compression is enabled. If null, then compression is disabled. If 0, then all payloads are compressed. - :param api_key_source: The source of the API key for metering requests according to a usage plan. HEADER indicates whether to read the API key from the X-API-Key header of a request. AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey from a custom authorizer. - :param endpoint_configuration: The endpoint configuration of the REST API. - - :return: AwsApiGatewayRestApiDetails object - """ - - id: Optional[NonEmptyString] - name: Optional[NonEmptyString] - description: Optional[NonEmptyString] - created_date: Optional[Iso8601Timestamp] - version: Optional[NonEmptyString] - binary_media_types: Optional[NonEmptyStringList] - minimum_compression_size: Optional[Integer] - api_key_source: Optional[NonEmptyString] - endpoint_configuration: Optional[AwsApiGatewayEndpointConfiguration] - - -class AwsCloudTrailTrailDetails(ASFFBaseModel): - """ - Provides details about a CloudTrail trail. - - :param cloud_watch_logs_log_group_arn: The ARN of the log group that CloudTrail logs are delivered to. - :param cloud_watch_logs_role_arn: The ARN of the role that the CloudWatch Logs endpoint assumes when it writes to the log group. - :param has_custom_event_selectors: Indicates whether the trail has custom event selectors. - :param home_region: The Region where the trail was created. - :param include_global_service_events: Indicates whether the trail publishes events from global services such as IAM to the log files. - :param is_multi_region_trail: Indicates whether the trail applies only to the current Region or to all Regions. - :param is_organization_trail: Whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account. - :param kms_key_id: The AWS KMS key ID to use to encrypt the logs. - :param log_file_validation_enabled: Indicates whether CloudTrail log file validation is enabled. - :param name: The name of the trail. - :param s3_bucket_name: The name of the S3 bucket where the log files are published. - :param s3_key_prefix: The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log files are published. - :param sns_topic_arn: The ARN of the SNS topic that is used for notifications of log file delivery. - :param sns_topic_name: The name of the SNS topic that is used for notifications of log file delivery. - :param trail_arn: The ARN of the trail. - - :return: AwsCloudTrailTrailDetails object - """ - - cloud_watch_logs_log_group_arn: Optional[NonEmptyString] - cloud_watch_logs_role_arn: Optional[NonEmptyString] - has_custom_event_selectors: Optional[Boolean] - home_region: Optional[NonEmptyString] - include_global_service_events: Optional[Boolean] - is_multi_region_trail: Optional[Boolean] - is_organization_trail: Optional[Boolean] - kms_key_id: Optional[NonEmptyString] - log_file_validation_enabled: Optional[Boolean] - name: Optional[NonEmptyString] - s3_bucket_name: Optional[NonEmptyString] - s3_key_prefix: Optional[NonEmptyString] - sns_topic_arn: Optional[NonEmptyString] - sns_topic_name: Optional[NonEmptyString] - trail_arn: Optional[NonEmptyString] - - -class AwsSsmComplianceSummary(ASFFBaseModel): - """ - Provides the details about the compliance status for a patch. - - :param status: The current patch compliance status. The possible status values are: COMPLIANT NON_COMPLIANT UNSPECIFIED_DATA - :param compliant_critical_count: For the patches that are compliant, the number that have a severity of CRITICAL. - :param compliant_high_count: For the patches that are compliant, the number that have a severity of HIGH. - :param compliant_medium_count: For the patches that are compliant, the number that have a severity of MEDIUM. - :param execution_type: The type of execution that was used determine compliance. - :param non_compliant_critical_count: For the patch items that are noncompliant, the number of items that have a severity of CRITICAL. - :param compliant_informational_count: For the patches that are compliant, the number that have a severity of INFORMATIONAL. - :param non_compliant_informational_count: For the patches that are noncompliant, the number that have a severity of INFORMATIONAL. - :param compliant_unspecified_count: For the patches that are compliant, the number that have a severity of UNSPECIFIED. - :param non_compliant_low_count: For the patches that are noncompliant, the number that have a severity of LOW. - :param non_compliant_high_count: For the patches that are noncompliant, the number that have a severity of HIGH. - :param compliant_low_count: For the patches that are compliant, the number that have a severity of LOW. - :param compliance_type: The type of resource for which the compliance was determined. For AwsSsmPatchCompliance, ComplianceType is Patch. - :param patch_baseline_id: The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation. - :param overall_severity: The highest severity for the patches. - :param non_compliant_medium_count: For the patches that are noncompliant, the number that have a severity of MEDIUM. - :param non_compliant_unspecified_count: For the patches that are noncompliant, the number that have a severity of UNSPECIFIED. - :param patch_group: The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance. - - :return: AwsSsmComplianceSummary object - """ - - status: Optional[NonEmptyString] - compliant_critical_count: Optional[Integer] - compliant_high_count: Optional[Integer] - compliant_medium_count: Optional[Integer] - execution_type: Optional[NonEmptyString] - non_compliant_critical_count: Optional[Integer] - compliant_informational_count: Optional[Integer] - non_compliant_informational_count: Optional[Integer] - compliant_unspecified_count: Optional[Integer] - non_compliant_low_count: Optional[Integer] - non_compliant_high_count: Optional[Integer] - compliant_low_count: Optional[Integer] - compliance_type: Optional[NonEmptyString] - patch_baseline_id: Optional[NonEmptyString] - overall_severity: Optional[NonEmptyString] - non_compliant_medium_count: Optional[Integer] - non_compliant_unspecified_count: Optional[Integer] - patch_group: Optional[NonEmptyString] - - -class AwsSsmPatch(ASFFBaseModel): - """ - Provides details about the compliance for a patch. - - :param compliance_summary: The compliance status details for the patch. - - :return: AwsSsmPatch object - """ - - compliance_summary: Optional[AwsSsmComplianceSummary] - - -class AwsSsmPatchComplianceDetails(ASFFBaseModel): - """ - Provides information about the state of a patch on an instance based on the patch baseline that was used to patch the instance. - - :param patch: Information about the status of a patch. - - :return: AwsSsmPatchComplianceDetails object - """ - - patch: Optional[AwsSsmPatch] - - -class AwsCertificateManagerCertificateExtendedKeyUsage(ASFFBaseModel): - """ - Contains information about an extended key usage X.509 v3 extension object. - - :param name: The name of an extension value. Indicates the purpose for which the certificate public key can be used. - :param o_id: An object identifier (OID) for the extension value. The format is numbers separated by periods. - - :return: AwsCertificateManagerCertificateExtendedKeyUsage object - """ - - name: Optional[NonEmptyString] - o_id: Optional[NonEmptyString] - - -AwsCertificateManagerCertificateExtendedKeyUsages = List[ - AwsCertificateManagerCertificateExtendedKeyUsage -] - - -class AwsCertificateManagerCertificateKeyUsage(ASFFBaseModel): - """ - Contains information about a key usage X.509 v3 extension object. - - :param name: The key usage extension name. - - :return: AwsCertificateManagerCertificateKeyUsage object - """ - - name: Optional[NonEmptyString] - - -AwsCertificateManagerCertificateKeyUsages = List[ - AwsCertificateManagerCertificateKeyUsage -] - - -class AwsCertificateManagerCertificateOptions(ASFFBaseModel): - """ - Contains other options for the certificate. - - :param certificate_transparency_logging_preference: Whether to add the certificate to a transparency log. Valid values: DISABLED | ENABLED - - :return: AwsCertificateManagerCertificateOptions object - """ - - certificate_transparency_logging_preference: Optional[NonEmptyString] - - -class AwsCertificateManagerCertificateResourceRecord(ASFFBaseModel): - """ - Provides details about the CNAME record that is added to the DNS database for domain validation. - - :param name: The name of the resource. - :param type: The type of resource. - :param value: The value of the resource. - - :return: AwsCertificateManagerCertificateResourceRecord object - """ - - name: Optional[NonEmptyString] - type: Optional[NonEmptyString] - value: Optional[NonEmptyString] - - -class AwsCertificateManagerCertificateDomainValidationOption(ASFFBaseModel): - """ - Contains information about one of the following: The initial validation of each domain name that occurs as a result of the RequestCertificate request The validation of each domain name in the certificate, as it pertains to AWS Certificate Manager managed renewal - - :param domain_name: A fully qualified domain name (FQDN) in the certificate. - :param resource_record: The CNAME record that is added to the DNS database for domain validation. - :param validation_domain: The domain name that AWS Certificate Manager uses to send domain validation emails. - :param validation_emails: A list of email addresses that AWS Certificate Manager uses to send domain validation emails. - :param validation_method: The method used to validate the domain name. - :param validation_status: The validation status of the domain name. - - :return: AwsCertificateManagerCertificateDomainValidationOption object - """ - - domain_name: Optional[NonEmptyString] - resource_record: Optional[AwsCertificateManagerCertificateResourceRecord] - validation_domain: Optional[NonEmptyString] - validation_emails: Optional[StringList] - validation_method: Optional[NonEmptyString] - validation_status: Optional[NonEmptyString] - - -AwsCertificateManagerCertificateDomainValidationOptions = List[ - AwsCertificateManagerCertificateDomainValidationOption -] - - -class AwsCertificateManagerCertificateRenewalSummary(ASFFBaseModel): - """ - Contains information about the AWS Certificate Manager managed renewal for an AMAZON_ISSUED certificate. - - :param domain_validation_options: Information about the validation of each domain name in the certificate, as it pertains to AWS Certificate Manager managed renewal. Provided only when the certificate type is AMAZON_ISSUED. - :param renewal_status: The status of the AWS Certificate Manager managed renewal of the certificate. Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED - :param renewal_status_reason: The reason that a renewal request was unsuccessful. Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER - :param updated_at: Indicates when the renewal summary was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsCertificateManagerCertificateRenewalSummary object - """ - - domain_validation_options: Optional[ - AwsCertificateManagerCertificateDomainValidationOptions - ] - renewal_status: Optional[NonEmptyString] - renewal_status_reason: Optional[NonEmptyString] - updated_at: Optional[Iso8601Timestamp] - - -class AwsCertificateManagerCertificateDetails(ASFFBaseModel): - """ - Provides details about an AWS Certificate Manager certificate. - - :param certificate_authority_arn: The ARN of the private certificate authority (CA) that will be used to issue the certificate. - :param created_at: Indicates when the certificate was requested. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param domain_name: The fully qualified domain name (FQDN), such as www.example.com, that is secured by the certificate. - :param domain_validation_options: Contains information about the initial validation of each domain name that occurs as a result of the RequestCertificate request. Only provided if the certificate type is AMAZON_ISSUED. - :param extended_key_usages: Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID). - :param failure_reason: For a failed certificate request, the reason for the failure. Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER - :param imported_at: Indicates when the certificate was imported. Provided if the certificate type is IMPORTED. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param in_use_by: The list of ARNs for the AWS resources that use the certificate. - :param issued_at: Indicates when the certificate was issued. Provided if the certificate type is AMAZON_ISSUED. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param issuer: The name of the certificate authority that issued and signed the certificate. - :param key_algorithm: The algorithm that was used to generate the public-private key pair. Valid values: RSA_2048 | RSA_1024 | RSA_4096 | EC_prime256v1 | EC_secp384r1 | EC_secp521r1 - :param key_usages: A list of key usage X.509 v3 extension objects. - :param not_after: The time after which the certificate becomes invalid. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param not_before: The time before which the certificate is not valid. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param options: Provides a value that specifies whether to add the certificate to a transparency log. - :param renewal_eligibility: Whether the certificate is eligible for renewal. Valid values: ELIGIBLE | INELIGIBLE - :param renewal_summary: Information about the status of the AWS Certificate Manager managed renewal for the certificate. Provided only when the certificate type is AMAZON_ISSUED. - :param serial: The serial number of the certificate. - :param signature_algorithm: The algorithm that was used to sign the certificate. - :param status: The status of the certificate. Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT | REVOKED | FAILED - :param subject: The name of the entity that is associated with the public key contained in the certificate. - :param subject_alternative_names: One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. - :param type: The source of the certificate. For certificates that AWS Certificate Manager provides, Type is AMAZON_ISSUED. For certificates that are imported with ImportCertificate, Type is IMPORTED. Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE - - :return: AwsCertificateManagerCertificateDetails object - """ - - certificate_authority_arn: Optional[NonEmptyString] - created_at: Optional[Iso8601Timestamp] - domain_name: Optional[NonEmptyString] - domain_validation_options: Optional[ - AwsCertificateManagerCertificateDomainValidationOptions - ] - extended_key_usages: Optional[AwsCertificateManagerCertificateExtendedKeyUsages] - failure_reason: Optional[NonEmptyString] - imported_at: Optional[NonEmptyString] - in_use_by: Optional[StringList] - issued_at: Optional[NonEmptyString] - issuer: Optional[NonEmptyString] - key_algorithm: Optional[NonEmptyString] - key_usages: Optional[AwsCertificateManagerCertificateKeyUsages] - not_after: Optional[NonEmptyString] - not_before: Optional[NonEmptyString] - options: Optional[AwsCertificateManagerCertificateOptions] - renewal_eligibility: Optional[NonEmptyString] - renewal_summary: Optional[AwsCertificateManagerCertificateRenewalSummary] - serial: Optional[NonEmptyString] - signature_algorithm: Optional[NonEmptyString] - status: Optional[NonEmptyString] - subject: Optional[NonEmptyString] - subject_alternative_names: Optional[StringList] - type: Optional[NonEmptyString] - - -class AwsRedshiftClusterClusterNode(ASFFBaseModel): - """ - A node in an Amazon Redshift cluster. - - :param node_role: The role of the node. A node might be a leader node or a compute node. - :param private_ip_address: The private IP address of the node. - :param public_ip_address: The public IP address of the node. - - :return: AwsRedshiftClusterClusterNode object - """ - - node_role: Optional[NonEmptyString] - private_ip_address: Optional[NonEmptyString] - public_ip_address: Optional[NonEmptyString] - - -AwsRedshiftClusterClusterNodes = List[AwsRedshiftClusterClusterNode] - - -class AwsRedshiftClusterClusterParameterStatus(ASFFBaseModel): - """ - The status of a parameter in a cluster parameter group for an Amazon Redshift cluster. - - :param parameter_name: The name of the parameter. - :param parameter_apply_status: The status of the parameter. Indicates whether the parameter is in sync with the database, waiting for a cluster reboot, or encountered an error when it was applied. Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred | apply-error | unknown-error - :param parameter_apply_error_description: The error that prevented the parameter from being applied to the database. - - :return: AwsRedshiftClusterClusterParameterStatus object - """ - - parameter_name: Optional[NonEmptyString] - parameter_apply_status: Optional[NonEmptyString] - parameter_apply_error_description: Optional[NonEmptyString] - - -AwsRedshiftClusterClusterParameterStatusList = List[ - AwsRedshiftClusterClusterParameterStatus -] - - -class AwsRedshiftClusterClusterParameterGroup(ASFFBaseModel): - """ - A cluster parameter group that is associated with an Amazon Redshift cluster. - - :param cluster_parameter_status_list: The list of parameter statuses. - :param parameter_apply_status: The status of updates to the parameters. - :param parameter_group_name: The name of the parameter group. - - :return: AwsRedshiftClusterClusterParameterGroup object - """ - - cluster_parameter_status_list: Optional[ - AwsRedshiftClusterClusterParameterStatusList - ] - parameter_apply_status: Optional[NonEmptyString] - parameter_group_name: Optional[NonEmptyString] - - -AwsRedshiftClusterClusterParameterGroups = List[AwsRedshiftClusterClusterParameterGroup] - - -class AwsRedshiftClusterClusterSecurityGroup(ASFFBaseModel): - """ - A security group that is associated with the cluster. - - :param cluster_security_group_name: The name of the cluster security group. - :param status: The status of the cluster security group. - - :return: AwsRedshiftClusterClusterSecurityGroup object - """ - - cluster_security_group_name: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -AwsRedshiftClusterClusterSecurityGroups = List[AwsRedshiftClusterClusterSecurityGroup] - - -class AwsRedshiftClusterClusterSnapshotCopyStatus(ASFFBaseModel): - """ - Information about a cross-Region snapshot copy. - - :param destination_region: The destination Region that snapshots are automatically copied to when cross-Region snapshot copy is enabled. - :param manual_snapshot_retention_period: The number of days that manual snapshots are retained in the destination region after they are copied from a source region. If the value is -1, then the manual snapshot is retained indefinitely. Valid values: Either -1 or an integer between 1 and 3,653 - :param retention_period: The number of days to retain automated snapshots in the destination Region after they are copied from a source Region. - :param snapshot_copy_grant_name: The name of the snapshot copy grant. - - :return: AwsRedshiftClusterClusterSnapshotCopyStatus object - """ - - destination_region: Optional[NonEmptyString] - manual_snapshot_retention_period: Optional[Integer] - retention_period: Optional[Integer] - snapshot_copy_grant_name: Optional[NonEmptyString] - - -class AwsRedshiftClusterDeferredMaintenanceWindow(ASFFBaseModel): - """ - A time windows during which maintenance was deferred for an Amazon Redshift cluster. - - :param defer_maintenance_end_time: The end of the time window for which maintenance was deferred. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param defer_maintenance_identifier: The identifier of the maintenance window. - :param defer_maintenance_start_time: The start of the time window for which maintenance was deferred. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsRedshiftClusterDeferredMaintenanceWindow object - """ - - defer_maintenance_end_time: Optional[NonEmptyString] - defer_maintenance_identifier: Optional[NonEmptyString] - defer_maintenance_start_time: Optional[NonEmptyString] - - -AwsRedshiftClusterDeferredMaintenanceWindows = List[ - AwsRedshiftClusterDeferredMaintenanceWindow -] - - -class AwsRedshiftClusterElasticIpStatus(ASFFBaseModel): - """ - The status of the elastic IP (EIP) address for an Amazon Redshift cluster. - - :param elastic_ip: The elastic IP address for the cluster. - :param status: The status of the elastic IP address. - - :return: AwsRedshiftClusterElasticIpStatus object - """ - - elastic_ip: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -class AwsRedshiftClusterEndpoint(ASFFBaseModel): - """ - The connection endpoint for an Amazon Redshift cluster. - - :param address: The DNS address of the cluster. - :param port: The port that the database engine listens on. - - :return: AwsRedshiftClusterEndpoint object - """ - - address: Optional[NonEmptyString] - port: Optional[Integer] - - -class AwsRedshiftClusterHsmStatus(ASFFBaseModel): - """ - Information about whether an Amazon Redshift cluster finished applying any hardware changes to security module (HSM) settings that were specified in a modify cluster command. - - :param hsm_client_certificate_identifier: The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve the data encryption keys that are stored in an HSM. - :param hsm_configuration_identifier: The name of the HSM configuration that contains the information that the Amazon Redshift cluster can use to retrieve and store keys in an HSM. - :param status: Indicates whether the Amazon Redshift cluster has finished applying any HSM settings changes specified in a modify cluster command. Type: String Valid values: active | applying - - :return: AwsRedshiftClusterHsmStatus object - """ - - hsm_client_certificate_identifier: Optional[NonEmptyString] - hsm_configuration_identifier: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -class AwsRedshiftClusterIamRole(ASFFBaseModel): - """ - An IAM role that the cluster can use to access other AWS services. - - :param apply_status: The status of the IAM role's association with the cluster. Valid values: in-sync | adding | removing - :param iam_role_arn: The ARN of the IAM role. - - :return: AwsRedshiftClusterIamRole object - """ - - apply_status: Optional[NonEmptyString] - iam_role_arn: Optional[NonEmptyString] - - -AwsRedshiftClusterIamRoles = List[AwsRedshiftClusterIamRole] - - -class AwsRedshiftClusterPendingModifiedValues(ASFFBaseModel): - """ - Changes to the Amazon Redshift cluster that are currently pending. - - :param automated_snapshot_retention_period: The pending or in-progress change to the automated snapshot retention period. - :param cluster_identifier: The pending or in-progress change to the identifier for the cluster. - :param cluster_type: The pending or in-progress change to the cluster type. - :param cluster_version: The pending or in-progress change to the service version. - :param encryption_type: The encryption type for a cluster. - :param enhanced_vpc_routing: Indicates whether to create the cluster with enhanced VPC routing enabled. - :param maintenance_track_name: The name of the maintenance track that the cluster changes to during the next maintenance window. - :param master_user_password: The pending or in-progress change to the master user password for the cluster. - :param node_type: The pending or in-progress change to the cluster's node type. - :param number_of_nodes: The pending or in-progress change to the number of nodes in the cluster. - :param publicly_accessible: The pending or in-progress change to whether the cluster can be connected to from the public network. - - :return: AwsRedshiftClusterPendingModifiedValues object - """ - - automated_snapshot_retention_period: Optional[Integer] - cluster_identifier: Optional[NonEmptyString] - cluster_type: Optional[NonEmptyString] - cluster_version: Optional[NonEmptyString] - encryption_type: Optional[NonEmptyString] - enhanced_vpc_routing: Optional[Boolean] - maintenance_track_name: Optional[NonEmptyString] - master_user_password: Optional[NonEmptyString] - node_type: Optional[NonEmptyString] - number_of_nodes: Optional[Integer] - publicly_accessible: Optional[Boolean] - - -class AwsRedshiftClusterResizeInfo(ASFFBaseModel): - """ - Information about the resize operation for the cluster. - - :param allow_cancel_resize: Indicates whether the resize operation can be canceled. - :param resize_type: The type of resize operation. Valid values: ClassicResize - - :return: AwsRedshiftClusterResizeInfo object - """ - - allow_cancel_resize: Optional[Boolean] - resize_type: Optional[NonEmptyString] - - -class AwsRedshiftClusterRestoreStatus(ASFFBaseModel): - """ - Information about the status of a cluster restore action. It only applies if the cluster was created by restoring a snapshot. - - :param current_restore_rate_in_mega_bytes_per_second: The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup. This field is only updated when you restore to DC2 and DS2 node types. - :param elapsed_time_in_seconds: The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish. This field is only updated when you restore to DC2 and DS2 node types. - :param estimated_time_to_completion_in_seconds: The estimate of the time remaining before the restore is complete. Returns 0 for a completed restore. This field is only updated when you restore to DC2 and DS2 node types. - :param progress_in_mega_bytes: The number of megabytes that were transferred from snapshot storage. This field is only updated when you restore to DC2 and DS2 node types. - :param snapshot_size_in_mega_bytes: The size of the set of snapshot data that was used to restore the cluster. This field is only updated when you restore to DC2 and DS2 node types. - :param status: The status of the restore action. Valid values: starting | restoring | completed | failed - - :return: AwsRedshiftClusterRestoreStatus object - """ - - current_restore_rate_in_mega_bytes_per_second: Optional[Double] - elapsed_time_in_seconds: Optional[Long] - estimated_time_to_completion_in_seconds: Optional[Long] - progress_in_mega_bytes: Optional[Long] - snapshot_size_in_mega_bytes: Optional[Long] - status: Optional[NonEmptyString] - - -class AwsRedshiftClusterVpcSecurityGroup(ASFFBaseModel): - """ - A VPC security group that the cluster belongs to, if the cluster is in a VPC. - - :param status: The status of the VPC security group. - :param vpc_security_group_id: The identifier of the VPC security group. - - :return: AwsRedshiftClusterVpcSecurityGroup object - """ - - status: Optional[NonEmptyString] - vpc_security_group_id: Optional[NonEmptyString] - - -AwsRedshiftClusterVpcSecurityGroups = List[AwsRedshiftClusterVpcSecurityGroup] - - -class AwsRedshiftClusterDetails(ASFFBaseModel): - """ - Details about an Amazon Redshift cluster. - - :param allow_version_upgrade: Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window. - :param automated_snapshot_retention_period: The number of days that automatic cluster snapshots are retained. - :param availability_zone: The name of the Availability Zone in which the cluster is located. - :param cluster_availability_status: The availability status of the cluster for queries. Possible values are the following: Available - The cluster is available for queries. Unavailable - The cluster is not available for queries. Maintenance - The cluster is intermittently available for queries due to maintenance activities. Modifying -The cluster is intermittently available for queries due to changes that modify the cluster. Failed - The cluster failed and is not available for queries. - :param cluster_create_time: Indicates when the cluster was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param cluster_identifier: The unique identifier of the cluster. - :param cluster_nodes: The nodes in the cluster. - :param cluster_parameter_groups: The list of cluster parameter groups that are associated with this cluster. - :param cluster_public_key: The public key for the cluster. - :param cluster_revision_number: The specific revision number of the database in the cluster. - :param cluster_security_groups: A list of cluster security groups that are associated with the cluster. - :param cluster_snapshot_copy_status: Information about the destination Region and retention period for the cross-Region snapshot copy. - :param cluster_status: The current status of the cluster. Valid values: available | available, prep-for-resize | available, resize-cleanup | cancelling-resize | creating | deleting | final-snapshot | hardware-failure | incompatible-hsm | incompatible-network | incompatible-parameters | incompatible-restore | modifying | paused | rebooting | renaming | resizing | rotating-keys | storage-full | updating-hsm - :param cluster_subnet_group_name: The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster is in a VPC. - :param cluster_version: The version ID of the Amazon Redshift engine that runs on the cluster. - :param db_name: The name of the initial database that was created when the cluster was created. The same name is returned for the life of the cluster. If an initial database is not specified, a database named devdev is created by default. - :param deferred_maintenance_windows: List of time windows during which maintenance was deferred. - :param elastic_ip_status: Information about the status of the Elastic IP (EIP) address. - :param elastic_resize_number_of_node_options: The number of nodes that you can use the elastic resize method to resize the cluster to. - :param encrypted: Indicates whether the data in the cluster is encrypted at rest. - :param endpoint: The connection endpoint. - :param enhanced_vpc_routing: Indicates whether to create the cluster with enhanced VPC routing enabled. - :param expected_next_snapshot_schedule_time: Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule and have backups enabled. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param expected_next_snapshot_schedule_time_status: The status of the next expected snapshot. Valid values: OnTrack | Pending - :param hsm_status: Information about whether the Amazon Redshift cluster finished applying any changes to hardware security module (HSM) settings that were specified in a modify cluster command. - :param iam_roles: A list of IAM roles that the cluster can use to access other AWS services. - :param kms_key_id: The identifier of the AWS KMS encryption key that is used to encrypt data in the cluster. - :param maintenance_track_name: The name of the maintenance track for the cluster. - :param manual_snapshot_retention_period: The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values: Either -1 or an integer between 1 and 3,653 - :param master_username: The master user name for the cluster. This name is used to connect to the database that is specified in as the value of DBName. - :param next_maintenance_window_start_time: Indicates the start of the next maintenance window. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param node_type: The node type for the nodes in the cluster. - :param number_of_nodes: The number of compute nodes in the cluster. - :param pending_actions: A list of cluster operations that are waiting to start. - :param pending_modified_values: A list of changes to the cluster that are currently pending. - :param preferred_maintenance_window: The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur. Format: <day>:HH:MM-<day>:HH:MM For the day values, use mon | tue | wed | thu | fri | sat | sun For example, sun:09:32-sun:10:02 - :param publicly_accessible: Whether the cluster can be accessed from a public network. - :param resize_info: Information about the resize operation for the cluster. - :param restore_status: Information about the status of a cluster restore action. Only applies to a cluster that was created by restoring a snapshot. - :param snapshot_schedule_identifier: A unique identifier for the cluster snapshot schedule. - :param snapshot_schedule_state: The current state of the cluster snapshot schedule. Valid values: MODIFYING | ACTIVE | FAILED - :param vpc_id: The identifier of the VPC that the cluster is in, if the cluster is in a VPC. - :param vpc_security_groups: The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. - - :return: AwsRedshiftClusterDetails object - """ - - allow_version_upgrade: Optional[Boolean] - automated_snapshot_retention_period: Optional[Integer] - availability_zone: Optional[NonEmptyString] - cluster_availability_status: Optional[NonEmptyString] - cluster_create_time: Optional[Iso8601Timestamp] - cluster_identifier: Optional[NonEmptyString] - cluster_nodes: Optional[AwsRedshiftClusterClusterNodes] - cluster_parameter_groups: Optional[AwsRedshiftClusterClusterParameterGroups] - cluster_public_key: Optional[NonEmptyString] - cluster_revision_number: Optional[NonEmptyString] - cluster_security_groups: Optional[AwsRedshiftClusterClusterSecurityGroups] - cluster_snapshot_copy_status: Optional[AwsRedshiftClusterClusterSnapshotCopyStatus] - cluster_status: Optional[NonEmptyString] - cluster_subnet_group_name: Optional[NonEmptyString] - cluster_version: Optional[NonEmptyString] - db_name: Optional[NonEmptyString] - deferred_maintenance_windows: Optional[AwsRedshiftClusterDeferredMaintenanceWindows] - elastic_ip_status: Optional[AwsRedshiftClusterElasticIpStatus] - elastic_resize_number_of_node_options: Optional[NonEmptyString] - encrypted: Optional[Boolean] - endpoint: Optional[AwsRedshiftClusterEndpoint] - enhanced_vpc_routing: Optional[Boolean] - expected_next_snapshot_schedule_time: Optional[NonEmptyString] - expected_next_snapshot_schedule_time_status: Optional[NonEmptyString] - hsm_status: Optional[AwsRedshiftClusterHsmStatus] - iam_roles: Optional[AwsRedshiftClusterIamRoles] - kms_key_id: Optional[NonEmptyString] - maintenance_track_name: Optional[NonEmptyString] - manual_snapshot_retention_period: Optional[Integer] - master_username: Optional[NonEmptyString] - next_maintenance_window_start_time: Optional[NonEmptyString] - node_type: Optional[NonEmptyString] - number_of_nodes: Optional[Integer] - pending_actions: Optional[StringList] - pending_modified_values: Optional[AwsRedshiftClusterPendingModifiedValues] - preferred_maintenance_window: Optional[NonEmptyString] - publicly_accessible: Optional[Boolean] - resize_info: Optional[AwsRedshiftClusterResizeInfo] - restore_status: Optional[AwsRedshiftClusterRestoreStatus] - snapshot_schedule_identifier: Optional[NonEmptyString] - snapshot_schedule_state: Optional[NonEmptyString] - vpc_id: Optional[NonEmptyString] - vpc_security_groups: Optional[AwsRedshiftClusterVpcSecurityGroups] - - -class AwsElbLoadBalancerBackendServerDescription(ASFFBaseModel): - """ - Provides information about the configuration of an EC2 instance for the load balancer. - - :param instance_port: The port on which the EC2 instance is listening. - :param policy_names: The names of the policies that are enabled for the EC2 instance. - - :return: AwsElbLoadBalancerBackendServerDescription object - """ - - instance_port: Optional[Integer] - policy_names: Optional[StringList] - - -AwsElbLoadBalancerBackendServerDescriptions = List[ - AwsElbLoadBalancerBackendServerDescription -] - - -class AwsElbLoadBalancerHealthCheck(ASFFBaseModel): - """ - Contains information about the health checks that are conducted on the load balancer. - - :param healthy_threshold: The number of consecutive health check successes required before the instance is moved to the Healthy state. - :param interval: The approximate interval, in seconds, between health checks of an individual instance. - :param target: The instance that is being checked. The target specifies the protocol and port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of valid ports is 1 through 65535. For the HTTP and HTTPS protocols, the target also specifies the ping path. For the TCP protocol, the target is specified as TCP: <port> . For the SSL protocol, the target is specified as SSL.<port> . For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path to ping> . - :param timeout: The amount of time, in seconds, during which no response means a failed health check. - :param unhealthy_threshold: The number of consecutive health check failures that must occur before the instance is moved to the Unhealthy state. - - :return: AwsElbLoadBalancerHealthCheck object - """ - - healthy_threshold: Optional[Integer] - interval: Optional[Integer] - target: Optional[NonEmptyString] - timeout: Optional[Integer] - unhealthy_threshold: Optional[Integer] - - -class AwsElbLoadBalancerInstance(ASFFBaseModel): - """ - Provides information about an EC2 instance for a load balancer. - - :param instance_id: The instance identifier. - - :return: AwsElbLoadBalancerInstance object - """ - - instance_id: Optional[NonEmptyString] - - -AwsElbLoadBalancerInstances = List[AwsElbLoadBalancerInstance] - - -class AwsElbLoadBalancerListener(ASFFBaseModel): - """ - Information about a load balancer listener. - - :param instance_port: The port on which the instance is listening. - :param instance_protocol: The protocol to use to route traffic to instances. Valid values: HTTP | HTTPS | TCP | SSL - :param load_balancer_port: The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535. - :param protocol: The load balancer transport protocol to use for routing. Valid values: HTTP | HTTPS | TCP | SSL - :param ssl_certificate_id: The ARN of the server certificate. - - :return: AwsElbLoadBalancerListener object - """ - - instance_port: Optional[Integer] - instance_protocol: Optional[NonEmptyString] - load_balancer_port: Optional[Integer] - protocol: Optional[NonEmptyString] - ssl_certificate_id: Optional[NonEmptyString] - - -class AwsElbLoadBalancerListenerDescription(ASFFBaseModel): - """ - Lists the policies that are enabled for a load balancer listener. - - :param listener: Information about the listener. - :param policy_names: The policies enabled for the listener. - - :return: AwsElbLoadBalancerListenerDescription object - """ - - listener: Optional[AwsElbLoadBalancerListener] - policy_names: Optional[StringList] - - -AwsElbLoadBalancerListenerDescriptions = List[AwsElbLoadBalancerListenerDescription] - - -class AwsElbLoadBalancerAccessLog(ASFFBaseModel): - """ - Contains information about the access log configuration for the load balancer. - - :param emit_interval: The interval in minutes for publishing the access logs. You can publish access logs either every 5 minutes or every 60 minutes. - :param enabled: Indicates whether access logs are enabled for the load balancer. - :param s3_bucket_name: The name of the S3 bucket where the access logs are stored. - :param s3_bucket_prefix: The logical hierarchy that was created for the S3 bucket. If a prefix is not provided, the log is placed at the root level of the bucket. - - :return: AwsElbLoadBalancerAccessLog object - """ - - emit_interval: Optional[Integer] - enabled: Optional[Boolean] - s3_bucket_name: Optional[NonEmptyString] - s3_bucket_prefix: Optional[NonEmptyString] - - -class AwsElbLoadBalancerConnectionDraining(ASFFBaseModel): - """ - Contains information about the connection draining configuration for the load balancer. - - :param enabled: Indicates whether connection draining is enabled for the load balancer. - :param timeout: The maximum time, in seconds, to keep the existing connections open before deregistering the instances. - - :return: AwsElbLoadBalancerConnectionDraining object - """ - - enabled: Optional[Boolean] - timeout: Optional[Integer] - - -class AwsElbLoadBalancerConnectionSettings(ASFFBaseModel): - """ - Contains connection settings for the load balancer. - - :param idle_timeout: The time, in seconds, that the connection can be idle (no data is sent over the connection) before it is closed by the load balancer. - - :return: AwsElbLoadBalancerConnectionSettings object - """ - - idle_timeout: Optional[Integer] - - -class AwsElbLoadBalancerCrossZoneLoadBalancing(ASFFBaseModel): - """ - Contains cross-zone load balancing settings for the load balancer. - - :param enabled: Indicates whether cross-zone load balancing is enabled for the load balancer. - - :return: AwsElbLoadBalancerCrossZoneLoadBalancing object - """ - - enabled: Optional[Boolean] - - -class AwsElbLoadBalancerAttributes(ASFFBaseModel): - """ - Contains attributes for the load balancer. - - :param access_log: Information about the access log configuration for the load balancer. If the access log is enabled, the load balancer captures detailed information about all requests. It delivers the information to a specified S3 bucket. - :param connection_draining: Information about the connection draining configuration for the load balancer. If connection draining is enabled, the load balancer allows existing requests to complete before it shifts traffic away from a deregistered or unhealthy instance. - :param connection_settings: Connection settings for the load balancer. If an idle timeout is configured, the load balancer allows connections to remain idle for the specified duration. When a connection is idle, no data is sent over the connection. - :param cross_zone_load_balancing: Cross-zone load balancing settings for the load balancer. If cross-zone load balancing is enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones. - - :return: AwsElbLoadBalancerAttributes object - """ - - access_log: Optional[AwsElbLoadBalancerAccessLog] - connection_draining: Optional[AwsElbLoadBalancerConnectionDraining] - connection_settings: Optional[AwsElbLoadBalancerConnectionSettings] - cross_zone_load_balancing: Optional[AwsElbLoadBalancerCrossZoneLoadBalancing] - - -class AwsElbAppCookieStickinessPolicy(ASFFBaseModel): - """ - Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy. - - :param cookie_name: The name of the application cookie used for stickiness. - :param policy_name: The mnemonic name for the policy being created. The name must be unique within the set of policies for the load balancer. - - :return: AwsElbAppCookieStickinessPolicy object - """ - - cookie_name: Optional[NonEmptyString] - policy_name: Optional[NonEmptyString] - - -AwsElbAppCookieStickinessPolicies = List[AwsElbAppCookieStickinessPolicy] - - -class AwsElbLbCookieStickinessPolicy(ASFFBaseModel): - """ - Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy. - - :param cookie_expiration_period: The amount of time, in seconds, after which the cookie is considered stale. If an expiration period is not specified, the stickiness session lasts for the duration of the browser session. - :param policy_name: The name of the policy. The name must be unique within the set of policies for the load balancer. - - :return: AwsElbLbCookieStickinessPolicy object - """ - - cookie_expiration_period: Optional[Long] - policy_name: Optional[NonEmptyString] - - -AwsElbLbCookieStickinessPolicies = List[AwsElbLbCookieStickinessPolicy] - - -class AwsElbLoadBalancerPolicies(ASFFBaseModel): - """ - Contains information about the policies for a load balancer. - - :param app_cookie_stickiness_policies: The stickiness policies that are created using CreateAppCookieStickinessPolicy. - :param lb_cookie_stickiness_policies: The stickiness policies that are created using CreateLBCookieStickinessPolicy. - :param other_policies: The policies other than the stickiness policies. - - :return: AwsElbLoadBalancerPolicies object - """ - - app_cookie_stickiness_policies: Optional[AwsElbAppCookieStickinessPolicies] - lb_cookie_stickiness_policies: Optional[AwsElbLbCookieStickinessPolicies] - other_policies: Optional[StringList] - - -class AwsElbLoadBalancerSourceSecurityGroup(ASFFBaseModel): - """ - Contains information about the security group for the load balancer. - - :param group_name: The name of the security group. - :param owner_alias: The owner of the security group. - - :return: AwsElbLoadBalancerSourceSecurityGroup object - """ - - group_name: Optional[NonEmptyString] - owner_alias: Optional[NonEmptyString] - - -class AwsElbLoadBalancerDetails(ASFFBaseModel): - """ - Contains details about a Classic Load Balancer. - - :param availability_zones: The list of Availability Zones for the load balancer. - :param backend_server_descriptions: Information about the configuration of the EC2 instances. - :param canonical_hosted_zone_name: The name of the Amazon Route 53 hosted zone for the load balancer. - :param canonical_hosted_zone_name_id: The ID of the Amazon Route 53 hosted zone for the load balancer. - :param created_time: Indicates when the load balancer was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param dns_name: The DNS name of the load balancer. - :param health_check: Information about the health checks that are conducted on the load balancer. - :param instances: List of EC2 instances for the load balancer. - :param listener_descriptions: The policies that are enabled for the load balancer listeners. - :param load_balancer_attributes: The attributes for a load balancer. - :param load_balancer_name: The name of the load balancer. - :param policies: The policies for a load balancer. - :param scheme: The type of load balancer. Only provided if the load balancer is in a VPC. If Scheme is internet-facing, the load balancer has a public DNS name that resolves to a public IP address. If Scheme is internal, the load balancer has a public DNS name that resolves to a private IP address. - :param security_groups: The security groups for the load balancer. Only provided if the load balancer is in a VPC. - :param source_security_group: Information about the security group for the load balancer. This is the security group that is used for inbound rules. - :param subnets: The list of subnet identifiers for the load balancer. - :param vpc_id: The identifier of the VPC for the load balancer. - - :return: AwsElbLoadBalancerDetails object - """ - - availability_zones: Optional[StringList] - backend_server_descriptions: Optional[AwsElbLoadBalancerBackendServerDescriptions] - canonical_hosted_zone_name: Optional[NonEmptyString] - canonical_hosted_zone_name_id: Optional[NonEmptyString] - created_time: Optional[Iso8601Timestamp] - dns_name: Optional[NonEmptyString] - health_check: Optional[AwsElbLoadBalancerHealthCheck] - instances: Optional[AwsElbLoadBalancerInstances] - listener_descriptions: Optional[AwsElbLoadBalancerListenerDescriptions] - load_balancer_attributes: Optional[AwsElbLoadBalancerAttributes] - load_balancer_name: Optional[NonEmptyString] - policies: Optional[AwsElbLoadBalancerPolicies] - scheme: Optional[NonEmptyString] - security_groups: Optional[StringList] - source_security_group: Optional[AwsElbLoadBalancerSourceSecurityGroup] - subnets: Optional[StringList] - vpc_id: Optional[NonEmptyString] - - -class AwsIamGroupPolicy(ASFFBaseModel): - """ - A managed policy that is attached to the IAM group. - - :param policy_name: The name of the policy. - - :return: AwsIamGroupPolicy object - """ - - policy_name: Optional[NonEmptyString] - - -AwsIamGroupPolicyList = List[AwsIamGroupPolicy] - - -class AwsIamGroupDetails(ASFFBaseModel): - """ - Contains details about an IAM group. - - :param attached_managed_policies: A list of the managed policies that are attached to the IAM group. - :param create_date: Indicates when the IAM group was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param group_id: The identifier of the IAM group. - :param group_name: The name of the IAM group. - :param group_policy_list: The list of inline policies that are embedded in the group. - :param path: The path to the group. - - :return: AwsIamGroupDetails object - """ - - attached_managed_policies: Optional[AwsIamAttachedManagedPolicyList] - create_date: Optional[Iso8601Timestamp] - group_id: Optional[NonEmptyString] - group_name: Optional[NonEmptyString] - group_policy_list: Optional[AwsIamGroupPolicyList] - path: Optional[NonEmptyString] - - -AwsIamRoleAssumeRolePolicyDocument = constr( - regex="[\u0009\u000A\u000D\u0020-\u007E\u00A1-\u00FF]+", - min_length=1, - max_length=131072, -) - - -class AwsIamInstanceProfileRole(ASFFBaseModel): - """ - Information about a role associated with an instance profile. - - :param arn: The ARN of the role. - :param assume_role_policy_document: The policy that grants an entity permission to assume the role. - :param create_date: Indicates when the role was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param path: The path to the role. - :param role_id: The identifier of the role. - :param role_name: The name of the role. - - :return: AwsIamInstanceProfileRole object - """ - - arn: Optional[NonEmptyString] - assume_role_policy_document: Optional[AwsIamRoleAssumeRolePolicyDocument] - create_date: Optional[Iso8601Timestamp] - path: Optional[NonEmptyString] - role_id: Optional[NonEmptyString] - role_name: Optional[NonEmptyString] - - -AwsIamInstanceProfileRoles = List[AwsIamInstanceProfileRole] - - -class AwsIamInstanceProfile(ASFFBaseModel): - """ - Information about an instance profile. - - :param arn: The ARN of the instance profile. - :param create_date: Indicates when the instance profile was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param instance_profile_id: The identifier of the instance profile. - :param instance_profile_name: The name of the instance profile. - :param path: The path to the instance profile. - :param roles: The roles associated with the instance profile. - - :return: AwsIamInstanceProfile object - """ - - arn: Optional[NonEmptyString] - create_date: Optional[Iso8601Timestamp] - instance_profile_id: Optional[NonEmptyString] - instance_profile_name: Optional[NonEmptyString] - path: Optional[NonEmptyString] - roles: Optional[AwsIamInstanceProfileRoles] - - -AwsIamInstanceProfileList = List[AwsIamInstanceProfile] - - -class AwsIamRolePolicy(ASFFBaseModel): - """ - An inline policy that is embedded in the role. - - :param policy_name: The name of the policy. - - :return: AwsIamRolePolicy object - """ - - policy_name: Optional[NonEmptyString] - - -AwsIamRolePolicyList = List[AwsIamRolePolicy] - - -class AwsIamRoleDetails(ASFFBaseModel): - """ - Contains information about an IAM role, including all of the role's policies. - - :param assume_role_policy_document: The trust policy that grants permission to assume the role. - :param attached_managed_policies: The list of the managed policies that are attached to the role. - :param create_date: Indicates when the role was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param instance_profile_list: The list of instance profiles that contain this role. - :param role_id: The stable and unique string identifying the role. - :param role_name: The friendly name that identifies the role. - :param role_policy_list: The list of inline policies that are embedded in the role. - :param max_session_duration: The maximum session duration (in seconds) that you want to set for the specified role. - :param path: The path to the role. - - :return: AwsIamRoleDetails object - """ - - assume_role_policy_document: Optional[AwsIamRoleAssumeRolePolicyDocument] - attached_managed_policies: Optional[AwsIamAttachedManagedPolicyList] - create_date: Optional[Iso8601Timestamp] - instance_profile_list: Optional[AwsIamInstanceProfileList] - permissions_boundary: Optional[AwsIamPermissionsBoundary] - role_id: Optional[NonEmptyString] - role_name: Optional[NonEmptyString] - role_policy_list: Optional[AwsIamRolePolicyList] - max_session_duration: Optional[Integer] - path: Optional[NonEmptyString] - - -class AwsKmsKeyDetails(ASFFBaseModel): - """ - Contains metadata about a customer master key (CMK). - - :param aws_account_id: The twelve-digit account ID of the AWS account that owns the CMK. - :param creation_date: Indicates when the CMK was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param key_id: The globally unique identifier for the CMK. - :param key_manager: The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed. - :param key_state: The state of the CMK. - :param origin: The source of the CMK's key material. When this value is AWS_KMS, AWS KMS created the key material. When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material. When this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster associated with a custom key store. - :param description: A description of the key. - - :return: AwsKmsKeyDetails object - """ - - aws_account_id: Optional[NonEmptyString] - creation_date: Optional[Iso8601Timestamp] - key_id: Optional[NonEmptyString] - key_manager: Optional[NonEmptyString] - key_state: Optional[NonEmptyString] - origin: Optional[NonEmptyString] - description: Optional[NonEmptyString] - - -class AwsLambdaFunctionCode(ASFFBaseModel): - """ - The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly. - - :param s3_bucket: An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account. - :param s3_key: The Amazon S3 key of the deployment package. - :param s3_object_version: For versioned objects, the version of the deployment package object to use. - :param zip_file: The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you. - - :return: AwsLambdaFunctionCode object - """ - - s3_bucket: Optional[NonEmptyString] - s3_key: Optional[NonEmptyString] - s3_object_version: Optional[NonEmptyString] - zip_file: Optional[NonEmptyString] - - -class AwsLambdaFunctionDeadLetterConfig(ASFFBaseModel): - """ - The dead-letter queue for failed asynchronous invocations. - - :param target_arn: The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic. - - :return: AwsLambdaFunctionDeadLetterConfig object - """ - - target_arn: Optional[NonEmptyString] - - -class AwsLambdaFunctionEnvironmentError(ASFFBaseModel): - """ - Error messages for environment variables that couldn't be applied. - - :param error_code: The error code. - :param message: The error message. - - :return: AwsLambdaFunctionEnvironmentError object - """ - - error_code: Optional[NonEmptyString] - message: Optional[NonEmptyString] - - -class AwsLambdaFunctionEnvironment(ASFFBaseModel): - """ - A function's environment variable settings. - - :param variables: Environment variable key-value pairs. - :param error: An AwsLambdaFunctionEnvironmentError object. - - :return: AwsLambdaFunctionEnvironment object - """ - - variables: Optional[FieldMap] - error: Optional[AwsLambdaFunctionEnvironmentError] - - -class AwsLambdaFunctionLayer(ASFFBaseModel): - """ - An AWS Lambda layer. - - :param arn: The Amazon Resource Name (ARN) of the function layer. - :param code_size: The size of the layer archive in bytes. - - :return: AwsLambdaFunctionLayer object - """ - - arn: Optional[NonEmptyString] - code_size: Optional[Integer] - - -AwsLambdaFunctionLayerList = List[AwsLambdaFunctionLayer] - - -class AwsLambdaFunctionTracingConfig(ASFFBaseModel): - """ - The function's AWS X-Ray tracing configuration. - - :param mode: The tracing mode. - - :return: AwsLambdaFunctionTracingConfig object - """ - - mode: Optional[NonEmptyString] - - -class AwsLambdaFunctionVpcConfig(ASFFBaseModel): - """ - The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings. - - :param security_group_ids: A list of VPC security groups IDs. - :param subnet_ids: A list of VPC subnet IDs. - :param vpc_id: The ID of the VPC. - - :return: AwsLambdaFunctionVpcConfig object - """ - - security_group_ids: Optional[NonEmptyStringList] - subnet_ids: Optional[NonEmptyStringList] - vpc_id: Optional[NonEmptyString] - - -class AwsLambdaFunctionDetails(ASFFBaseModel): - """ - Details about a function's configuration. - - :param code: An AwsLambdaFunctionCode object. - :param code_sha256: The SHA256 hash of the function's deployment package. - :param dead_letter_config: The function's dead letter queue. - :param environment: The function's environment variables. - :param function_name: The name of the function. - :param handler: The function that Lambda calls to begin executing your function. - :param kms_key_arn: The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK. - :param last_modified: Indicates when the function was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param layers: The function's layers. - :param master_arn: For Lambda@Edge functions, the ARN of the master function. - :param memory_size: The memory that's allocated to the function. - :param revision_id: The latest updated revision of the function or alias. - :param role: The function's execution role. - :param runtime: The runtime environment for the Lambda function. - :param timeout: The amount of time that Lambda allows a function to run before stopping it. - :param tracing_config: The function's AWS X-Ray tracing configuration. - :param vpc_config: The function's networking configuration. - :param version: The version of the Lambda function. - - :return: AwsLambdaFunctionDetails object - """ - - code: Optional[AwsLambdaFunctionCode] - code_sha256: Optional[NonEmptyString] - dead_letter_config: Optional[AwsLambdaFunctionDeadLetterConfig] - environment: Optional[AwsLambdaFunctionEnvironment] - function_name: Optional[NonEmptyString] - handler: Optional[NonEmptyString] - kms_key_arn: Optional[NonEmptyString] - last_modified: Optional[Iso8601Timestamp] - layers: Optional[AwsLambdaFunctionLayerList] - master_arn: Optional[NonEmptyString] - memory_size: Optional[Integer] - revision_id: Optional[NonEmptyString] - role: Optional[NonEmptyString] - runtime: Optional[NonEmptyString] - timeout: Optional[Integer] - tracing_config: Optional[AwsLambdaFunctionTracingConfig] - vpc_config: Optional[AwsLambdaFunctionVpcConfig] - version: Optional[NonEmptyString] - - -AwsLambdaLayerVersionNumber = int - - -class AwsLambdaLayerVersionDetails(ASFFBaseModel): - """ - Details about a Lambda layer version. - - :param version: The version number. - :param compatible_runtimes: The layer's compatible runtimes. Maximum number of five items. Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 | provided - :param created_date: Indicates when the version was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: AwsLambdaLayerVersionDetails object - """ - - version: Optional[AwsLambdaLayerVersionNumber] - compatible_runtimes: Optional[NonEmptyStringList] - created_date: Optional[Iso8601Timestamp] - - -class AwsRdsDbInstanceAssociatedRole(ASFFBaseModel): - """ - An AWS Identity and Access Management (IAM) role associated with the DB instance. - - :param role_arn: The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance. - :param feature_name: The name of the feature associated with the IAM)role. - :param status: Describes the state of the association between the IAM role and the DB instance. The Status property returns one of the following values: ACTIVE - The IAM role ARN is associated with the DB instance and can be used to access other AWS services on your behalf. PENDING - The IAM role ARN is being associated with the DB instance. INVALID - The IAM role ARN is associated with the DB instance. But the DB instance is unable to assume the IAM role in order to access other AWS services on your behalf. - - :return: AwsRdsDbInstanceAssociatedRole object - """ - - role_arn: Optional[NonEmptyString] - feature_name: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -AwsRdsDbInstanceAssociatedRoles = List[AwsRdsDbInstanceAssociatedRole] - - -class AwsRdsDbInstanceEndpoint(ASFFBaseModel): - """ - Specifies the connection endpoint. - - :param address: Specifies the DNS address of the DB instance. - :param port: Specifies the port that the database engine is listening on. - :param hosted_zone_id: Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. - - :return: AwsRdsDbInstanceEndpoint object - """ - - address: Optional[NonEmptyString] - port: Optional[Integer] - hosted_zone_id: Optional[NonEmptyString] - - -class AwsRdsDbInstanceVpcSecurityGroup(ASFFBaseModel): - """ - A VPC security groups that the DB instance belongs to. - - :param vpc_security_group_id: The name of the VPC security group. - :param status: The status of the VPC security group. - - :return: AwsRdsDbInstanceVpcSecurityGroup object - """ - - vpc_security_group_id: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -AwsRdsDbInstanceVpcSecurityGroups = List[AwsRdsDbInstanceVpcSecurityGroup] - - -class AwsRdsDbParameterGroup(ASFFBaseModel): - """ - Provides information about a parameter group for a DB instance. - - :param db_parameter_group_name: The name of the parameter group. - :param parameter_apply_status: The status of parameter updates. - - :return: AwsRdsDbParameterGroup object - """ - - db_parameter_group_name: Optional[NonEmptyString] - parameter_apply_status: Optional[NonEmptyString] - - -AwsRdsDbParameterGroups = List[AwsRdsDbParameterGroup] - - -class AwsRdsDbSubnetGroupSubnetAvailabilityZone(ASFFBaseModel): - """ - An Availability Zone for a subnet in a subnet group. - - :param name: The name of the Availability Zone for a subnet in the subnet group. - - :return: AwsRdsDbSubnetGroupSubnetAvailabilityZone object - """ - - name: Optional[NonEmptyString] - - -class AwsRdsDbSubnetGroupSubnet(ASFFBaseModel): - """ - Information about a subnet in a subnet group. - - :param subnet_identifier: The identifier of a subnet in the subnet group. - :param subnet_availability_zone: Information about the Availability Zone for a subnet in the subnet group. - :param subnet_status: The status of a subnet in the subnet group. - - :return: AwsRdsDbSubnetGroupSubnet object - """ - - subnet_identifier: Optional[NonEmptyString] - subnet_availability_zone: Optional[AwsRdsDbSubnetGroupSubnetAvailabilityZone] - subnet_status: Optional[NonEmptyString] - - -AwsRdsDbSubnetGroupSubnets = List[AwsRdsDbSubnetGroupSubnet] - - -class AwsRdsDbSubnetGroup(ASFFBaseModel): - """ - Information about the subnet group for the database instance. - - :param db_subnet_group_name: The name of the subnet group. - :param db_subnet_group_description: The description of the subnet group. - :param vpc_id: The VPC ID of the subnet group. - :param subnet_group_status: The status of the subnet group. - :param subnets: A list of subnets in the subnet group. - :param db_subnet_group_arn: The ARN of the subnet group. - - :return: AwsRdsDbSubnetGroup object - """ - - db_subnet_group_name: Optional[NonEmptyString] - db_subnet_group_description: Optional[NonEmptyString] - vpc_id: Optional[NonEmptyString] - subnet_group_status: Optional[NonEmptyString] - subnets: Optional[AwsRdsDbSubnetGroupSubnets] - db_subnet_group_arn: Optional[NonEmptyString] - - -class AwsRdsPendingCloudWatchLogsExports(ASFFBaseModel): - """ - Identifies the log types to enable and disable. - - :param log_types_to_enable: A list of log types that are being enabled. - :param log_types_to_disable: A list of log types that are being disabled. - - :return: AwsRdsPendingCloudWatchLogsExports object - """ - - log_types_to_enable: Optional[StringList] - log_types_to_disable: Optional[StringList] - - -class AwsRdsDbProcessorFeature(ASFFBaseModel): - """ - A processor feature. - - :param name: The name of the processor feature. - :param value: The value of the processor feature. - - :return: AwsRdsDbProcessorFeature object - """ - - name: Optional[NonEmptyString] - value: Optional[NonEmptyString] - - -AwsRdsDbProcessorFeatures = List[AwsRdsDbProcessorFeature] - - -class AwsRdsDbPendingModifiedValues(ASFFBaseModel): - """ - Changes to a DB instance that are currently pending. - - :param db_instance_class: The new DB instance class for the DB instance. - :param allocated_storage: The new value of the allocated storage for the DB instance. - :param master_user_password: The new master user password for the DB instance. - :param port: The new port for the DB instance. - :param backup_retention_period: The new backup retention period for the DB instance. - :param multi_az: Indicates that a single Availability Zone DB instance is changing to a multiple Availability Zone deployment. - :param engine_version: The new engine version for the DB instance. - :param license_model: The new license model value for the DB instance. - :param iops: The new provisioned IOPS value for the DB instance. - :param db_instance_identifier: The new DB instance identifier for the DB instance. - :param storage_type: The new storage type for the DB instance. - :param ca_certificate_identifier: The new CA certificate identifier for the DB instance. - :param db_subnet_group_name: The name of the new subnet group for the DB instance. - :param pending_cloud_watch_logs_exports: A list of log types that are being enabled or disabled. - :param processor_features: Processor features that are being updated. - - :return: AwsRdsDbPendingModifiedValues object - """ - - db_instance_class: Optional[NonEmptyString] - allocated_storage: Optional[Integer] - master_user_password: Optional[NonEmptyString] - port: Optional[Integer] - backup_retention_period: Optional[Integer] - multi_az: Optional[Boolean] - engine_version: Optional[NonEmptyString] - license_model: Optional[NonEmptyString] - iops: Optional[Integer] - db_instance_identifier: Optional[NonEmptyString] - storage_type: Optional[NonEmptyString] - ca_certificate_identifier: Optional[NonEmptyString] - db_subnet_group_name: Optional[NonEmptyString] - pending_cloud_watch_logs_exports: Optional[AwsRdsPendingCloudWatchLogsExports] - processor_features: Optional[AwsRdsDbProcessorFeatures] - - -class AwsRdsDbOptionGroupMembership(ASFFBaseModel): - """ - An option group membership. - - :param option_group_name: The name of the option group. - :param status: The status of the option group membership. - - :return: AwsRdsDbOptionGroupMembership object - """ - - option_group_name: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -AwsRdsDbOptionGroupMemberships = List[AwsRdsDbOptionGroupMembership] - - -class AwsRdsDbStatusInfo(ASFFBaseModel): - """ - Information about the status of a read replica. - - :param status_type: The type of status. For a read replica, the status type is read replication. - :param normal: Whether the read replica instance is operating normally. - :param status: The status of the read replica instance. - :param message: If the read replica is currently in an error state, provides the error details. - - :return: AwsRdsDbStatusInfo object - """ - - status_type: Optional[NonEmptyString] - normal: Optional[Boolean] - status: Optional[NonEmptyString] - message: Optional[NonEmptyString] - - -AwsRdsDbStatusInfos = List[AwsRdsDbStatusInfo] - - -class AwsRdsDbDomainMembership(ASFFBaseModel): - """ - Information about an Active Directory domain membership record associated with the DB instance. - - :param domain: The identifier of the Active Directory domain. - :param status: The status of the Active Directory Domain membership for the DB instance. - :param fqdn: The fully qualified domain name of the Active Directory domain. - :param iam_role_name: The name of the IAM role to use when making API calls to the Directory Service. - - :return: AwsRdsDbDomainMembership object - """ - - domain: Optional[NonEmptyString] - status: Optional[NonEmptyString] - fqdn: Optional[NonEmptyString] - iam_role_name: Optional[NonEmptyString] - - -AwsRdsDbDomainMemberships = List[AwsRdsDbDomainMembership] - - -class AwsRdsDbInstanceDetails(ASFFBaseModel): - """ - Contains the details of an Amazon RDS DB instance. - - :param associated_roles: The AWS Identity and Access Management (IAM) roles associated with the DB instance. - :param ca_certificate_identifier: The identifier of the CA certificate for this DB instance. - :param db_cluster_identifier: If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of. - :param db_instance_identifier: Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance. - :param db_instance_class: Contains the name of the compute and memory capacity class of the DB instance. - :param db_instance_port: Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port. - :param dbi_resource_id: The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed. - :param db_name: The meaning of this parameter differs according to the database engine you use. MySQL, MariaDB, SQL Server, PostgreSQL Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance. Oracle Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance. - :param deletion_protection: Indicates whether the DB instance has deletion protection enabled. When deletion protection is enabled, the database cannot be deleted. - :param endpoint: Specifies the connection endpoint. - :param engine: Provides the name of the database engine to use for this DB instance. - :param engine_version: Indicates the database engine version. - :param iam_database_authentication_enabled: True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false. IAM database authentication can be enabled for the following database engines. For MySQL 5.6, minor version 5.6.34 or higher For MySQL 5.7, minor version 5.7.16 or higher Aurora 5.6 or higher - :param instance_create_time: Indicates when the DB instance was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param kms_key_id: If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance. - :param publicly_accessible: Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. - :param storage_encrypted: Specifies whether the DB instance is encrypted. - :param tde_credential_arn: The ARN from the key store with which the instance is associated for TDE encryption. - :param vpc_security_groups: A list of VPC security groups that the DB instance belongs to. - :param multi_az: Whether the DB instance is a multiple Availability Zone deployment. - :param enhanced_monitoring_resource_arn: The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics data for the DB instance. - :param db_instance_status: The current status of the DB instance. - :param master_username: The master user name of the DB instance. - :param allocated_storage: The amount of storage (in gigabytes) to initially allocate for the DB instance. - :param preferred_backup_window: The range of time each day when automated backups are created, if automated backups are enabled. Uses the format HH:MM-HH:MM. For example, 04:52-05:22. - :param backup_retention_period: The number of days for which to retain automated backups. - :param db_security_groups: A list of the DB security groups to assign to the DB instance. - :param db_parameter_groups: A list of the DB parameter groups to assign to the DB instance. - :param availability_zone: The Availability Zone where the DB instance will be created. - :param db_subnet_group: Information about the subnet group that is associated with the DB instance. - :param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Uses the format <day>:HH:MM-<day>:HH:MM. For the day values, use mon|tue|wed|thu|fri|sat|sun. For example, sun:09:32-sun:10:02. - :param pending_modified_values: Changes to the DB instance that are currently pending. - :param latest_restorable_time: Specifies the latest time to which a database can be restored with point-in-time restore. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param auto_minor_version_upgrade: Indicates whether minor version patches are applied automatically. - :param read_replica_source_db_instance_identifier: If this DB instance is a read replica, contains the identifier of the source DB instance. - :param read_replica_db_instance_identifiers: List of identifiers of the read replicas associated with this DB instance. - :param read_replica_db_cluster_identifiers: List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. - :param license_model: License model information for this DB instance. - :param iops: Specifies the provisioned IOPS (I/O operations per second) for this DB instance. - :param option_group_memberships: The list of option group memberships for this DB instance. - :param character_set_name: The name of the character set that this DB instance is associated with. - :param secondary_availability_zone: For a DB instance with multi-Availability Zone support, the name of the secondary Availability Zone. - :param status_infos: The status of a read replica. If the instance isn't a read replica, this is empty. - :param storage_type: The storage type for the DB instance. - :param domain_memberships: The Active Directory domain membership records associated with the DB instance. - :param copy_tags_to_snapshot: Whether to copy resource tags to snapshots of the DB instance. - :param monitoring_interval: The interval, in seconds, between points when enhanced monitoring metrics are collected for the DB instance. - :param monitoring_role_arn: The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to CloudWatch Logs. - :param promotion_tier: The order in which to promote an Aurora replica to the primary instance after a failure of the existing primary instance. - :param timezone: The time zone of the DB instance. - :param performance_insights_enabled: Indicates whether Performance Insights is enabled for the DB instance. - :param performance_insights_kms_key_id: The identifier of the AWS KMS key used to encrypt the Performance Insights data. - :param performance_insights_retention_period: The number of days to retain Performance Insights data. - :param enabled_cloud_watch_logs_exports: A list of log types that this DB instance is configured to export to CloudWatch Logs. - :param processor_features: The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. - :param max_allocated_storage: The upper limit to which Amazon RDS can automatically scale the storage of the DB instance. - - :return: AwsRdsDbInstanceDetails object - """ - - associated_roles: Optional[AwsRdsDbInstanceAssociatedRoles] - ca_certificate_identifier: Optional[NonEmptyString] - db_cluster_identifier: Optional[NonEmptyString] - db_instance_identifier: Optional[NonEmptyString] - db_instance_class: Optional[NonEmptyString] - db_instance_port: Optional[Integer] - dbi_resource_id: Optional[NonEmptyString] - db_name: Optional[NonEmptyString] - deletion_protection: Optional[Boolean] - endpoint: Optional[AwsRdsDbInstanceEndpoint] - engine: Optional[NonEmptyString] - engine_version: Optional[NonEmptyString] - iam_database_authentication_enabled: Optional[Boolean] - instance_create_time: Optional[Iso8601Timestamp] - kms_key_id: Optional[NonEmptyString] - publicly_accessible: Optional[Boolean] - storage_encrypted: Optional[Boolean] - tde_credential_arn: Optional[NonEmptyString] - vpc_security_groups: Optional[AwsRdsDbInstanceVpcSecurityGroups] - multi_az: Optional[Boolean] - enhanced_monitoring_resource_arn: Optional[NonEmptyString] - db_instance_status: Optional[NonEmptyString] - master_username: Optional[NonEmptyString] - allocated_storage: Optional[Integer] - preferred_backup_window: Optional[NonEmptyString] - backup_retention_period: Optional[Integer] - db_security_groups: Optional[StringList] - db_parameter_groups: Optional[AwsRdsDbParameterGroups] - availability_zone: Optional[NonEmptyString] - db_subnet_group: Optional[AwsRdsDbSubnetGroup] - preferred_maintenance_window: Optional[NonEmptyString] - pending_modified_values: Optional[AwsRdsDbPendingModifiedValues] - latest_restorable_time: Optional[Iso8601Timestamp] - auto_minor_version_upgrade: Optional[Boolean] - read_replica_source_db_instance_identifier: Optional[NonEmptyString] - read_replica_db_instance_identifiers: Optional[StringList] - read_replica_db_cluster_identifiers: Optional[StringList] - license_model: Optional[NonEmptyString] - iops: Optional[Integer] - option_group_memberships: Optional[AwsRdsDbOptionGroupMemberships] - character_set_name: Optional[NonEmptyString] - secondary_availability_zone: Optional[NonEmptyString] - status_infos: Optional[AwsRdsDbStatusInfos] - storage_type: Optional[NonEmptyString] - domain_memberships: Optional[AwsRdsDbDomainMemberships] - copy_tags_to_snapshot: Optional[Boolean] - monitoring_interval: Optional[Integer] - monitoring_role_arn: Optional[NonEmptyString] - promotion_tier: Optional[Integer] - timezone: Optional[NonEmptyString] - performance_insights_enabled: Optional[Boolean] - performance_insights_kms_key_id: Optional[NonEmptyString] - performance_insights_retention_period: Optional[Integer] - enabled_cloud_watch_logs_exports: Optional[StringList] - processor_features: Optional[AwsRdsDbProcessorFeatures] - listener_endpoint: Optional[AwsRdsDbInstanceEndpoint] - max_allocated_storage: Optional[Integer] - - -class AwsSnsTopicSubscription(ASFFBaseModel): - """ - A wrapper type for the attributes of an Amazon SNS subscription. - - :param endpoint: The subscription's endpoint (format depends on the protocol). - :param protocol: The subscription's protocol. - - :return: AwsSnsTopicSubscription object - """ - - endpoint: Optional[NonEmptyString] - protocol: Optional[NonEmptyString] - - -AwsSnsTopicSubscriptionList = List[AwsSnsTopicSubscription] - - -class AwsSnsTopicDetails(ASFFBaseModel): - """ - A wrapper type for the topic's Amazon Resource Name (ARN). - - :param kms_master_key_id: The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK. - :param subscription: Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic. - :param topic_name: The name of the topic. - :param owner: The subscription's owner. - - :return: AwsSnsTopicDetails object - """ - - kms_master_key_id: Optional[NonEmptyString] - subscription: Optional[AwsSnsTopicSubscriptionList] - topic_name: Optional[NonEmptyString] - owner: Optional[NonEmptyString] - - -class AwsSqsQueueDetails(ASFFBaseModel): - """ - Data about a queue. - - :param kms_data_key_reuse_period_seconds: The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. - :param kms_master_key_id: The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom CMK. - :param queue_name: The name of the new queue. - :param dead_letter_target_arn: The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded. - - :return: AwsSqsQueueDetails object - """ - - kms_data_key_reuse_period_seconds: Optional[Integer] - kms_master_key_id: Optional[NonEmptyString] - queue_name: Optional[NonEmptyString] - dead_letter_target_arn: Optional[NonEmptyString] - - -class WafAction(ASFFBaseModel): - """ - Details about the action that CloudFront or AWS WAF takes when a web request matches the conditions in the rule. - - :param type: Specifies how you want AWS WAF to respond to requests that match the settings in a rule. Valid settings include the following: ALLOW - AWS WAF allows requests BLOCK - AWS WAF blocks requests COUNT - AWS WAF increments a counter of the requests that match all of the conditions in the rule. AWS WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL. - - :return: WafAction object - """ - - type: Optional[NonEmptyString] - - -class WafExcludedRule(ASFFBaseModel): - """ - Details about a rule to exclude from a rule group. - - :param rule_id: The unique identifier for the rule to exclude from the rule group. - - :return: WafExcludedRule object - """ - - rule_id: Optional[NonEmptyString] - - -WafExcludedRuleList = List[WafExcludedRule] - - -class WafOverrideAction(ASFFBaseModel): - """ - Details about an override action for a rule. - - :param type: COUNT overrides the action specified by the individual rule within a RuleGroup . If set to NONE, the rule's action takes place. - - :return: WafOverrideAction object - """ - - type: Optional[NonEmptyString] - - -class AwsWafWebAclRule(ASFFBaseModel): - """ - Details for a rule in a WAF WebACL. - - :param action: Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the rule. - :param excluded_rules: Rules to exclude from a rule group. - :param override_action: Use the OverrideAction to test your RuleGroup. Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup blocks a request if any individual rule in the RuleGroup matches the request and is configured to block that request. However, if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup then overrides any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests are counted. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. - :param priority: Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before rules with a higher value. The value must be a unique integer. If you add multiple rules to a WebACL, the values do not need to be consecutive. - :param rule_id: The identifier for a rule. - :param type: The rule type. Valid values: REGULAR | RATE_BASED | GROUP The default is REGULAR. - - :return: AwsWafWebAclRule object - """ - - action: Optional[WafAction] - excluded_rules: Optional[WafExcludedRuleList] - override_action: Optional[WafOverrideAction] - priority: Optional[Integer] - rule_id: Optional[NonEmptyString] - type: Optional[NonEmptyString] - - -AwsWafWebAclRuleList = List[AwsWafWebAclRule] - - -class AwsWafWebAclDetails(ASFFBaseModel): - """ - Details about a WAF WebACL. - - :param name: A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it. - :param default_action: The action to perform if none of the rules contained in the WebACL match. - :param rules: An array that contains the action for each rule in a WebACL, the priority of the rule, and the ID of the rule. - :param web_acl_id: A unique identifier for a WebACL. - - :return: AwsWafWebAclDetails object - """ - - name: Optional[NonEmptyString] - default_action: Optional[NonEmptyString] - rules: Optional[AwsWafWebAclRuleList] - web_acl_id: Optional[NonEmptyString] - - -class AwsRdsDbSnapshotDetails(ASFFBaseModel): - """ - Provides details about an Amazon RDS DB cluster snapshot. - - :param db_snapshot_identifier: The name or ARN of the DB snapshot that is used to restore the DB instance. - :param db_instance_identifier: A name for the DB instance. - :param snapshot_create_time: When the snapshot was taken in Coordinated Universal Time (UTC). - :param engine: The name of the database engine to use for this DB instance. - :param allocated_storage: The amount of storage (in gigabytes) to be initially allocated for the database instance. - :param status: The status of this DB snapshot. - :param port: The port that the database engine was listening on at the time of the snapshot. - :param availability_zone: Specifies the name of the Availability Zone in which the DB instance was located at the time of the DB snapshot. - :param vpc_id: The VPC ID associated with the DB snapshot. - :param instance_create_time: Specifies the time in Coordinated Universal Time (UTC) when the DB instance, from which the snapshot was taken, was created. - :param master_username: The master user name for the DB snapshot. - :param engine_version: The version of the database engine. - :param license_model: License model information for the restored DB instance. - :param snapshot_type: The type of the DB snapshot. - :param iops: The provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot. - :param option_group_name: The option group name for the DB snapshot. - :param percent_progress: The percentage of the estimated data that has been transferred. - :param source_region: The AWS Region that the DB snapshot was created in or copied from. - :param source_db_snapshot_identifier: The DB snapshot ARN that the DB snapshot was copied from. - :param storage_type: The storage type associated with the DB snapshot. - :param tde_credential_arn: The ARN from the key store with which to associate the instance for TDE encryption. - :param encrypted: Whether the DB snapshot is encrypted. - :param kms_key_id: If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot. - :param timezone: The time zone of the DB snapshot. - :param iam_database_authentication_enabled: Whether mapping of IAM accounts to database accounts is enabled. - :param processor_features: The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. - :param dbi_resource_id: The identifier for the source DB instance. - - :return: AwsRdsDbSnapshotDetails object - """ - - db_snapshot_identifier: Optional[NonEmptyString] - db_instance_identifier: Optional[NonEmptyString] - snapshot_create_time: Optional[Iso8601Timestamp] - engine: Optional[NonEmptyString] - allocated_storage: Optional[Integer] - status: Optional[NonEmptyString] - port: Optional[Integer] - availability_zone: Optional[NonEmptyString] - vpc_id: Optional[NonEmptyString] - instance_create_time: Optional[Iso8601Timestamp] - master_username: Optional[NonEmptyString] - engine_version: Optional[NonEmptyString] - license_model: Optional[NonEmptyString] - snapshot_type: Optional[NonEmptyString] - iops: Optional[Integer] - option_group_name: Optional[NonEmptyString] - percent_progress: Optional[Integer] - source_region: Optional[NonEmptyString] - source_db_snapshot_identifier: Optional[NonEmptyString] - storage_type: Optional[NonEmptyString] - tde_credential_arn: Optional[NonEmptyString] - encrypted: Optional[Boolean] - kms_key_id: Optional[NonEmptyString] - timezone: Optional[NonEmptyString] - iam_database_authentication_enabled: Optional[Boolean] - processor_features: Optional[AwsRdsDbProcessorFeatures] - dbi_resource_id: Optional[NonEmptyString] - - -class AwsRdsDbClusterSnapshotDetails(ASFFBaseModel): - """ - Information about an Amazon RDS DB cluster snapshot. - - :param availability_zones: A list of Availability Zones where instances in the DB cluster can be created. - :param snapshot_create_time: Indicates when the snapshot was taken. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param engine: The name of the database engine that you want to use for this DB instance. - :param allocated_storage: Specifies the allocated storage size in gibibytes (GiB). - :param status: The status of this DB cluster snapshot. - :param port: The port number on which the DB instances in the DB cluster accept connections. - :param vpc_id: The VPC ID that is associated with the DB cluster snapshot. - :param cluster_create_time: Indicates when the DB cluster was created, in Universal Coordinated Time (UTC). Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param master_username: The name of the master user for the DB cluster. - :param engine_version: The version of the database engine to use. - :param license_model: The license model information for this DB cluster snapshot. - :param snapshot_type: The type of DB cluster snapshot. - :param percent_progress: Specifies the percentage of the estimated data that has been transferred. - :param storage_encrypted: Whether the DB cluster is encrypted. - :param kms_key_id: The ARN of the AWS KMS master key that is used to encrypt the database instances in the DB cluster. - :param db_cluster_identifier: The DB cluster identifier. - :param db_cluster_snapshot_identifier: The identifier of the DB cluster snapshot. - :param iam_database_authentication_enabled: Whether mapping of IAM accounts to database accounts is enabled. - - :return: AwsRdsDbClusterSnapshotDetails object - """ - - availability_zones: Optional[StringList] - snapshot_create_time: Optional[Iso8601Timestamp] - engine: Optional[NonEmptyString] - allocated_storage: Optional[Integer] - status: Optional[NonEmptyString] - port: Optional[Integer] - vpc_id: Optional[NonEmptyString] - cluster_create_time: Optional[Iso8601Timestamp] - master_username: Optional[NonEmptyString] - engine_version: Optional[NonEmptyString] - license_model: Optional[NonEmptyString] - snapshot_type: Optional[NonEmptyString] - percent_progress: Optional[Integer] - storage_encrypted: Optional[Boolean] - kms_key_id: Optional[NonEmptyString] - db_cluster_identifier: Optional[NonEmptyString] - db_cluster_snapshot_identifier: Optional[NonEmptyString] - iam_database_authentication_enabled: Optional[Boolean] - - -class AwsRdsDbClusterAssociatedRole(ASFFBaseModel): - """ - An IAM role that is associated with the Amazon RDS DB cluster. - - :param role_arn: The ARN of the IAM role. - :param status: The status of the association between the IAM role and the DB cluster. - - :return: AwsRdsDbClusterAssociatedRole object - """ - - role_arn: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -AwsRdsDbClusterAssociatedRoles = List[AwsRdsDbClusterAssociatedRole] - - -class AwsRdsDbClusterOptionGroupMembership(ASFFBaseModel): - """ - Information about an option group membership for a DB cluster. - - :param db_cluster_option_group_name: The name of the DB cluster option group. - :param status: The status of the DB cluster option group. - - :return: AwsRdsDbClusterOptionGroupMembership object - """ - - db_cluster_option_group_name: Optional[NonEmptyString] - status: Optional[NonEmptyString] - - -AwsRdsDbClusterOptionGroupMemberships = List[AwsRdsDbClusterOptionGroupMembership] - - -class AwsRdsDbClusterMember(ASFFBaseModel): - """ - Information about an instance in the DB cluster. - - :param is_cluster_writer: Whether the cluster member is the primary instance for the DB cluster. - :param promotion_tier: Specifies the order in which an Aurora replica is promoted to the primary instance when the existing primary instance fails. - :param db_instance_identifier: The instance identifier for this member of the DB cluster. - :param db_cluster_parameter_group_status: The status of the DB cluster parameter group for this member of the DB cluster. - - :return: AwsRdsDbClusterMember object - """ - - is_cluster_writer: Optional[Boolean] - promotion_tier: Optional[Integer] - db_instance_identifier: Optional[NonEmptyString] - db_cluster_parameter_group_status: Optional[NonEmptyString] - - -AwsRdsDbClusterMembers = List[AwsRdsDbClusterMember] - - -class AwsRdsDbClusterDetails(ASFFBaseModel): - """ - Information about an Amazon RDS DB cluster. - - :param allocated_storage: For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB). - :param availability_zones: A list of Availability Zones (AZs) where instances in the DB cluster can be created. - :param backup_retention_period: The number of days for which automated backups are retained. - :param database_name: The name of the database. - :param status: The current status of this DB cluster. - :param endpoint: The connection endpoint for the primary instance of the DB cluster. - :param reader_endpoint: The reader endpoint for the DB cluster. - :param custom_endpoints: A list of custom endpoints for the DB cluster. - :param multi_az: Whether the DB cluster has instances in multiple Availability Zones. - :param engine: The name of the database engine to use for this DB cluster. - :param engine_version: The version number of the database engine to use. - :param port: The port number on which the DB instances in the DB cluster accept connections. - :param master_username: The name of the master user for the DB cluster. - :param preferred_backup_window: The range of time each day when automated backups are created, if automated backups are enabled. Uses the format HH:MM-HH:MM. For example, 04:52-05:22. - :param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Uses the format <day>:HH:MM-<day>:HH:MM. For the day values, use mon|tue|wed|thu|fri|sat|sun. For example, sun:09:32-sun:10:02. - :param read_replica_identifiers: The identifiers of the read replicas that are associated with this DB cluster. - :param vpc_security_groups: A list of VPC security groups that the DB cluster belongs to. - :param hosted_zone_id: Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone. - :param storage_encrypted: Whether the DB cluster is encrypted. - :param kms_key_id: The ARN of the AWS KMS master key that is used to encrypt the database instances in the DB cluster. - :param db_cluster_resource_id: The identifier of the DB cluster. The identifier must be unique within each AWS Region and is immutable. - :param associated_roles: A list of the IAM roles that are associated with the DB cluster. - :param cluster_create_time: Indicates when the DB cluster was created, in Universal Coordinated Time (UTC). Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param enabled_cloud_watch_logs_exports: A list of log types that this DB cluster is configured to export to CloudWatch Logs. - :param engine_mode: The database engine mode of the DB cluster. - :param deletion_protection: Whether the DB cluster has deletion protection enabled. - :param http_endpoint_enabled: Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled. - :param activity_stream_status: The status of the database activity stream. - :param copy_tags_to_snapshot: Whether tags are copied from the DB cluster to snapshots of the DB cluster. - :param cross_account_clone: Whether the DB cluster is a clone of a DB cluster owned by a different AWS account. - :param domain_memberships: The Active Directory domain membership records that are associated with the DB cluster. - :param db_cluster_parameter_group: The name of the DB cluster parameter group for the DB cluster. - :param db_subnet_group: The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group. - :param db_cluster_option_group_memberships: The list of option group memberships for this DB cluster. - :param db_cluster_identifier: The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster. - :param db_cluster_members: The list of instances that make up the DB cluster. - :param iam_database_authentication_enabled: Whether the mapping of IAM accounts to database accounts is enabled. - - :return: AwsRdsDbClusterDetails object - """ - - allocated_storage: Optional[Integer] - availability_zones: Optional[StringList] - backup_retention_period: Optional[Integer] - database_name: Optional[NonEmptyString] - status: Optional[NonEmptyString] - endpoint: Optional[NonEmptyString] - reader_endpoint: Optional[NonEmptyString] - custom_endpoints: Optional[StringList] - multi_az: Optional[Boolean] - engine: Optional[NonEmptyString] - engine_version: Optional[NonEmptyString] - port: Optional[Integer] - master_username: Optional[NonEmptyString] - preferred_backup_window: Optional[NonEmptyString] - preferred_maintenance_window: Optional[NonEmptyString] - read_replica_identifiers: Optional[StringList] - vpc_security_groups: Optional[AwsRdsDbInstanceVpcSecurityGroups] - hosted_zone_id: Optional[NonEmptyString] - storage_encrypted: Optional[Boolean] - kms_key_id: Optional[NonEmptyString] - db_cluster_resource_id: Optional[NonEmptyString] - associated_roles: Optional[AwsRdsDbClusterAssociatedRoles] - cluster_create_time: Optional[Iso8601Timestamp] - enabled_cloud_watch_logs_exports: Optional[StringList] - engine_mode: Optional[NonEmptyString] - deletion_protection: Optional[Boolean] - http_endpoint_enabled: Optional[Boolean] - activity_stream_status: Optional[NonEmptyString] - copy_tags_to_snapshot: Optional[Boolean] - cross_account_clone: Optional[Boolean] - domain_memberships: Optional[AwsRdsDbDomainMemberships] - db_cluster_parameter_group: Optional[NonEmptyString] - db_subnet_group: Optional[NonEmptyString] - db_cluster_option_group_memberships: Optional[AwsRdsDbClusterOptionGroupMemberships] - db_cluster_identifier: Optional[NonEmptyString] - db_cluster_members: Optional[AwsRdsDbClusterMembers] - iam_database_authentication_enabled: Optional[Boolean] - - -class ContainerDetails(ASFFBaseModel): - """ - Container details related to a finding. - - :param name: The name of the container related to a finding. - :param image_id: The identifier of the image related to a finding. - :param image_name: The name of the image related to a finding. - :param launched_at: Indicates when the container started. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: ContainerDetails object - """ - - name: Optional[NonEmptyString] - image_id: Optional[NonEmptyString] - image_name: Optional[NonEmptyString] - launched_at: Optional[Iso8601Timestamp] - - -class ResourceDetails(ASFFBaseModel): - """ - Additional details about a resource related to a finding. To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details. If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields. You also use the Other object to populate the details when the selected type does not have a corresponding object. - - :param aws_auto_scaling_auto_scaling_group: Details for an autoscaling group. - :param aws_code_build_project: Details for an AWS CodeBuild project. - :param aws_cloud_front_distribution: Details about a CloudFront distribution. - :param aws_ec2_instance: Details about an Amazon EC2 instance related to a finding. - :param aws_ec2_network_interface: Details for an Amazon EC2 network interface. - :param aws_ec2_security_group: Details for an EC2 security group. - :param aws_ec2_volume: Details for an EC2 volume. - :param aws_ec2_vpc: Details for an EC2 VPC. - :param aws_ec2_eip: Details about an Elastic IP address. - :param aws_elbv2_load_balancer: Details about a load balancer. - :param aws_elasticsearch_domain: Details for an Elasticsearch domain. - :param aws_s3_bucket: Details about an Amazon S3 bucket related to a finding. - :param aws_s3_account_public_access_block: Details about the Amazon S3 Public Access Block configuration for an account. - :param aws_s3_object: Details about an Amazon S3 object related to a finding. - :param aws_secrets_manager_secret: Details about a Secrets Manager secret. - :param aws_iam_access_key: Details about an IAM access key related to a finding. - :param aws_iam_user: Details about an IAM user. - :param aws_iam_policy: Details about an IAM permissions policy. - :param aws_api_gateway_v2_stage: Provides information about a version 2 stage for Amazon API Gateway. - :param aws_api_gateway_v2_api: Provides information about a version 2 API in Amazon API Gateway. - :param aws_dynamo_db_table: Details about a DynamoDB table. - :param aws_api_gateway_stage: Provides information about a version 1 Amazon API Gateway stage. - :param aws_api_gateway_rest_api: Provides information about a REST API in version 1 of Amazon API Gateway. - :param aws_cloud_trail_trail: Provides details about a CloudTrail trail. - :param aws_ssm_patch_compliance: Provides information about the state of a patch on an instance based on the patch baseline that was used to patch the instance. - :param aws_certificate_manager_certificate: Provides details about an AWS Certificate Manager (ACM) certificate. - :param aws_redshift_cluster: Contains details about an Amazon Redshift cluster. - :param aws_elb_load_balancer: contains details about a Classic Load Balancer. - :param aws_iam_group: Contains details about an IAM group. - :param aws_iam_role: Details about an IAM role. - :param aws_kms_key: Details about a KMS key. - :param aws_lambda_function: Details about a Lambda function. - :param aws_lambda_layer_version: Details for a Lambda layer version. - :param aws_rds_db_instance: Details about an Amazon RDS database instance. - :param aws_sns_topic: Details about an SNS topic. - :param aws_sqs_queue: Details about an SQS queue. - :param aws_waf_web_acl: Details for a WAF WebACL. - :param aws_rds_db_snapshot: Details about an Amazon RDS database snapshot. - :param aws_rds_db_cluster_snapshot: Details about an Amazon RDS database cluster snapshot. - :param aws_rds_db_cluster: Details about an Amazon RDS database cluster. - :param container: Details about a container resource related to a finding. - :param other: Details about a resource that are not available in a type-specific details object. Use the Other object in the following cases. The type-specific object does not contain all of the fields that you want to populate. In this case, first use the type-specific object to populate those fields. Use the Other object to populate the fields that are missing from the type-specific object. The resource type does not have a corresponding object. This includes resources for which the type is Other. - - :return: ResourceDetails object - """ - - aws_auto_scaling_auto_scaling_group: Optional[AwsAutoScalingAutoScalingGroupDetails] - aws_code_build_project: Optional[AwsCodeBuildProjectDetails] - aws_cloud_front_distribution: Optional[AwsCloudFrontDistributionDetails] - aws_ec2_instance: Optional[AwsEc2InstanceDetails] - aws_ec2_network_interface: Optional[AwsEc2NetworkInterfaceDetails] - aws_ec2_security_group: Optional[AwsEc2SecurityGroupDetails] - aws_ec2_volume: Optional[AwsEc2VolumeDetails] - aws_ec2_vpc: Optional[AwsEc2VpcDetails] - aws_ec2_eip: Optional[AwsEc2EipDetails] - aws_elbv2_load_balancer: Optional[AwsElbv2LoadBalancerDetails] - aws_elasticsearch_domain: Optional[AwsElasticsearchDomainDetails] - aws_s3_bucket: Optional[AwsS3BucketDetails] - aws_s3_account_public_access_block: Optional[AwsS3AccountPublicAccessBlockDetails] - aws_s3_object: Optional[AwsS3ObjectDetails] - aws_secrets_manager_secret: Optional[AwsSecretsManagerSecretDetails] - aws_iam_access_key: Optional[AwsIamAccessKeyDetails] - aws_iam_user: Optional[AwsIamUserDetails] - aws_iam_policy: Optional[AwsIamPolicyDetails] - aws_api_gateway_v2_stage: Optional[AwsApiGatewayV2StageDetails] - aws_api_gateway_v2_api: Optional[AwsApiGatewayV2ApiDetails] - aws_dynamo_db_table: Optional[AwsDynamoDbTableDetails] - aws_api_gateway_stage: Optional[AwsApiGatewayStageDetails] - aws_api_gateway_rest_api: Optional[AwsApiGatewayRestApiDetails] - aws_cloud_trail_trail: Optional[AwsCloudTrailTrailDetails] - aws_ssm_patch_compliance: Optional[AwsSsmPatchComplianceDetails] - aws_certificate_manager_certificate: Optional[ - AwsCertificateManagerCertificateDetails - ] - aws_redshift_cluster: Optional[AwsRedshiftClusterDetails] - aws_elb_load_balancer: Optional[AwsElbLoadBalancerDetails] - aws_iam_group: Optional[AwsIamGroupDetails] - aws_iam_role: Optional[AwsIamRoleDetails] - aws_kms_key: Optional[AwsKmsKeyDetails] - aws_lambda_function: Optional[AwsLambdaFunctionDetails] - aws_lambda_layer_version: Optional[AwsLambdaLayerVersionDetails] - aws_rds_db_instance: Optional[AwsRdsDbInstanceDetails] - aws_sns_topic: Optional[AwsSnsTopicDetails] - aws_sqs_queue: Optional[AwsSqsQueueDetails] - aws_waf_web_acl: Optional[AwsWafWebAclDetails] - aws_rds_db_snapshot: Optional[AwsRdsDbSnapshotDetails] - aws_rds_db_cluster_snapshot: Optional[AwsRdsDbClusterSnapshotDetails] - aws_rds_db_cluster: Optional[AwsRdsDbClusterDetails] - container: Optional[ContainerDetails] - other: Optional[FieldMap] - - -class Resource(ASFFBaseModel): - """ - A resource related to a finding. - - :param type: The type of the resource that details are provided for. If possible, set Type to one of the supported resource types. For example, if the resource is an EC2 instance, then set Type to AwsEc2Instance. If the resource does not match any of the provided types, then set Type to Other. - :param id: The canonical identifier for the given resource type. - :param partition: The canonical AWS partition name that the Region is assigned to. - :param region: The canonical AWS external Region name where this resource is located. - :param resource_role: Identifies the role of the resource in the finding. A resource is either the actor or target of the finding activity, - :param tags: A list of AWS tags associated with a resource at the time the finding was processed. - :param data_classification: Contains information about sensitive data that was detected on the resource. - :param details: Additional details about the resource related to a finding. - - :return: Resource object - """ - - type: NonEmptyString - id: NonEmptyString - partition: Optional[Partition] - region: Optional[NonEmptyString] - resource_role: Optional[NonEmptyString] - tags: Optional[FieldMap] - data_classification: Optional[DataClassificationDetails] - details: Optional[ResourceDetails] - - -ResourceList = List[Resource] -ComplianceStatus = constr(regex="^(PASSED|WARNING|FAILED|NOT_AVAILABLE)$") -RelatedRequirementsList = List[NonEmptyString] - - -class StatusReason(ASFFBaseModel): - """ - Provides additional context for the value of Compliance.Status. - - :param reason_code: A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the AWS Security Hub User Guide. - :param description: The corresponding description for the status reason code. - - :return: StatusReason object - """ - - reason_code: NonEmptyString - description: Optional[NonEmptyString] - - -StatusReasonsList = List[StatusReason] - - -class Compliance(ASFFBaseModel): - """ - Contains finding details that are specific to control-based findings. Only returned for findings generated from controls. - - :param status: The result of a standards check. The valid values for Status are as follows. PASSED - Standards check passed for all evaluated resources. WARNING - Some information is missing or this check is not supported for your configuration. FAILED - Standards check failed for at least one evaluated resource. NOT_AVAILABLE - Check could not be performed due to a service outage, API error, or because the result of the AWS Config evaluation was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE, then after 3 days, Security Hub automatically archives the finding. - :param related_requirements: For a control, the industry or regulatory framework requirements that are related to the control. The check for that control is aligned with these requirements. - :param status_reasons: For findings generated from controls, a list of reasons behind the value of Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the AWS Security Hub User Guide. - - :return: Compliance object - """ - - status: Optional[ComplianceStatus] - related_requirements: Optional[RelatedRequirementsList] - status_reasons: Optional[StatusReasonsList] - - -VerificationState = constr( - regex="^(UNKNOWN|TRUE_POSITIVE|FALSE_POSITIVE|BENIGN_POSITIVE)$" -) -WorkflowState = constr(regex="^(NEW|ASSIGNED|IN_PROGRESS|DEFERRED|RESOLVED)$") -WorkflowStatus = constr(regex="^(NEW|NOTIFIED|RESOLVED|SUPPRESSED)$") - - -class Workflow(ASFFBaseModel): - """ - Provides information about the status of the investigation into a finding. - - :param status: The status of the investigation into the finding. The allowed values are the following. NEW - The initial state of a finding, before it is reviewed. Security Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE. NOTIFIED - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner. SUPPRESSED - The finding will not be reviewed again and will not be acted upon. RESOLVED - The finding was reviewed and remediated and is now considered resolved. - - :return: Workflow object - """ - - status: Optional[WorkflowStatus] - - -RecordState = constr(regex="^(ACTIVE|ARCHIVED)$") - - -class Note(ASFFBaseModel): - """ - A user-defined note added to a finding. - - :param text: The text of a note. - :param updated_by: The principal that created a note. - :param updated_at: The timestamp of when the note was updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - - :return: Note object - """ - - text: NonEmptyString - updated_by: NonEmptyString - updated_at: Iso8601Timestamp - - -class SoftwarePackage(ASFFBaseModel): - """ - Information about a software package. - - :param name: The name of the software package. - :param version: The version of the software package. - :param epoch: The epoch of the software package. - :param release: The release of the software package. - :param architecture: The architecture used for the software package. - - :return: SoftwarePackage object - """ - - name: Optional[NonEmptyString] - version: Optional[NonEmptyString] - epoch: Optional[NonEmptyString] - release: Optional[NonEmptyString] - architecture: Optional[NonEmptyString] - - -SoftwarePackageList = List[SoftwarePackage] +:return: AwsIamUserPolicy object + """ + policy_name: Optional[NonEmptyString] +AwsIamUserPolicyList = List[AwsIamUserPolicy] +class AwsIamUserDetails(ASFFBaseModel): + """ +Information about an IAM user. + +:param attached_managed_policies: A list of the managed policies that are attached to the user. +:param create_date: Indicates when the user was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param group_list: A list of IAM groups that the user belongs to. +:param path: The path to the user. +:param permissions_boundary: The permissions boundary for the user. +:param user_id: The unique identifier for the user. +:param user_name: The name of the user. +:param user_policy_list: The list of inline policies that are embedded in the user. + +:return: AwsIamUserDetails object + """ + attached_managed_policies: Optional[AwsIamAttachedManagedPolicyList] + create_date: Optional[Iso8601Timestamp] + group_list: Optional[StringList] + path: Optional[NonEmptyString] + permissions_boundary: Optional[AwsIamPermissionsBoundary] + user_id: Optional[NonEmptyString] + user_name: Optional[NonEmptyString] + user_policy_list: Optional[AwsIamUserPolicyList] +class AwsIamPolicyVersion(ASFFBaseModel): + """ +A version of an IAM policy. + +:param version_id: The identifier of the policy version. +:param is_default_version: Whether the version is the default version. +:param create_date: Indicates when the version was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsIamPolicyVersion object + """ + version_id: Optional[NonEmptyString] + is_default_version: Optional[Boolean] + create_date: Optional[Iso8601Timestamp] +AwsIamPolicyVersionList = List[AwsIamPolicyVersion] +class AwsIamPolicyDetails(ASFFBaseModel): + """ +Represents an IAM permissions policy. + +:param attachment_count: The number of users, groups, and roles that the policy is attached to. +:param create_date: When the policy was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param default_version_id: The identifier of the default version of the policy. +:param description: A description of the policy. +:param is_attachable: Whether the policy can be attached to a user, group, or role. +:param path: The path to the policy. +:param permissions_boundary_usage_count: The number of users and roles that use the policy to set the permissions boundary. +:param policy_id: The unique identifier of the policy. +:param policy_name: The name of the policy. +:param policy_version_list: List of versions of the policy. +:param update_date: When the policy was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsIamPolicyDetails object + """ + attachment_count: Optional[Integer] + create_date: Optional[Iso8601Timestamp] + default_version_id: Optional[NonEmptyString] + description: Optional[NonEmptyString] + is_attachable: Optional[Boolean] + path: Optional[NonEmptyString] + permissions_boundary_usage_count: Optional[Integer] + policy_id: Optional[NonEmptyString] + policy_name: Optional[NonEmptyString] + policy_version_list: Optional[AwsIamPolicyVersionList] + update_date: Optional[Iso8601Timestamp] +class AwsApiGatewayV2RouteSettings(ASFFBaseModel): + """ +Contains route settings for a stage. + +:param detailed_metrics_enabled: Indicates whether detailed metrics are enabled. +:param logging_level: The logging level. The logging level affects the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs. If the logging level is ERROR, then the logs only include error-level entries. If the logging level is INFO, then the logs include both ERROR events and extra informational events. Valid values: OFF | ERROR | INFO +:param data_trace_enabled: Indicates whether data trace logging is enabled. Data trace logging affects the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket APIs. +:param throttling_burst_limit: The throttling burst limit. +:param throttling_rate_limit: The throttling rate limit. + +:return: AwsApiGatewayV2RouteSettings object + """ + detailed_metrics_enabled: Optional[Boolean] + logging_level: Optional[NonEmptyString] + data_trace_enabled: Optional[Boolean] + throttling_burst_limit: Optional[Integer] + throttling_rate_limit: Optional[Double] +class AwsApiGatewayAccessLogSettings(ASFFBaseModel): + """ +Contains information about settings for logging access for the stage. +:param format: A single-line format of the access logs of data, as specified by selected $context variables. The format must include at least $context.requestId. +:param destination_arn: The ARN of the CloudWatch Logs log group that receives the access logs. -class Cvss(ASFFBaseModel): - """ - CVSS scores from the advisory related to the vulnerability. +:return: AwsApiGatewayAccessLogSettings object + """ + format: Optional[NonEmptyString] + destination_arn: Optional[NonEmptyString] +class AwsApiGatewayV2StageDetails(ASFFBaseModel): + """ +Contains information about a version 2 stage for Amazon API Gateway. + +:param client_certificate_id: The identifier of a client certificate for a stage. Supported only for WebSocket API calls. +:param created_date: Indicates when the stage was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param description: The description of the stage. +:param default_route_settings: Default route settings for the stage. +:param deployment_id: The identifier of the deployment that the stage is associated with. +:param last_updated_date: Indicates when the stage was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param route_settings: The route settings for the stage. +:param stage_name: The name of the stage. +:param stage_variables: A map that defines the stage variables for the stage. Variable names can have alphanumeric and underscore characters. Variable values can contain the following characters: Uppercase and lowercase letters Numbers Special characters -._~:/?#&=, +:param access_log_settings: Information about settings for logging access for the stage. +:param auto_deploy: Indicates whether updates to an API automatically trigger a new deployment. +:param last_deployment_status_message: The status of the last deployment of a stage. Supported only if the stage has automatic deployment enabled. +:param api_gateway_managed: Indicates whether the stage is managed by API Gateway. + +:return: AwsApiGatewayV2StageDetails object + """ + client_certificate_id: Optional[NonEmptyString] + created_date: Optional[Iso8601Timestamp] + description: Optional[NonEmptyString] + default_route_settings: Optional[AwsApiGatewayV2RouteSettings] + deployment_id: Optional[NonEmptyString] + last_updated_date: Optional[NonEmptyString] + route_settings: Optional[AwsApiGatewayV2RouteSettings] + stage_name: Optional[NonEmptyString] + stage_variables: Optional[FieldMap] + access_log_settings: Optional[AwsApiGatewayAccessLogSettings] + auto_deploy: Optional[Boolean] + last_deployment_status_message: Optional[NonEmptyString] + api_gateway_managed: Optional[Boolean] +class AwsCorsConfiguration(ASFFBaseModel): + """ +Contains the cross-origin resource sharing (CORS) configuration for the API. CORS is only supported for HTTP APIs. + +:param allow_origins: The allowed origins for CORS requests. +:param allow_credentials: Indicates whether the CORS request includes credentials. +:param expose_headers: The exposed headers for CORS requests. +:param max_age: The number of seconds for which the browser caches preflight request results. +:param allow_methods: The allowed methods for CORS requests. +:param allow_headers: The allowed headers for CORS requests. + +:return: AwsCorsConfiguration object + """ + allow_origins: Optional[NonEmptyStringList] + allow_credentials: Optional[Boolean] + expose_headers: Optional[NonEmptyStringList] + max_age: Optional[Integer] + allow_methods: Optional[NonEmptyStringList] + allow_headers: Optional[NonEmptyStringList] +class AwsApiGatewayV2ApiDetails(ASFFBaseModel): + """ +Contains information about a version 2 API in Amazon API Gateway. + +:param api_endpoint: The URI of the API. Uses the format <api-id>.execute-api.<region>.amazonaws.com The stage name is typically appended to the URI to form a complete path to a deployed API stage. +:param api_id: The identifier of the API. +:param api_key_selection_expression: An API key selection expression. Supported only for WebSocket APIs. +:param created_date: Indicates when the API was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param description: A description of the API. +:param version: The version identifier for the API. +:param name: The name of the API. +:param protocol_type: The API protocol for the API. Valid values: WEBSOCKET | HTTP +:param route_selection_expression: The route selection expression for the API. For HTTP APIs, must be ${request.method} ${request.path}. This is the default value for HTTP APIs. For WebSocket APIs, there is no default value. +:param cors_configuration: A cross-origin resource sharing (CORS) configuration. Supported only for HTTP APIs. + +:return: AwsApiGatewayV2ApiDetails object + """ + api_endpoint: Optional[NonEmptyString] + api_id: Optional[NonEmptyString] + api_key_selection_expression: Optional[NonEmptyString] + created_date: Optional[Iso8601Timestamp] + description: Optional[NonEmptyString] + version: Optional[NonEmptyString] + name: Optional[NonEmptyString] + protocol_type: Optional[NonEmptyString] + route_selection_expression: Optional[NonEmptyString] + cors_configuration: Optional[AwsCorsConfiguration] +class AwsDynamoDbTableAttributeDefinition(ASFFBaseModel): + """ +Contains a definition of an attribute for the table. - :param version: The version of CVSS for the CVSS score. - :param base_score: The base CVSS score. - :param base_vector: The base scoring vector for the CVSS score. +:param attribute_name: The name of the attribute. +:param attribute_type: The type of the attribute. - :return: Cvss object - """ +:return: AwsDynamoDbTableAttributeDefinition object + """ + attribute_name: Optional[NonEmptyString] + attribute_type: Optional[NonEmptyString] +AwsDynamoDbTableAttributeDefinitionList = List[AwsDynamoDbTableAttributeDefinition] +class AwsDynamoDbTableBillingModeSummary(ASFFBaseModel): + """ +Provides information about the billing for read/write capacity on the table. - version: Optional[NonEmptyString] - base_score: Optional[Double] - base_vector: Optional[NonEmptyString] +:param billing_mode: The method used to charge for read and write throughput and to manage capacity. +:param last_update_to_pay_per_request_date_time: If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was set to that value. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:return: AwsDynamoDbTableBillingModeSummary object + """ + billing_mode: Optional[NonEmptyString] + last_update_to_pay_per_request_date_time: Optional[Iso8601Timestamp] +SizeBytes = int +class AwsDynamoDbTableKeySchema(ASFFBaseModel): + """ +A component of the key schema for the DynamoDB table, a global secondary index, or a local secondary index. -CvssList = List[Cvss] +:param attribute_name: The name of the key schema attribute. +:param key_type: The type of key used for the key schema attribute. +:return: AwsDynamoDbTableKeySchema object + """ + attribute_name: Optional[NonEmptyString] + key_type: Optional[NonEmptyString] +AwsDynamoDbTableKeySchemaList = List[AwsDynamoDbTableKeySchema] +class AwsDynamoDbTableProjection(ASFFBaseModel): + """ +For global and local secondary indexes, identifies the attributes that are copied from the table into the index. -class VulnerabilityVendor(ASFFBaseModel): - """ - A vendor that generates a vulnerability report. +:param non_key_attributes: The nonkey attributes that are projected into the index. For each attribute, provide the attribute name. +:param projection_type: The types of attributes that are projected into the index. - :param name: The name of the vendor. - :param url: The URL of the vulnerability advisory. - :param vendor_severity: The severity that the vendor assigned to the vulnerability. - :param vendor_created_at: Indicates when the vulnerability advisory was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param vendor_updated_at: Indicates when the vulnerability advisory was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:return: AwsDynamoDbTableProjection object + """ + non_key_attributes: Optional[StringList] + projection_type: Optional[NonEmptyString] +class AwsDynamoDbTableProvisionedThroughput(ASFFBaseModel): + """ +Information about the provisioned throughput for the table or for a global secondary index. + +:param last_decrease_date_time: Indicates when the provisioned throughput was last decreased. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param last_increase_date_time: Indicates when the provisioned throughput was last increased. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param number_of_decreases_today: The number of times during the current UTC calendar day that the provisioned throughput was decreased. +:param read_capacity_units: The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException. +:param write_capacity_units: The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException. + +:return: AwsDynamoDbTableProvisionedThroughput object + """ + last_decrease_date_time: Optional[Iso8601Timestamp] + last_increase_date_time: Optional[Iso8601Timestamp] + number_of_decreases_today: Optional[Integer] + read_capacity_units: Optional[Integer] + write_capacity_units: Optional[Integer] +class AwsDynamoDbTableGlobalSecondaryIndex(ASFFBaseModel): + """ +Information abut a global secondary index for the table. + +:param backfilling: Whether the index is currently backfilling. +:param index_arn: The ARN of the index. +:param index_name: The name of the index. +:param index_size_bytes: The total size in bytes of the index. +:param index_status: The current status of the index. +:param item_count: The number of items in the index. +:param key_schema: The key schema for the index. +:param projection: Attributes that are copied from the table into an index. +:param provisioned_throughput: Information about the provisioned throughput settings for the indexes. + +:return: AwsDynamoDbTableGlobalSecondaryIndex object + """ + backfilling: Optional[Boolean] + index_arn: Optional[NonEmptyString] + index_name: Optional[NonEmptyString] + index_size_bytes: Optional[SizeBytes] + index_status: Optional[NonEmptyString] + item_count: Optional[Integer] + key_schema: Optional[AwsDynamoDbTableKeySchemaList] + projection: Optional[AwsDynamoDbTableProjection] + provisioned_throughput: Optional[AwsDynamoDbTableProvisionedThroughput] +AwsDynamoDbTableGlobalSecondaryIndexList = List[AwsDynamoDbTableGlobalSecondaryIndex] +class AwsDynamoDbTableLocalSecondaryIndex(ASFFBaseModel): + """ +Information about a local secondary index for a DynamoDB table. + +:param index_arn: The ARN of the index. +:param index_name: The name of the index. +:param key_schema: The complete key schema for the index. +:param projection: Attributes that are copied from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected. + +:return: AwsDynamoDbTableLocalSecondaryIndex object + """ + index_arn: Optional[NonEmptyString] + index_name: Optional[NonEmptyString] + key_schema: Optional[AwsDynamoDbTableKeySchemaList] + projection: Optional[AwsDynamoDbTableProjection] +AwsDynamoDbTableLocalSecondaryIndexList = List[AwsDynamoDbTableLocalSecondaryIndex] +class AwsDynamoDbTableProvisionedThroughputOverride(ASFFBaseModel): + """ +Replica-specific configuration for the provisioned throughput. - :return: VulnerabilityVendor object - """ +:param read_capacity_units: The read capacity units for the replica. - name: NonEmptyString - url: Optional[NonEmptyString] - vendor_severity: Optional[NonEmptyString] - vendor_created_at: Optional[Iso8601Timestamp] - vendor_updated_at: Optional[Iso8601Timestamp] +:return: AwsDynamoDbTableProvisionedThroughputOverride object + """ + read_capacity_units: Optional[Integer] +class AwsDynamoDbTableReplicaGlobalSecondaryIndex(ASFFBaseModel): + """ +Information about a global secondary index for a DynamoDB table replica. +:param index_name: The name of the index. +:param provisioned_throughput_override: Replica-specific configuration for the provisioned throughput for the index. -class Vulnerability(ASFFBaseModel): - """ - A vulnerability associated with a finding. +:return: AwsDynamoDbTableReplicaGlobalSecondaryIndex object + """ + index_name: Optional[NonEmptyString] + provisioned_throughput_override: Optional[AwsDynamoDbTableProvisionedThroughputOverride] +AwsDynamoDbTableReplicaGlobalSecondaryIndexList = List[AwsDynamoDbTableReplicaGlobalSecondaryIndex] +class AwsDynamoDbTableReplica(ASFFBaseModel): + """ +Information about a replica of a DynamoDB table. + +:param global_secondary_indexes: List of global secondary indexes for the replica. +:param kms_master_key_id: The identifier of the KMS key that will be used for KMS encryption for the replica. +:param provisioned_throughput_override: Replica-specific configuration for the provisioned throughput. +:param region_name: The name of the Region where the replica is located. +:param replica_status: The current status of the replica. +:param replica_status_description: Detailed information about the replica status. + +:return: AwsDynamoDbTableReplica object + """ + global_secondary_indexes: Optional[AwsDynamoDbTableReplicaGlobalSecondaryIndexList] + kms_master_key_id: Optional[NonEmptyString] + provisioned_throughput_override: Optional[AwsDynamoDbTableProvisionedThroughputOverride] + region_name: Optional[NonEmptyString] + replica_status: Optional[NonEmptyString] + replica_status_description: Optional[NonEmptyString] +AwsDynamoDbTableReplicaList = List[AwsDynamoDbTableReplica] +class AwsDynamoDbTableRestoreSummary(ASFFBaseModel): + """ +Information about the restore for the table. + +:param source_backup_arn: The ARN of the source backup from which the table was restored. +:param source_table_arn: The ARN of the source table for the backup. +:param restore_date_time: Indicates the point in time that the table was restored to. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param restore_in_progress: Whether a restore is currently in progress. + +:return: AwsDynamoDbTableRestoreSummary object + """ + source_backup_arn: Optional[NonEmptyString] + source_table_arn: Optional[NonEmptyString] + restore_date_time: Optional[Iso8601Timestamp] + restore_in_progress: Optional[Boolean] +class AwsDynamoDbTableSseDescription(ASFFBaseModel): + """ +Information about the server-side encryption for the table. + +:param inaccessible_encryption_date_time: If the key is inaccessible, the date and time when DynamoDB detected that the key was inaccessible. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param status: The status of the server-side encryption. +:param sse_type: The type of server-side encryption. +:param kms_master_key_arn: The ARN of the KMS key that is used for the KMS encryption. + +:return: AwsDynamoDbTableSseDescription object + """ + inaccessible_encryption_date_time: Optional[Iso8601Timestamp] + status: Optional[NonEmptyString] + sse_type: Optional[NonEmptyString] + kms_master_key_arn: Optional[NonEmptyString] +class AwsDynamoDbTableStreamSpecification(ASFFBaseModel): + """ +The current DynamoDB Streams configuration for the table. - :param id: The identifier of the vulnerability. - :param vulnerable_packages: List of software packages that have the vulnerability. - :param cvss: CVSS scores from the advisory related to the vulnerability. - :param related_vulnerabilities: List of vulnerabilities that are related to this vulnerability. - :param vendor: Information about the vendor that generates the vulnerability report. - :param reference_urls: A list of URLs that provide additional information about the vulnerability. +:param stream_enabled: Indicates whether DynamoDB Streams is enabled on the table. +:param stream_view_type: Determines the information that is written to the table. - :return: Vulnerability object - """ +:return: AwsDynamoDbTableStreamSpecification object + """ + stream_enabled: Optional[Boolean] + stream_view_type: Optional[NonEmptyString] +class AwsDynamoDbTableDetails(ASFFBaseModel): + """ +Provides details about a DynamoDB table. + +:param attribute_definitions: A list of attribute definitions for the table. +:param billing_mode_summary: Information about the billing for read/write capacity on the table. +:param creation_date_time: Indicates when the table was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param global_secondary_indexes: List of global secondary indexes for the table. +:param global_table_version: The version of global tables being used. +:param item_count: The number of items in the table. +:param key_schema: The primary key structure for the table. +:param latest_stream_arn: The ARN of the latest stream for the table. +:param latest_stream_label: The label of the latest stream. The label is not a unique identifier. +:param local_secondary_indexes: The list of local secondary indexes for the table. +:param provisioned_throughput: Information about the provisioned throughput for the table. +:param replicas: The list of replicas of this table. +:param restore_summary: Information about the restore for the table. +:param sse_description: Information about the server-side encryption for the table. +:param stream_specification: The current DynamoDB Streams configuration for the table. +:param table_id: The identifier of the table. +:param table_name: The name of the table. +:param table_size_bytes: The total size of the table in bytes. +:param table_status: The current status of the table. + +:return: AwsDynamoDbTableDetails object + """ + attribute_definitions: Optional[AwsDynamoDbTableAttributeDefinitionList] + billing_mode_summary: Optional[AwsDynamoDbTableBillingModeSummary] + creation_date_time: Optional[Iso8601Timestamp] + global_secondary_indexes: Optional[AwsDynamoDbTableGlobalSecondaryIndexList] + global_table_version: Optional[NonEmptyString] + item_count: Optional[Integer] + key_schema: Optional[AwsDynamoDbTableKeySchemaList] + latest_stream_arn: Optional[NonEmptyString] + latest_stream_label: Optional[NonEmptyString] + local_secondary_indexes: Optional[AwsDynamoDbTableLocalSecondaryIndexList] + provisioned_throughput: Optional[AwsDynamoDbTableProvisionedThroughput] + replicas: Optional[AwsDynamoDbTableReplicaList] + restore_summary: Optional[AwsDynamoDbTableRestoreSummary] + sse_description: Optional[AwsDynamoDbTableSseDescription] + stream_specification: Optional[AwsDynamoDbTableStreamSpecification] + table_id: Optional[NonEmptyString] + table_name: Optional[NonEmptyString] + table_size_bytes: Optional[SizeBytes] + table_status: Optional[NonEmptyString] +class AwsApiGatewayMethodSettings(ASFFBaseModel): + """ +Defines settings for a method for the stage. + +:param metrics_enabled: Indicates whether CloudWatch metrics are enabled for the method. +:param logging_level: The logging level for this method. The logging level affects the log entries that are pushed to CloudWatch Logs. If the logging level is ERROR, then the logs only include error-level entries. If the logging level is INFO, then the logs include both ERROR events and extra informational events. Valid values: OFF | ERROR | INFO +:param data_trace_enabled: Indicates whether data trace logging is enabled for the method. Data trace logging affects the log entries that are pushed to CloudWatch Logs. +:param throttling_burst_limit: The throttling burst limit for the method. +:param throttling_rate_limit: The throttling rate limit for the method. +:param caching_enabled: Indicates whether responses are cached and returned for requests. For responses to be cached, a cache cluster must be enabled on the stage. +:param cache_ttl_in_seconds: Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response is cached. +:param cache_data_encrypted: Indicates whether the cached responses are encrypted. +:param require_authorization_for_cache_control: Indicates whether authorization is required for a cache invalidation request. +:param unauthorized_cache_control_header_strategy: Indicates how to handle unauthorized requests for cache invalidation. Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER +:param http_method: The HTTP method. You can use an asterisk (*) as a wildcard to apply method settings to multiple methods. +:param resource_path: The resource path for this method. Forward slashes (/) are encoded as ~1 . The initial slash must include a forward slash. For example, the path value /resource/subresource must be encoded as /~1resource~1subresource. To specify the root path, use only a slash (/). You can use an asterisk (*) as a wildcard to apply method settings to multiple methods. + +:return: AwsApiGatewayMethodSettings object + """ + metrics_enabled: Optional[Boolean] + logging_level: Optional[NonEmptyString] + data_trace_enabled: Optional[Boolean] + throttling_burst_limit: Optional[Integer] + throttling_rate_limit: Optional[Double] + caching_enabled: Optional[Boolean] + cache_ttl_in_seconds: Optional[Integer] + cache_data_encrypted: Optional[Boolean] + require_authorization_for_cache_control: Optional[Boolean] + unauthorized_cache_control_header_strategy: Optional[NonEmptyString] + http_method: Optional[NonEmptyString] + resource_path: Optional[NonEmptyString] +AwsApiGatewayMethodSettingsList = List[AwsApiGatewayMethodSettings] +class AwsApiGatewayCanarySettings(ASFFBaseModel): + """ +Contains information about settings for canary deployment in the stage. + +:param percent_traffic: The percentage of traffic that is diverted to a canary deployment. +:param deployment_id: The deployment identifier for the canary deployment. +:param stage_variable_overrides: Stage variables that are overridden in the canary release deployment. The variables include new stage variables that are introduced in the canary. Each variable is represented as a string-to-string map between the stage variable name and the variable value. +:param use_stage_cache: Indicates whether the canary deployment uses the stage cache. + +:return: AwsApiGatewayCanarySettings object + """ + percent_traffic: Optional[Double] + deployment_id: Optional[NonEmptyString] + stage_variable_overrides: Optional[FieldMap] + use_stage_cache: Optional[Boolean] +class AwsApiGatewayStageDetails(ASFFBaseModel): + """ +Provides information about a version 1 Amazon API Gateway stage. + +:param deployment_id: The identifier of the deployment that the stage points to. +:param client_certificate_id: The identifier of the client certificate for the stage. +:param stage_name: The name of the stage. +:param description: A description of the stage. +:param cache_cluster_enabled: Indicates whether a cache cluster is enabled for the stage. +:param cache_cluster_size: If a cache cluster is enabled, the size of the cache cluster. +:param cache_cluster_status: If a cache cluster is enabled, the status of the cache cluster. +:param method_settings: Defines the method settings for the stage. +:param variables: A map that defines the stage variables for the stage. Variable names can have alphanumeric and underscore characters. Variable values can contain the following characters: Uppercase and lowercase letters Numbers Special characters -._~:/?#&=, +:param documentation_version: The version of the API documentation that is associated with the stage. +:param access_log_settings: Settings for logging access for the stage. +:param canary_settings: Information about settings for canary deployment in the stage. +:param tracing_enabled: Indicates whether active tracing with X-Ray is enabled for the stage. +:param created_date: Indicates when the stage was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param last_updated_date: Indicates when the stage was most recently updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param web_acl_arn: The ARN of the web ACL associated with the stage. + +:return: AwsApiGatewayStageDetails object + """ + deployment_id: Optional[NonEmptyString] + client_certificate_id: Optional[NonEmptyString] + stage_name: Optional[NonEmptyString] + description: Optional[NonEmptyString] + cache_cluster_enabled: Optional[Boolean] + cache_cluster_size: Optional[NonEmptyString] + cache_cluster_status: Optional[NonEmptyString] + method_settings: Optional[AwsApiGatewayMethodSettingsList] + variables: Optional[FieldMap] + documentation_version: Optional[NonEmptyString] + access_log_settings: Optional[AwsApiGatewayAccessLogSettings] + canary_settings: Optional[AwsApiGatewayCanarySettings] + tracing_enabled: Optional[Boolean] + created_date: Optional[Iso8601Timestamp] + last_updated_date: Optional[NonEmptyString] + web_acl_arn: Optional[NonEmptyString] +class AwsApiGatewayEndpointConfiguration(ASFFBaseModel): + """ +Contains information about the endpoints for the API. - id: NonEmptyString - vulnerable_packages: Optional[SoftwarePackageList] - cvss: Optional[CvssList] - related_vulnerabilities: Optional[StringList] - vendor: Optional[VulnerabilityVendor] - reference_urls: Optional[StringList] +:param types: A list of endpoint types for the REST API. For an edge-optimized API, the endpoint type is EDGE. For a Regional API, the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE. +:return: AwsApiGatewayEndpointConfiguration object + """ + types: Optional[NonEmptyStringList] +class AwsApiGatewayRestApiDetails(ASFFBaseModel): + """ +Contains information about a REST API in version 1 of Amazon API Gateway. + +:param id: The identifier of the REST API. +:param name: The name of the REST API. +:param description: A description of the REST API. +:param created_date: Indicates when the API was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param version: The version identifier for the REST API. +:param binary_media_types: The list of binary media types supported by the REST API. +:param minimum_compression_size: The minimum size in bytes of a payload before compression is enabled. If null, then compression is disabled. If 0, then all payloads are compressed. +:param api_key_source: The source of the API key for metering requests according to a usage plan. HEADER indicates whether to read the API key from the X-API-Key header of a request. AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey from a custom authorizer. +:param endpoint_configuration: The endpoint configuration of the REST API. + +:return: AwsApiGatewayRestApiDetails object + """ + id: Optional[NonEmptyString] + name: Optional[NonEmptyString] + description: Optional[NonEmptyString] + created_date: Optional[Iso8601Timestamp] + version: Optional[NonEmptyString] + binary_media_types: Optional[NonEmptyStringList] + minimum_compression_size: Optional[Integer] + api_key_source: Optional[NonEmptyString] + endpoint_configuration: Optional[AwsApiGatewayEndpointConfiguration] +class AwsCloudTrailTrailDetails(ASFFBaseModel): + """ +Provides details about a CloudTrail trail. + +:param cloud_watch_logs_log_group_arn: The ARN of the log group that CloudTrail logs are delivered to. +:param cloud_watch_logs_role_arn: The ARN of the role that the CloudWatch Events endpoint assumes when it writes to the log group. +:param has_custom_event_selectors: Indicates whether the trail has custom event selectors. +:param home_region: The Region where the trail was created. +:param include_global_service_events: Indicates whether the trail publishes events from global services such as IAM to the log files. +:param is_multi_region_trail: Indicates whether the trail applies only to the current Region or to all Regions. +:param is_organization_trail: Whether the trail is created for all accounts in an organization in Organizations, or only for the current Amazon Web Services account. +:param kms_key_id: The KMS key ID to use to encrypt the logs. +:param log_file_validation_enabled: Indicates whether CloudTrail log file validation is enabled. +:param name: The name of the trail. +:param s3_bucket_name: The name of the S3 bucket where the log files are published. +:param s3_key_prefix: The S3 key prefix. The key prefix is added after the name of the S3 bucket where the log files are published. +:param sns_topic_arn: The ARN of the SNS topic that is used for notifications of log file delivery. +:param sns_topic_name: The name of the SNS topic that is used for notifications of log file delivery. +:param trail_arn: The ARN of the trail. + +:return: AwsCloudTrailTrailDetails object + """ + cloud_watch_logs_log_group_arn: Optional[NonEmptyString] + cloud_watch_logs_role_arn: Optional[NonEmptyString] + has_custom_event_selectors: Optional[Boolean] + home_region: Optional[NonEmptyString] + include_global_service_events: Optional[Boolean] + is_multi_region_trail: Optional[Boolean] + is_organization_trail: Optional[Boolean] + kms_key_id: Optional[NonEmptyString] + log_file_validation_enabled: Optional[Boolean] + name: Optional[NonEmptyString] + s3_bucket_name: Optional[NonEmptyString] + s3_key_prefix: Optional[NonEmptyString] + sns_topic_arn: Optional[NonEmptyString] + sns_topic_name: Optional[NonEmptyString] + trail_arn: Optional[NonEmptyString] +class AwsSsmComplianceSummary(ASFFBaseModel): + """ +Provides the details about the compliance status for a patch. + +:param status: The current patch compliance status. The possible status values are: COMPLIANT NON_COMPLIANT UNSPECIFIED_DATA +:param compliant_critical_count: For the patches that are compliant, the number that have a severity of CRITICAL. +:param compliant_high_count: For the patches that are compliant, the number that have a severity of HIGH. +:param compliant_medium_count: For the patches that are compliant, the number that have a severity of MEDIUM. +:param execution_type: The type of execution that was used determine compliance. +:param non_compliant_critical_count: For the patch items that are noncompliant, the number of items that have a severity of CRITICAL. +:param compliant_informational_count: For the patches that are compliant, the number that have a severity of INFORMATIONAL. +:param non_compliant_informational_count: For the patches that are noncompliant, the number that have a severity of INFORMATIONAL. +:param compliant_unspecified_count: For the patches that are compliant, the number that have a severity of UNSPECIFIED. +:param non_compliant_low_count: For the patches that are noncompliant, the number that have a severity of LOW. +:param non_compliant_high_count: For the patches that are noncompliant, the number that have a severity of HIGH. +:param compliant_low_count: For the patches that are compliant, the number that have a severity of LOW. +:param compliance_type: The type of resource for which the compliance was determined. For AwsSsmPatchCompliance, ComplianceType is Patch. +:param patch_baseline_id: The identifier of the patch baseline. The patch baseline lists the patches that are approved for installation. +:param overall_severity: The highest severity for the patches. +:param non_compliant_medium_count: For the patches that are noncompliant, the number that have a severity of MEDIUM. +:param non_compliant_unspecified_count: For the patches that are noncompliant, the number that have a severity of UNSPECIFIED. +:param patch_group: The identifier of the patch group for which compliance was determined. A patch group uses tags to group EC2 instances that should have the same patch compliance. + +:return: AwsSsmComplianceSummary object + """ + status: Optional[NonEmptyString] + compliant_critical_count: Optional[Integer] + compliant_high_count: Optional[Integer] + compliant_medium_count: Optional[Integer] + execution_type: Optional[NonEmptyString] + non_compliant_critical_count: Optional[Integer] + compliant_informational_count: Optional[Integer] + non_compliant_informational_count: Optional[Integer] + compliant_unspecified_count: Optional[Integer] + non_compliant_low_count: Optional[Integer] + non_compliant_high_count: Optional[Integer] + compliant_low_count: Optional[Integer] + compliance_type: Optional[NonEmptyString] + patch_baseline_id: Optional[NonEmptyString] + overall_severity: Optional[NonEmptyString] + non_compliant_medium_count: Optional[Integer] + non_compliant_unspecified_count: Optional[Integer] + patch_group: Optional[NonEmptyString] +class AwsSsmPatch(ASFFBaseModel): + """ +Provides details about the compliance for a patch. -VulnerabilityList = List[Vulnerability] +:param compliance_summary: The compliance status details for the patch. +:return: AwsSsmPatch object + """ + compliance_summary: Optional[AwsSsmComplianceSummary] +class AwsSsmPatchComplianceDetails(ASFFBaseModel): + """ +Provides information about the state of a patch on an instance based on the patch baseline that was used to patch the instance. -class PatchSummary(ASFFBaseModel): - """ - Provides an overview of the patch compliance status for an instance against a selected compliance standard. - - :param id: The identifier of the compliance standard that was used to determine the patch compliance status. - :param installed_count: The number of patches from the compliance standard that were installed successfully. - :param missing_count: The number of patches that are part of the compliance standard but are not installed. The count includes patches that failed to install. - :param failed_count: The number of patches from the compliance standard that failed to install. - :param installed_other_count: The number of installed patches that are not part of the compliance standard. - :param installed_rejected_count: The number of patches that are installed but are also on a list of patches that the customer rejected. - :param installed_pending_reboot: The number of patches that were applied, but that require the instance to be rebooted in order to be marked as installed. - :param operation_start_time: Indicates when the operation started. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param operation_end_time: Indicates when the operation completed. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param reboot_option: The reboot option specified for the instance. - :param operation: The type of patch operation performed. For Patch Manager, the values are SCAN and INSTALL. - - :return: PatchSummary object - """ +:param patch: Information about the status of a patch. - id: NonEmptyString - installed_count: Optional[Integer] - missing_count: Optional[Integer] - failed_count: Optional[Integer] - installed_other_count: Optional[Integer] - installed_rejected_count: Optional[Integer] - installed_pending_reboot: Optional[Integer] - operation_start_time: Optional[Iso8601Timestamp] - operation_end_time: Optional[Iso8601Timestamp] - reboot_option: Optional[NonEmptyString] - operation: Optional[NonEmptyString] +:return: AwsSsmPatchComplianceDetails object + """ + patch: Optional[AwsSsmPatch] +class AwsCertificateManagerCertificateExtendedKeyUsage(ASFFBaseModel): + """ +Contains information about an extended key usage X.509 v3 extension object. +:param name: The name of an extension value. Indicates the purpose for which the certificate public key can be used. +:param o_id: An object identifier (OID) for the extension value. The format is numbers separated by periods. -class IpOrganizationDetails(ASFFBaseModel): - """ - Provides information about an internet provider. +:return: AwsCertificateManagerCertificateExtendedKeyUsage object + """ + name: Optional[NonEmptyString] + o_id: Optional[NonEmptyString] +AwsCertificateManagerCertificateExtendedKeyUsages = List[AwsCertificateManagerCertificateExtendedKeyUsage] +class AwsCertificateManagerCertificateKeyUsage(ASFFBaseModel): + """ +Contains information about a key usage X.509 v3 extension object. - :param asn: The Autonomous System Number (ASN) of the internet provider - :param asn_org: The name of the organization that registered the ASN. - :param isp: The ISP information for the internet provider. - :param org: The name of the internet provider. +:param name: The key usage extension name. - :return: IpOrganizationDetails object - """ +:return: AwsCertificateManagerCertificateKeyUsage object + """ + name: Optional[NonEmptyString] +AwsCertificateManagerCertificateKeyUsages = List[AwsCertificateManagerCertificateKeyUsage] +class AwsCertificateManagerCertificateOptions(ASFFBaseModel): + """ +Contains other options for the certificate. - asn: Optional[Integer] - asn_org: Optional[NonEmptyString] - isp: Optional[NonEmptyString] - org: Optional[NonEmptyString] +:param certificate_transparency_logging_preference: Whether to add the certificate to a transparency log. Valid values: DISABLED | ENABLED +:return: AwsCertificateManagerCertificateOptions object + """ + certificate_transparency_logging_preference: Optional[NonEmptyString] +class AwsCertificateManagerCertificateResourceRecord(ASFFBaseModel): + """ +Provides details about the CNAME record that is added to the DNS database for domain validation. + +:param name: The name of the resource. +:param type: The type of resource. +:param value: The value of the resource. + +:return: AwsCertificateManagerCertificateResourceRecord object + """ + name: Optional[NonEmptyString] + type: Optional[NonEmptyString] + value: Optional[NonEmptyString] +class AwsCertificateManagerCertificateDomainValidationOption(ASFFBaseModel): + """ +Contains information about one of the following: The initial validation of each domain name that occurs as a result of the RequestCertificate request The validation of each domain name in the certificate, as it pertains to Certificate Manager managed renewal + +:param domain_name: A fully qualified domain name (FQDN) in the certificate. +:param resource_record: The CNAME record that is added to the DNS database for domain validation. +:param validation_domain: The domain name that Certificate Manager uses to send domain validation emails. +:param validation_emails: A list of email addresses that Certificate Manager uses to send domain validation emails. +:param validation_method: The method used to validate the domain name. +:param validation_status: The validation status of the domain name. + +:return: AwsCertificateManagerCertificateDomainValidationOption object + """ + domain_name: Optional[NonEmptyString] + resource_record: Optional[AwsCertificateManagerCertificateResourceRecord] + validation_domain: Optional[NonEmptyString] + validation_emails: Optional[StringList] + validation_method: Optional[NonEmptyString] + validation_status: Optional[NonEmptyString] +AwsCertificateManagerCertificateDomainValidationOptions = List[AwsCertificateManagerCertificateDomainValidationOption] +class AwsCertificateManagerCertificateRenewalSummary(ASFFBaseModel): + """ +Contains information about the Certificate Manager managed renewal for an AMAZON_ISSUED certificate. + +:param domain_validation_options: Information about the validation of each domain name in the certificate, as it pertains to Certificate Manager managed renewal. Provided only when the certificate type is AMAZON_ISSUED. +:param renewal_status: The status of the Certificate Manager managed renewal of the certificate. Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED +:param renewal_status_reason: The reason that a renewal request was unsuccessful. Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER +:param updated_at: Indicates when the renewal summary was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsCertificateManagerCertificateRenewalSummary object + """ + domain_validation_options: Optional[AwsCertificateManagerCertificateDomainValidationOptions] + renewal_status: Optional[NonEmptyString] + renewal_status_reason: Optional[NonEmptyString] + updated_at: Optional[Iso8601Timestamp] +class AwsCertificateManagerCertificateDetails(ASFFBaseModel): + """ +Provides details about an Certificate Manager certificate. + +:param certificate_authority_arn: The ARN of the private certificate authority (CA) that will be used to issue the certificate. +:param created_at: Indicates when the certificate was requested. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param domain_name: The fully qualified domain name (FQDN), such as www.example.com, that is secured by the certificate. +:param domain_validation_options: Contains information about the initial validation of each domain name that occurs as a result of the RequestCertificate request. Only provided if the certificate type is AMAZON_ISSUED. +:param extended_key_usages: Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID). +:param failure_reason: For a failed certificate request, the reason for the failure. Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED | DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER +:param imported_at: Indicates when the certificate was imported. Provided if the certificate type is IMPORTED. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param in_use_by: The list of ARNs for the Amazon Web Services resources that use the certificate. +:param issued_at: Indicates when the certificate was issued. Provided if the certificate type is AMAZON_ISSUED. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param issuer: The name of the certificate authority that issued and signed the certificate. +:param key_algorithm: The algorithm that was used to generate the public-private key pair. Valid values: RSA_2048 | RSA_1024 | RSA_4096 | EC_prime256v1 | EC_secp384r1 | EC_secp521r1 +:param key_usages: A list of key usage X.509 v3 extension objects. +:param not_after: The time after which the certificate becomes invalid. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param not_before: The time before which the certificate is not valid. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param options: Provides a value that specifies whether to add the certificate to a transparency log. +:param renewal_eligibility: Whether the certificate is eligible for renewal. Valid values: ELIGIBLE | INELIGIBLE +:param renewal_summary: Information about the status of the Certificate Manager managed renewal for the certificate. Provided only when the certificate type is AMAZON_ISSUED. +:param serial: The serial number of the certificate. +:param signature_algorithm: The algorithm that was used to sign the certificate. +:param status: The status of the certificate. Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT | REVOKED | FAILED +:param subject: The name of the entity that is associated with the public key contained in the certificate. +:param subject_alternative_names: One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website. +:param type: The source of the certificate. For certificates that Certificate Manager provides, Type is AMAZON_ISSUED. For certificates that are imported with ImportCertificate, Type is IMPORTED. Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE + +:return: AwsCertificateManagerCertificateDetails object + """ + certificate_authority_arn: Optional[NonEmptyString] + created_at: Optional[Iso8601Timestamp] + domain_name: Optional[NonEmptyString] + domain_validation_options: Optional[AwsCertificateManagerCertificateDomainValidationOptions] + extended_key_usages: Optional[AwsCertificateManagerCertificateExtendedKeyUsages] + failure_reason: Optional[NonEmptyString] + imported_at: Optional[NonEmptyString] + in_use_by: Optional[StringList] + issued_at: Optional[NonEmptyString] + issuer: Optional[NonEmptyString] + key_algorithm: Optional[NonEmptyString] + key_usages: Optional[AwsCertificateManagerCertificateKeyUsages] + not_after: Optional[NonEmptyString] + not_before: Optional[NonEmptyString] + options: Optional[AwsCertificateManagerCertificateOptions] + renewal_eligibility: Optional[NonEmptyString] + renewal_summary: Optional[AwsCertificateManagerCertificateRenewalSummary] + serial: Optional[NonEmptyString] + signature_algorithm: Optional[NonEmptyString] + status: Optional[NonEmptyString] + subject: Optional[NonEmptyString] + subject_alternative_names: Optional[StringList] + type: Optional[NonEmptyString] +class AwsRedshiftClusterClusterNode(ASFFBaseModel): + """ +A node in an Amazon Redshift cluster. + +:param node_role: The role of the node. A node might be a leader node or a compute node. +:param private_ip_address: The private IP address of the node. +:param public_ip_address: The public IP address of the node. + +:return: AwsRedshiftClusterClusterNode object + """ + node_role: Optional[NonEmptyString] + private_ip_address: Optional[NonEmptyString] + public_ip_address: Optional[NonEmptyString] +AwsRedshiftClusterClusterNodes = List[AwsRedshiftClusterClusterNode] +class AwsRedshiftClusterClusterParameterStatus(ASFFBaseModel): + """ +The status of a parameter in a cluster parameter group for an Amazon Redshift cluster. + +:param parameter_name: The name of the parameter. +:param parameter_apply_status: The status of the parameter. Indicates whether the parameter is in sync with the database, waiting for a cluster reboot, or encountered an error when it was applied. Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred | apply-error | unknown-error +:param parameter_apply_error_description: The error that prevented the parameter from being applied to the database. + +:return: AwsRedshiftClusterClusterParameterStatus object + """ + parameter_name: Optional[NonEmptyString] + parameter_apply_status: Optional[NonEmptyString] + parameter_apply_error_description: Optional[NonEmptyString] +AwsRedshiftClusterClusterParameterStatusList = List[AwsRedshiftClusterClusterParameterStatus] +class AwsRedshiftClusterClusterParameterGroup(ASFFBaseModel): + """ +A cluster parameter group that is associated with an Amazon Redshift cluster. + +:param cluster_parameter_status_list: The list of parameter statuses. +:param parameter_apply_status: The status of updates to the parameters. +:param parameter_group_name: The name of the parameter group. + +:return: AwsRedshiftClusterClusterParameterGroup object + """ + cluster_parameter_status_list: Optional[AwsRedshiftClusterClusterParameterStatusList] + parameter_apply_status: Optional[NonEmptyString] + parameter_group_name: Optional[NonEmptyString] +AwsRedshiftClusterClusterParameterGroups = List[AwsRedshiftClusterClusterParameterGroup] +class AwsRedshiftClusterClusterSecurityGroup(ASFFBaseModel): + """ +A security group that is associated with the cluster. -class Country(ASFFBaseModel): - """ - Information about a country. +:param cluster_security_group_name: The name of the cluster security group. +:param status: The status of the cluster security group. - :param country_code: The 2-letter ISO 3166 country code for the country. - :param country_name: The name of the country. +:return: AwsRedshiftClusterClusterSecurityGroup object + """ + cluster_security_group_name: Optional[NonEmptyString] + status: Optional[NonEmptyString] +AwsRedshiftClusterClusterSecurityGroups = List[AwsRedshiftClusterClusterSecurityGroup] +class AwsRedshiftClusterClusterSnapshotCopyStatus(ASFFBaseModel): + """ +Information about a cross-Region snapshot copy. + +:param destination_region: The destination Region that snapshots are automatically copied to when cross-Region snapshot copy is enabled. +:param manual_snapshot_retention_period: The number of days that manual snapshots are retained in the destination region after they are copied from a source region. If the value is -1, then the manual snapshot is retained indefinitely. Valid values: Either -1 or an integer between 1 and 3,653 +:param retention_period: The number of days to retain automated snapshots in the destination Region after they are copied from a source Region. +:param snapshot_copy_grant_name: The name of the snapshot copy grant. + +:return: AwsRedshiftClusterClusterSnapshotCopyStatus object + """ + destination_region: Optional[NonEmptyString] + manual_snapshot_retention_period: Optional[Integer] + retention_period: Optional[Integer] + snapshot_copy_grant_name: Optional[NonEmptyString] +class AwsRedshiftClusterDeferredMaintenanceWindow(ASFFBaseModel): + """ +A time windows during which maintenance was deferred for an Amazon Redshift cluster. + +:param defer_maintenance_end_time: The end of the time window for which maintenance was deferred. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param defer_maintenance_identifier: The identifier of the maintenance window. +:param defer_maintenance_start_time: The start of the time window for which maintenance was deferred. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsRedshiftClusterDeferredMaintenanceWindow object + """ + defer_maintenance_end_time: Optional[NonEmptyString] + defer_maintenance_identifier: Optional[NonEmptyString] + defer_maintenance_start_time: Optional[NonEmptyString] +AwsRedshiftClusterDeferredMaintenanceWindows = List[AwsRedshiftClusterDeferredMaintenanceWindow] +class AwsRedshiftClusterElasticIpStatus(ASFFBaseModel): + """ +The status of the elastic IP (EIP) address for an Amazon Redshift cluster. - :return: Country object - """ +:param elastic_ip: The elastic IP address for the cluster. +:param status: The status of the elastic IP address. - country_code: Optional[NonEmptyString] - country_name: Optional[NonEmptyString] +:return: AwsRedshiftClusterElasticIpStatus object + """ + elastic_ip: Optional[NonEmptyString] + status: Optional[NonEmptyString] +class AwsRedshiftClusterEndpoint(ASFFBaseModel): + """ +The connection endpoint for an Amazon Redshift cluster. +:param address: The DNS address of the cluster. +:param port: The port that the database engine listens on. -class City(ASFFBaseModel): - """ - Information about a city. +:return: AwsRedshiftClusterEndpoint object + """ + address: Optional[NonEmptyString] + port: Optional[Integer] +class AwsRedshiftClusterHsmStatus(ASFFBaseModel): + """ +Information about whether an Amazon Redshift cluster finished applying any hardware changes to security module (HSM) settings that were specified in a modify cluster command. + +:param hsm_client_certificate_identifier: The name of the HSM client certificate that the Amazon Redshift cluster uses to retrieve the data encryption keys that are stored in an HSM. +:param hsm_configuration_identifier: The name of the HSM configuration that contains the information that the Amazon Redshift cluster can use to retrieve and store keys in an HSM. +:param status: Indicates whether the Amazon Redshift cluster has finished applying any HSM settings changes specified in a modify cluster command. Type: String Valid values: active | applying + +:return: AwsRedshiftClusterHsmStatus object + """ + hsm_client_certificate_identifier: Optional[NonEmptyString] + hsm_configuration_identifier: Optional[NonEmptyString] + status: Optional[NonEmptyString] +class AwsRedshiftClusterIamRole(ASFFBaseModel): + """ +An IAM role that the cluster can use to access other Amazon Web Services services. - :param city_name: The name of the city. +:param apply_status: The status of the IAM role's association with the cluster. Valid values: in-sync | adding | removing +:param iam_role_arn: The ARN of the IAM role. - :return: City object - """ +:return: AwsRedshiftClusterIamRole object + """ + apply_status: Optional[NonEmptyString] + iam_role_arn: Optional[NonEmptyString] +AwsRedshiftClusterIamRoles = List[AwsRedshiftClusterIamRole] +class AwsRedshiftClusterPendingModifiedValues(ASFFBaseModel): + """ +Changes to the Amazon Redshift cluster that are currently pending. + +:param automated_snapshot_retention_period: The pending or in-progress change to the automated snapshot retention period. +:param cluster_identifier: The pending or in-progress change to the identifier for the cluster. +:param cluster_type: The pending or in-progress change to the cluster type. +:param cluster_version: The pending or in-progress change to the service version. +:param encryption_type: The encryption type for a cluster. +:param enhanced_vpc_routing: Indicates whether to create the cluster with enhanced VPC routing enabled. +:param maintenance_track_name: The name of the maintenance track that the cluster changes to during the next maintenance window. +:param master_user_password: The pending or in-progress change to the master user password for the cluster. +:param node_type: The pending or in-progress change to the cluster's node type. +:param number_of_nodes: The pending or in-progress change to the number of nodes in the cluster. +:param publicly_accessible: The pending or in-progress change to whether the cluster can be connected to from the public network. + +:return: AwsRedshiftClusterPendingModifiedValues object + """ + automated_snapshot_retention_period: Optional[Integer] + cluster_identifier: Optional[NonEmptyString] + cluster_type: Optional[NonEmptyString] + cluster_version: Optional[NonEmptyString] + encryption_type: Optional[NonEmptyString] + enhanced_vpc_routing: Optional[Boolean] + maintenance_track_name: Optional[NonEmptyString] + master_user_password: Optional[NonEmptyString] + node_type: Optional[NonEmptyString] + number_of_nodes: Optional[Integer] + publicly_accessible: Optional[Boolean] +class AwsRedshiftClusterResizeInfo(ASFFBaseModel): + """ +Information about the resize operation for the cluster. - city_name: Optional[NonEmptyString] +:param allow_cancel_resize: Indicates whether the resize operation can be canceled. +:param resize_type: The type of resize operation. Valid values: ClassicResize +:return: AwsRedshiftClusterResizeInfo object + """ + allow_cancel_resize: Optional[Boolean] + resize_type: Optional[NonEmptyString] +class AwsRedshiftClusterRestoreStatus(ASFFBaseModel): + """ +Information about the status of a cluster restore action. It only applies if the cluster was created by restoring a snapshot. + +:param current_restore_rate_in_mega_bytes_per_second: The number of megabytes per second being transferred from the backup storage. Returns the average rate for a completed backup. This field is only updated when you restore to DC2 and DS2 node types. +:param elapsed_time_in_seconds: The amount of time an in-progress restore has been running, or the amount of time it took a completed restore to finish. This field is only updated when you restore to DC2 and DS2 node types. +:param estimated_time_to_completion_in_seconds: The estimate of the time remaining before the restore is complete. Returns 0 for a completed restore. This field is only updated when you restore to DC2 and DS2 node types. +:param progress_in_mega_bytes: The number of megabytes that were transferred from snapshot storage. This field is only updated when you restore to DC2 and DS2 node types. +:param snapshot_size_in_mega_bytes: The size of the set of snapshot data that was used to restore the cluster. This field is only updated when you restore to DC2 and DS2 node types. +:param status: The status of the restore action. Valid values: starting | restoring | completed | failed + +:return: AwsRedshiftClusterRestoreStatus object + """ + current_restore_rate_in_mega_bytes_per_second: Optional[Double] + elapsed_time_in_seconds: Optional[Long] + estimated_time_to_completion_in_seconds: Optional[Long] + progress_in_mega_bytes: Optional[Long] + snapshot_size_in_mega_bytes: Optional[Long] + status: Optional[NonEmptyString] +class AwsRedshiftClusterVpcSecurityGroup(ASFFBaseModel): + """ +A VPC security group that the cluster belongs to, if the cluster is in a VPC. -class GeoLocation(ASFFBaseModel): - """ - Provides the latitude and longitude coordinates of a location. +:param status: The status of the VPC security group. +:param vpc_security_group_id: The identifier of the VPC security group. - :param lon: The longitude of the location. - :param lat: The latitude of the location. +:return: AwsRedshiftClusterVpcSecurityGroup object + """ + status: Optional[NonEmptyString] + vpc_security_group_id: Optional[NonEmptyString] +AwsRedshiftClusterVpcSecurityGroups = List[AwsRedshiftClusterVpcSecurityGroup] +class AwsRedshiftClusterDetails(ASFFBaseModel): + """ +Details about an Amazon Redshift cluster. + +:param allow_version_upgrade: Indicates whether major version upgrades are applied automatically to the cluster during the maintenance window. +:param automated_snapshot_retention_period: The number of days that automatic cluster snapshots are retained. +:param availability_zone: The name of the Availability Zone in which the cluster is located. +:param cluster_availability_status: The availability status of the cluster for queries. Possible values are the following: Available - The cluster is available for queries. Unavailable - The cluster is not available for queries. Maintenance - The cluster is intermittently available for queries due to maintenance activities. Modifying -The cluster is intermittently available for queries due to changes that modify the cluster. Failed - The cluster failed and is not available for queries. +:param cluster_create_time: Indicates when the cluster was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param cluster_identifier: The unique identifier of the cluster. +:param cluster_nodes: The nodes in the cluster. +:param cluster_parameter_groups: The list of cluster parameter groups that are associated with this cluster. +:param cluster_public_key: The public key for the cluster. +:param cluster_revision_number: The specific revision number of the database in the cluster. +:param cluster_security_groups: A list of cluster security groups that are associated with the cluster. +:param cluster_snapshot_copy_status: Information about the destination Region and retention period for the cross-Region snapshot copy. +:param cluster_status: The current status of the cluster. Valid values: available | available, prep-for-resize | available, resize-cleanup | cancelling-resize | creating | deleting | final-snapshot | hardware-failure | incompatible-hsm | incompatible-network | incompatible-parameters | incompatible-restore | modifying | paused | rebooting | renaming | resizing | rotating-keys | storage-full | updating-hsm +:param cluster_subnet_group_name: The name of the subnet group that is associated with the cluster. This parameter is valid only when the cluster is in a VPC. +:param cluster_version: The version ID of the Amazon Redshift engine that runs on the cluster. +:param db_name: The name of the initial database that was created when the cluster was created. The same name is returned for the life of the cluster. If an initial database is not specified, a database named devdev is created by default. +:param deferred_maintenance_windows: List of time windows during which maintenance was deferred. +:param elastic_ip_status: Information about the status of the Elastic IP (EIP) address. +:param elastic_resize_number_of_node_options: The number of nodes that you can use the elastic resize method to resize the cluster to. +:param encrypted: Indicates whether the data in the cluster is encrypted at rest. +:param endpoint: The connection endpoint. +:param enhanced_vpc_routing: Indicates whether to create the cluster with enhanced VPC routing enabled. +:param expected_next_snapshot_schedule_time: Indicates when the next snapshot is expected to be taken. The cluster must have a valid snapshot schedule and have backups enabled. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param expected_next_snapshot_schedule_time_status: The status of the next expected snapshot. Valid values: OnTrack | Pending +:param hsm_status: Information about whether the Amazon Redshift cluster finished applying any changes to hardware security module (HSM) settings that were specified in a modify cluster command. +:param iam_roles: A list of IAM roles that the cluster can use to access other Amazon Web Services services. +:param kms_key_id: The identifier of the KMS encryption key that is used to encrypt data in the cluster. +:param maintenance_track_name: The name of the maintenance track for the cluster. +:param manual_snapshot_retention_period: The default number of days to retain a manual snapshot. If the value is -1, the snapshot is retained indefinitely. This setting doesn't change the retention period of existing snapshots. Valid values: Either -1 or an integer between 1 and 3,653 +:param master_username: The master user name for the cluster. This name is used to connect to the database that is specified in as the value of DBName. +:param next_maintenance_window_start_time: Indicates the start of the next maintenance window. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param node_type: The node type for the nodes in the cluster. +:param number_of_nodes: The number of compute nodes in the cluster. +:param pending_actions: A list of cluster operations that are waiting to start. +:param pending_modified_values: A list of changes to the cluster that are currently pending. +:param preferred_maintenance_window: The weekly time range, in Universal Coordinated Time (UTC), during which system maintenance can occur. Format: <day>:HH:MM-<day>:HH:MM For the day values, use mon | tue | wed | thu | fri | sat | sun For example, sun:09:32-sun:10:02 +:param publicly_accessible: Whether the cluster can be accessed from a public network. +:param resize_info: Information about the resize operation for the cluster. +:param restore_status: Information about the status of a cluster restore action. Only applies to a cluster that was created by restoring a snapshot. +:param snapshot_schedule_identifier: A unique identifier for the cluster snapshot schedule. +:param snapshot_schedule_state: The current state of the cluster snapshot schedule. Valid values: MODIFYING | ACTIVE | FAILED +:param vpc_id: The identifier of the VPC that the cluster is in, if the cluster is in a VPC. +:param vpc_security_groups: The list of VPC security groups that the cluster belongs to, if the cluster is in a VPC. + +:return: AwsRedshiftClusterDetails object + """ + allow_version_upgrade: Optional[Boolean] + automated_snapshot_retention_period: Optional[Integer] + availability_zone: Optional[NonEmptyString] + cluster_availability_status: Optional[NonEmptyString] + cluster_create_time: Optional[Iso8601Timestamp] + cluster_identifier: Optional[NonEmptyString] + cluster_nodes: Optional[AwsRedshiftClusterClusterNodes] + cluster_parameter_groups: Optional[AwsRedshiftClusterClusterParameterGroups] + cluster_public_key: Optional[NonEmptyString] + cluster_revision_number: Optional[NonEmptyString] + cluster_security_groups: Optional[AwsRedshiftClusterClusterSecurityGroups] + cluster_snapshot_copy_status: Optional[AwsRedshiftClusterClusterSnapshotCopyStatus] + cluster_status: Optional[NonEmptyString] + cluster_subnet_group_name: Optional[NonEmptyString] + cluster_version: Optional[NonEmptyString] + db_name: Optional[NonEmptyString] + deferred_maintenance_windows: Optional[AwsRedshiftClusterDeferredMaintenanceWindows] + elastic_ip_status: Optional[AwsRedshiftClusterElasticIpStatus] + elastic_resize_number_of_node_options: Optional[NonEmptyString] + encrypted: Optional[Boolean] + endpoint: Optional[AwsRedshiftClusterEndpoint] + enhanced_vpc_routing: Optional[Boolean] + expected_next_snapshot_schedule_time: Optional[NonEmptyString] + expected_next_snapshot_schedule_time_status: Optional[NonEmptyString] + hsm_status: Optional[AwsRedshiftClusterHsmStatus] + iam_roles: Optional[AwsRedshiftClusterIamRoles] + kms_key_id: Optional[NonEmptyString] + maintenance_track_name: Optional[NonEmptyString] + manual_snapshot_retention_period: Optional[Integer] + master_username: Optional[NonEmptyString] + next_maintenance_window_start_time: Optional[NonEmptyString] + node_type: Optional[NonEmptyString] + number_of_nodes: Optional[Integer] + pending_actions: Optional[StringList] + pending_modified_values: Optional[AwsRedshiftClusterPendingModifiedValues] + preferred_maintenance_window: Optional[NonEmptyString] + publicly_accessible: Optional[Boolean] + resize_info: Optional[AwsRedshiftClusterResizeInfo] + restore_status: Optional[AwsRedshiftClusterRestoreStatus] + snapshot_schedule_identifier: Optional[NonEmptyString] + snapshot_schedule_state: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + vpc_security_groups: Optional[AwsRedshiftClusterVpcSecurityGroups] +class AwsElbLoadBalancerBackendServerDescription(ASFFBaseModel): + """ +Provides information about the configuration of an EC2 instance for the load balancer. - :return: GeoLocation object - """ +:param instance_port: The port on which the EC2 instance is listening. +:param policy_names: The names of the policies that are enabled for the EC2 instance. - lon: Optional[Double] - lat: Optional[Double] +:return: AwsElbLoadBalancerBackendServerDescription object + """ + instance_port: Optional[Integer] + policy_names: Optional[StringList] +AwsElbLoadBalancerBackendServerDescriptions = List[AwsElbLoadBalancerBackendServerDescription] +class AwsElbLoadBalancerHealthCheck(ASFFBaseModel): + """ +Contains information about the health checks that are conducted on the load balancer. + +:param healthy_threshold: The number of consecutive health check successes required before the instance is moved to the Healthy state. +:param interval: The approximate interval, in seconds, between health checks of an individual instance. +:param target: The instance that is being checked. The target specifies the protocol and port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of valid ports is 1 through 65535. For the HTTP and HTTPS protocols, the target also specifies the ping path. For the TCP protocol, the target is specified as TCP: <port> . For the SSL protocol, the target is specified as SSL.<port> . For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path to ping> . +:param timeout: The amount of time, in seconds, during which no response means a failed health check. +:param unhealthy_threshold: The number of consecutive health check failures that must occur before the instance is moved to the Unhealthy state. + +:return: AwsElbLoadBalancerHealthCheck object + """ + healthy_threshold: Optional[Integer] + interval: Optional[Integer] + target: Optional[NonEmptyString] + timeout: Optional[Integer] + unhealthy_threshold: Optional[Integer] +class AwsElbLoadBalancerInstance(ASFFBaseModel): + """ +Provides information about an EC2 instance for a load balancer. +:param instance_id: The instance identifier. -class ActionRemoteIpDetails(ASFFBaseModel): - """ - For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails provides information about the remote IP address that was involved in the action. +:return: AwsElbLoadBalancerInstance object + """ + instance_id: Optional[NonEmptyString] +AwsElbLoadBalancerInstances = List[AwsElbLoadBalancerInstance] +class AwsElbLoadBalancerListener(ASFFBaseModel): + """ +Information about a load balancer listener. + +:param instance_port: The port on which the instance is listening. +:param instance_protocol: The protocol to use to route traffic to instances. Valid values: HTTP | HTTPS | TCP | SSL +:param load_balancer_port: The port on which the load balancer is listening. On EC2-VPC, you can specify any port from the range 1-65535. On EC2-Classic, you can specify any port from the following list: 25, 80, 443, 465, 587, 1024-65535. +:param protocol: The load balancer transport protocol to use for routing. Valid values: HTTP | HTTPS | TCP | SSL +:param ssl_certificate_id: The ARN of the server certificate. + +:return: AwsElbLoadBalancerListener object + """ + instance_port: Optional[Integer] + instance_protocol: Optional[NonEmptyString] + load_balancer_port: Optional[Integer] + protocol: Optional[NonEmptyString] + ssl_certificate_id: Optional[NonEmptyString] +class AwsElbLoadBalancerListenerDescription(ASFFBaseModel): + """ +Lists the policies that are enabled for a load balancer listener. - :param ip_address_v4: The IP address. - :param organization: The internet service provider (ISP) organization associated with the remote IP address. - :param country: The country where the remote IP address is located. - :param city: The city where the remote IP address is located. - :param geo_location: The coordinates of the location of the remote IP address. +:param listener: Information about the listener. +:param policy_names: The policies enabled for the listener. - :return: ActionRemoteIpDetails object - """ +:return: AwsElbLoadBalancerListenerDescription object + """ + listener: Optional[AwsElbLoadBalancerListener] + policy_names: Optional[StringList] +AwsElbLoadBalancerListenerDescriptions = List[AwsElbLoadBalancerListenerDescription] +class AwsElbLoadBalancerAccessLog(ASFFBaseModel): + """ +Contains information about the access log configuration for the load balancer. + +:param emit_interval: The interval in minutes for publishing the access logs. You can publish access logs either every 5 minutes or every 60 minutes. +:param enabled: Indicates whether access logs are enabled for the load balancer. +:param s3_bucket_name: The name of the S3 bucket where the access logs are stored. +:param s3_bucket_prefix: The logical hierarchy that was created for the S3 bucket. If a prefix is not provided, the log is placed at the root level of the bucket. + +:return: AwsElbLoadBalancerAccessLog object + """ + emit_interval: Optional[Integer] + enabled: Optional[Boolean] + s3_bucket_name: Optional[NonEmptyString] + s3_bucket_prefix: Optional[NonEmptyString] +class AwsElbLoadBalancerConnectionDraining(ASFFBaseModel): + """ +Contains information about the connection draining configuration for the load balancer. - ip_address_v4: Optional[NonEmptyString] - organization: Optional[IpOrganizationDetails] - country: Optional[Country] - city: Optional[City] - geo_location: Optional[GeoLocation] +:param enabled: Indicates whether connection draining is enabled for the load balancer. +:param timeout: The maximum time, in seconds, to keep the existing connections open before deregistering the instances. +:return: AwsElbLoadBalancerConnectionDraining object + """ + enabled: Optional[Boolean] + timeout: Optional[Integer] +class AwsElbLoadBalancerConnectionSettings(ASFFBaseModel): + """ +Contains connection settings for the load balancer. -class ActionRemotePortDetails(ASFFBaseModel): - """ - Provides information about the remote port that was involved in an attempted network connection. +:param idle_timeout: The time, in seconds, that the connection can be idle (no data is sent over the connection) before it is closed by the load balancer. - :param port: The number of the port. - :param port_name: The port name of the remote connection. +:return: AwsElbLoadBalancerConnectionSettings object + """ + idle_timeout: Optional[Integer] +class AwsElbLoadBalancerCrossZoneLoadBalancing(ASFFBaseModel): + """ +Contains cross-zone load balancing settings for the load balancer. - :return: ActionRemotePortDetails object - """ +:param enabled: Indicates whether cross-zone load balancing is enabled for the load balancer. - port: Optional[Integer] - port_name: Optional[NonEmptyString] +:return: AwsElbLoadBalancerCrossZoneLoadBalancing object + """ + enabled: Optional[Boolean] +class AwsElbLoadBalancerAttributes(ASFFBaseModel): + """ +Contains attributes for the load balancer. + +:param access_log: Information about the access log configuration for the load balancer. If the access log is enabled, the load balancer captures detailed information about all requests. It delivers the information to a specified S3 bucket. +:param connection_draining: Information about the connection draining configuration for the load balancer. If connection draining is enabled, the load balancer allows existing requests to complete before it shifts traffic away from a deregistered or unhealthy instance. +:param connection_settings: Connection settings for the load balancer. If an idle timeout is configured, the load balancer allows connections to remain idle for the specified duration. When a connection is idle, no data is sent over the connection. +:param cross_zone_load_balancing: Cross-zone load balancing settings for the load balancer. If cross-zone load balancing is enabled, the load balancer routes the request traffic evenly across all instances regardless of the Availability Zones. + +:return: AwsElbLoadBalancerAttributes object + """ + access_log: Optional[AwsElbLoadBalancerAccessLog] + connection_draining: Optional[AwsElbLoadBalancerConnectionDraining] + connection_settings: Optional[AwsElbLoadBalancerConnectionSettings] + cross_zone_load_balancing: Optional[AwsElbLoadBalancerCrossZoneLoadBalancing] +class AwsElbAppCookieStickinessPolicy(ASFFBaseModel): + """ +Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy. +:param cookie_name: The name of the application cookie used for stickiness. +:param policy_name: The mnemonic name for the policy being created. The name must be unique within the set of policies for the load balancer. -class ActionLocalPortDetails(ASFFBaseModel): - """ - For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides information about the local port that was involved in the action. +:return: AwsElbAppCookieStickinessPolicy object + """ + cookie_name: Optional[NonEmptyString] + policy_name: Optional[NonEmptyString] +AwsElbAppCookieStickinessPolicies = List[AwsElbAppCookieStickinessPolicy] +class AwsElbLbCookieStickinessPolicy(ASFFBaseModel): + """ +Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy. - :param port: The number of the port. - :param port_name: The port name of the local connection. +:param cookie_expiration_period: The amount of time, in seconds, after which the cookie is considered stale. If an expiration period is not specified, the stickiness session lasts for the duration of the browser session. +:param policy_name: The name of the policy. The name must be unique within the set of policies for the load balancer. - :return: ActionLocalPortDetails object - """ +:return: AwsElbLbCookieStickinessPolicy object + """ + cookie_expiration_period: Optional[Long] + policy_name: Optional[NonEmptyString] +AwsElbLbCookieStickinessPolicies = List[AwsElbLbCookieStickinessPolicy] +class AwsElbLoadBalancerPolicies(ASFFBaseModel): + """ +Contains information about the policies for a load balancer. + +:param app_cookie_stickiness_policies: The stickiness policies that are created using CreateAppCookieStickinessPolicy. +:param lb_cookie_stickiness_policies: The stickiness policies that are created using CreateLBCookieStickinessPolicy. +:param other_policies: The policies other than the stickiness policies. + +:return: AwsElbLoadBalancerPolicies object + """ + app_cookie_stickiness_policies: Optional[AwsElbAppCookieStickinessPolicies] + lb_cookie_stickiness_policies: Optional[AwsElbLbCookieStickinessPolicies] + other_policies: Optional[StringList] +class AwsElbLoadBalancerSourceSecurityGroup(ASFFBaseModel): + """ +Contains information about the security group for the load balancer. - port: Optional[Integer] - port_name: Optional[NonEmptyString] +:param group_name: The name of the security group. +:param owner_alias: The owner of the security group. +:return: AwsElbLoadBalancerSourceSecurityGroup object + """ + group_name: Optional[NonEmptyString] + owner_alias: Optional[NonEmptyString] +class AwsElbLoadBalancerDetails(ASFFBaseModel): + """ +Contains details about a Classic Load Balancer. + +:param availability_zones: The list of Availability Zones for the load balancer. +:param backend_server_descriptions: Information about the configuration of the EC2 instances. +:param canonical_hosted_zone_name: The name of the Amazon Route 53 hosted zone for the load balancer. +:param canonical_hosted_zone_name_id: The ID of the Amazon Route 53 hosted zone for the load balancer. +:param created_time: Indicates when the load balancer was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param dns_name: The DNS name of the load balancer. +:param health_check: Information about the health checks that are conducted on the load balancer. +:param instances: List of EC2 instances for the load balancer. +:param listener_descriptions: The policies that are enabled for the load balancer listeners. +:param load_balancer_attributes: The attributes for a load balancer. +:param load_balancer_name: The name of the load balancer. +:param policies: The policies for a load balancer. +:param scheme: The type of load balancer. Only provided if the load balancer is in a VPC. If Scheme is internet-facing, the load balancer has a public DNS name that resolves to a public IP address. If Scheme is internal, the load balancer has a public DNS name that resolves to a private IP address. +:param security_groups: The security groups for the load balancer. Only provided if the load balancer is in a VPC. +:param source_security_group: Information about the security group for the load balancer. This is the security group that is used for inbound rules. +:param subnets: The list of subnet identifiers for the load balancer. +:param vpc_id: The identifier of the VPC for the load balancer. + +:return: AwsElbLoadBalancerDetails object + """ + availability_zones: Optional[StringList] + backend_server_descriptions: Optional[AwsElbLoadBalancerBackendServerDescriptions] + canonical_hosted_zone_name: Optional[NonEmptyString] + canonical_hosted_zone_name_id: Optional[NonEmptyString] + created_time: Optional[Iso8601Timestamp] + dns_name: Optional[NonEmptyString] + health_check: Optional[AwsElbLoadBalancerHealthCheck] + instances: Optional[AwsElbLoadBalancerInstances] + listener_descriptions: Optional[AwsElbLoadBalancerListenerDescriptions] + load_balancer_attributes: Optional[AwsElbLoadBalancerAttributes] + load_balancer_name: Optional[NonEmptyString] + policies: Optional[AwsElbLoadBalancerPolicies] + scheme: Optional[NonEmptyString] + security_groups: Optional[StringList] + source_security_group: Optional[AwsElbLoadBalancerSourceSecurityGroup] + subnets: Optional[StringList] + vpc_id: Optional[NonEmptyString] +class AwsIamGroupPolicy(ASFFBaseModel): + """ +A managed policy that is attached to the IAM group. -class NetworkConnectionAction(ASFFBaseModel): - """ - Provided if ActionType is NETWORK_CONNECTION. It provides details about the attempted network connection that was detected. +:param policy_name: The name of the policy. - :param connection_direction: The direction of the network connection request (IN or OUT). - :param remote_ip_details: Information about the remote IP address that issued the network connection request. - :param remote_port_details: Information about the port on the remote IP address. - :param local_port_details: Information about the port on the EC2 instance. - :param protocol: The protocol used to make the network connection request. - :param blocked: Indicates whether the network connection attempt was blocked. +:return: AwsIamGroupPolicy object + """ + policy_name: Optional[NonEmptyString] +AwsIamGroupPolicyList = List[AwsIamGroupPolicy] +class AwsIamGroupDetails(ASFFBaseModel): + """ +Contains details about an IAM group. + +:param attached_managed_policies: A list of the managed policies that are attached to the IAM group. +:param create_date: Indicates when the IAM group was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param group_id: The identifier of the IAM group. +:param group_name: The name of the IAM group. +:param group_policy_list: The list of inline policies that are embedded in the group. +:param path: The path to the group. + +:return: AwsIamGroupDetails object + """ + attached_managed_policies: Optional[AwsIamAttachedManagedPolicyList] + create_date: Optional[Iso8601Timestamp] + group_id: Optional[NonEmptyString] + group_name: Optional[NonEmptyString] + group_policy_list: Optional[AwsIamGroupPolicyList] + path: Optional[NonEmptyString] +AwsIamRoleAssumeRolePolicyDocument = constr(regex="[\u0009\u000A\u000D\u0020-\u007E\u00A1-\u00FF]+", min_length=1, max_length=131072) +class AwsIamInstanceProfileRole(ASFFBaseModel): + """ +Information about a role associated with an instance profile. + +:param arn: The ARN of the role. +:param assume_role_policy_document: The policy that grants an entity permission to assume the role. +:param create_date: Indicates when the role was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param path: The path to the role. +:param role_id: The identifier of the role. +:param role_name: The name of the role. + +:return: AwsIamInstanceProfileRole object + """ + arn: Optional[NonEmptyString] + assume_role_policy_document: Optional[AwsIamRoleAssumeRolePolicyDocument] + create_date: Optional[Iso8601Timestamp] + path: Optional[NonEmptyString] + role_id: Optional[NonEmptyString] + role_name: Optional[NonEmptyString] +AwsIamInstanceProfileRoles = List[AwsIamInstanceProfileRole] +class AwsIamInstanceProfile(ASFFBaseModel): + """ +Information about an instance profile. + +:param arn: The ARN of the instance profile. +:param create_date: Indicates when the instance profile was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param instance_profile_id: The identifier of the instance profile. +:param instance_profile_name: The name of the instance profile. +:param path: The path to the instance profile. +:param roles: The roles associated with the instance profile. + +:return: AwsIamInstanceProfile object + """ + arn: Optional[NonEmptyString] + create_date: Optional[Iso8601Timestamp] + instance_profile_id: Optional[NonEmptyString] + instance_profile_name: Optional[NonEmptyString] + path: Optional[NonEmptyString] + roles: Optional[AwsIamInstanceProfileRoles] +AwsIamInstanceProfileList = List[AwsIamInstanceProfile] +class AwsIamRolePolicy(ASFFBaseModel): + """ +An inline policy that is embedded in the role. - :return: NetworkConnectionAction object - """ +:param policy_name: The name of the policy. - connection_direction: Optional[NonEmptyString] - remote_ip_details: Optional[ActionRemoteIpDetails] - remote_port_details: Optional[ActionRemotePortDetails] - local_port_details: Optional[ActionLocalPortDetails] - protocol: Optional[NonEmptyString] - blocked: Optional[Boolean] +:return: AwsIamRolePolicy object + """ + policy_name: Optional[NonEmptyString] +AwsIamRolePolicyList = List[AwsIamRolePolicy] +class AwsIamRoleDetails(ASFFBaseModel): + """ +Contains information about an IAM role, including all of the role's policies. + +:param assume_role_policy_document: The trust policy that grants permission to assume the role. +:param attached_managed_policies: The list of the managed policies that are attached to the role. +:param create_date: Indicates when the role was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param instance_profile_list: The list of instance profiles that contain this role. +:param role_id: The stable and unique string identifying the role. +:param role_name: The friendly name that identifies the role. +:param role_policy_list: The list of inline policies that are embedded in the role. +:param max_session_duration: The maximum session duration (in seconds) that you want to set for the specified role. +:param path: The path to the role. + +:return: AwsIamRoleDetails object + """ + assume_role_policy_document: Optional[AwsIamRoleAssumeRolePolicyDocument] + attached_managed_policies: Optional[AwsIamAttachedManagedPolicyList] + create_date: Optional[Iso8601Timestamp] + instance_profile_list: Optional[AwsIamInstanceProfileList] + permissions_boundary: Optional[AwsIamPermissionsBoundary] + role_id: Optional[NonEmptyString] + role_name: Optional[NonEmptyString] + role_policy_list: Optional[AwsIamRolePolicyList] + max_session_duration: Optional[Integer] + path: Optional[NonEmptyString] +class AwsKmsKeyDetails(ASFFBaseModel): + """ +Contains metadata about an KMS key. + +:param aws_account_id: The twelve-digit account ID of the Amazon Web Services account that owns the KMS key. +:param creation_date: Indicates when the KMS key was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param key_id: The globally unique identifier for the KMS key. +:param key_manager: The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or Amazon Web Services managed. +:param key_state: The state of the KMS key. +:param origin: The source of the KMS key material. When this value is AWS_KMS, KMS created the key material. When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the KMS key lacks key material. When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM cluster associated with a custom key store. +:param description: A description of the key. +:param key_rotation_status: Whether the key has key rotation enabled. + +:return: AwsKmsKeyDetails object + """ + aws_account_id: Optional[NonEmptyString] + creation_date: Optional[Iso8601Timestamp] + key_id: Optional[NonEmptyString] + key_manager: Optional[NonEmptyString] + key_state: Optional[NonEmptyString] + origin: Optional[NonEmptyString] + description: Optional[NonEmptyString] + key_rotation_status: Optional[Boolean] +class AwsLambdaFunctionCode(ASFFBaseModel): + """ +The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly. + +:param s3_bucket: An Amazon S3 bucket in the same Amazon Web Services Region as your function. The bucket can be in a different Amazon Web Services account. +:param s3_key: The Amazon S3 key of the deployment package. +:param s3_object_version: For versioned objects, the version of the deployment package object to use. +:param zip_file: The base64-encoded contents of the deployment package. Amazon Web Services SDK and Amazon Web Services CLI clients handle the encoding for you. + +:return: AwsLambdaFunctionCode object + """ + s3_bucket: Optional[NonEmptyString] + s3_key: Optional[NonEmptyString] + s3_object_version: Optional[NonEmptyString] + zip_file: Optional[NonEmptyString] +class AwsLambdaFunctionDeadLetterConfig(ASFFBaseModel): + """ +The dead-letter queue for failed asynchronous invocations. +:param target_arn: The ARN of an SQS queue or SNS topic. -class AwsApiCallActionDomainDetails(ASFFBaseModel): - """ - Provided if CallerType is domain. It provides information about the DNS domain that issued the API call. +:return: AwsLambdaFunctionDeadLetterConfig object + """ + target_arn: Optional[NonEmptyString] +class AwsLambdaFunctionEnvironmentError(ASFFBaseModel): + """ +Error messages for environment variables that could not be applied. - :param domain: The name of the DNS domain that issued the API call. +:param error_code: The error code. +:param message: The error message. - :return: AwsApiCallActionDomainDetails object - """ +:return: AwsLambdaFunctionEnvironmentError object + """ + error_code: Optional[NonEmptyString] + message: Optional[NonEmptyString] +class AwsLambdaFunctionEnvironment(ASFFBaseModel): + """ +A function's environment variable settings. - domain: Optional[NonEmptyString] +:param variables: Environment variable key-value pairs. +:param error: An AwsLambdaFunctionEnvironmentError object. +:return: AwsLambdaFunctionEnvironment object + """ + variables: Optional[FieldMap] + error: Optional[AwsLambdaFunctionEnvironmentError] +class AwsLambdaFunctionLayer(ASFFBaseModel): + """ +An Lambda layer. -class AwsApiCallAction(ASFFBaseModel): - """ - Provided if ActionType is AWS_API_CALL. It provides details about the API call that was detected. - - :param api: The name of the API method that was issued. - :param service_name: The name of the AWS service that the API method belongs to. - :param caller_type: Indicates whether the API call originated from a remote IP address (remoteip) or from a DNS domain (domain). - :param remote_ip_details: Provided if CallerType is remoteIp. Provides information about the remote IP address that the API call originated from. - :param domain_details: Provided if CallerType is domain. Provides information about the DNS domain that the API call originated from. - :param affected_resources: Identifies the resources that were affected by the API call. - :param first_seen: An ISO8601-formatted timestamp that indicates when the API call was first observed. - :param last_seen: An ISO8601-formatted timestamp that indicates when the API call was most recently observed. - - :return: AwsApiCallAction object - """ +:param arn: The ARN of the function layer. +:param code_size: The size of the layer archive in bytes. - api: Optional[NonEmptyString] - service_name: Optional[NonEmptyString] - caller_type: Optional[NonEmptyString] - remote_ip_details: Optional[ActionRemoteIpDetails] - domain_details: Optional[AwsApiCallActionDomainDetails] - affected_resources: Optional[FieldMap] - first_seen: Optional[NonEmptyString] - last_seen: Optional[NonEmptyString] +:return: AwsLambdaFunctionLayer object + """ + arn: Optional[NonEmptyString] + code_size: Optional[Integer] +AwsLambdaFunctionLayerList = List[AwsLambdaFunctionLayer] +class AwsLambdaFunctionTracingConfig(ASFFBaseModel): + """ +The function's X-Ray tracing configuration. +:param mode: The tracing mode. -class DnsRequestAction(ASFFBaseModel): - """ - Provided if ActionType is DNS_REQUEST. It provides details about the DNS request that was detected. +:return: AwsLambdaFunctionTracingConfig object + """ + mode: Optional[NonEmptyString] +class AwsLambdaFunctionVpcConfig(ASFFBaseModel): + """ +The VPC security groups and subnets that are attached to a Lambda function. + +:param security_group_ids: A list of VPC security groups IDs. +:param subnet_ids: A list of VPC subnet IDs. +:param vpc_id: The ID of the VPC. + +:return: AwsLambdaFunctionVpcConfig object + """ + security_group_ids: Optional[NonEmptyStringList] + subnet_ids: Optional[NonEmptyStringList] + vpc_id: Optional[NonEmptyString] +class AwsLambdaFunctionDetails(ASFFBaseModel): + """ +Details about a function's configuration. + +:param code: An AwsLambdaFunctionCode object. +:param code_sha256: The SHA256 hash of the function's deployment package. +:param dead_letter_config: The function's dead letter queue. +:param environment: The function's environment variables. +:param function_name: The name of the function. +:param handler: The function that Lambda calls to begin executing your function. +:param kms_key_arn: The KMS key that is used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed customer managed key. +:param last_modified: Indicates when the function was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param layers: The function's layers. +:param master_arn: For Lambda@Edge functions, the ARN of the master function. +:param memory_size: The memory that is allocated to the function. +:param revision_id: The latest updated revision of the function or alias. +:param role: The function's execution role. +:param runtime: The runtime environment for the Lambda function. +:param timeout: The amount of time that Lambda allows a function to run before stopping it. +:param tracing_config: The function's X-Ray tracing configuration. +:param vpc_config: The function's networking configuration. +:param version: The version of the Lambda function. + +:return: AwsLambdaFunctionDetails object + """ + code: Optional[AwsLambdaFunctionCode] + code_sha256: Optional[NonEmptyString] + dead_letter_config: Optional[AwsLambdaFunctionDeadLetterConfig] + environment: Optional[AwsLambdaFunctionEnvironment] + function_name: Optional[NonEmptyString] + handler: Optional[NonEmptyString] + kms_key_arn: Optional[NonEmptyString] + last_modified: Optional[Iso8601Timestamp] + layers: Optional[AwsLambdaFunctionLayerList] + master_arn: Optional[NonEmptyString] + memory_size: Optional[Integer] + revision_id: Optional[NonEmptyString] + role: Optional[NonEmptyString] + runtime: Optional[NonEmptyString] + timeout: Optional[Integer] + tracing_config: Optional[AwsLambdaFunctionTracingConfig] + vpc_config: Optional[AwsLambdaFunctionVpcConfig] + version: Optional[NonEmptyString] +AwsLambdaLayerVersionNumber = int +class AwsLambdaLayerVersionDetails(ASFFBaseModel): + """ +Details about a Lambda layer version. + +:param version: The version number. +:param compatible_runtimes: The layer's compatible runtimes. Maximum number of five items. Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 | provided +:param created_date: Indicates when the version was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsLambdaLayerVersionDetails object + """ + version: Optional[AwsLambdaLayerVersionNumber] + compatible_runtimes: Optional[NonEmptyStringList] + created_date: Optional[Iso8601Timestamp] +class AwsRdsDbInstanceAssociatedRole(ASFFBaseModel): + """ +An IAM role associated with the DB instance. + +:param role_arn: The ARN of the IAM role that is associated with the DB instance. +:param feature_name: The name of the feature associated with the IAM role. +:param status: Describes the state of the association between the IAM role and the DB instance. The Status property returns one of the following values: ACTIVE - The IAM role ARN is associated with the DB instance and can be used to access other Amazon Web Services services on your behalf. PENDING - The IAM role ARN is being associated with the DB instance. INVALID - The IAM role ARN is associated with the DB instance. But the DB instance is unable to assume the IAM role in order to access other Amazon Web Services services on your behalf. + +:return: AwsRdsDbInstanceAssociatedRole object + """ + role_arn: Optional[NonEmptyString] + feature_name: Optional[NonEmptyString] + status: Optional[NonEmptyString] +AwsRdsDbInstanceAssociatedRoles = List[AwsRdsDbInstanceAssociatedRole] +class AwsRdsDbInstanceEndpoint(ASFFBaseModel): + """ +Specifies the connection endpoint. + +:param address: Specifies the DNS address of the DB instance. +:param port: Specifies the port that the database engine is listening on. +:param hosted_zone_id: Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + +:return: AwsRdsDbInstanceEndpoint object + """ + address: Optional[NonEmptyString] + port: Optional[Integer] + hosted_zone_id: Optional[NonEmptyString] +class AwsRdsDbInstanceVpcSecurityGroup(ASFFBaseModel): + """ +A VPC security groups that the DB instance belongs to. - :param domain: The DNS domain that is associated with the DNS request. - :param protocol: The protocol that was used for the DNS request. - :param blocked: Indicates whether the DNS request was blocked. +:param vpc_security_group_id: The name of the VPC security group. +:param status: The status of the VPC security group. - :return: DnsRequestAction object - """ +:return: AwsRdsDbInstanceVpcSecurityGroup object + """ + vpc_security_group_id: Optional[NonEmptyString] + status: Optional[NonEmptyString] +AwsRdsDbInstanceVpcSecurityGroups = List[AwsRdsDbInstanceVpcSecurityGroup] +class AwsRdsDbParameterGroup(ASFFBaseModel): + """ +Provides information about a parameter group for a DB instance. - domain: Optional[NonEmptyString] - protocol: Optional[NonEmptyString] - blocked: Optional[Boolean] +:param db_parameter_group_name: The name of the parameter group. +:param parameter_apply_status: The status of parameter updates. +:return: AwsRdsDbParameterGroup object + """ + db_parameter_group_name: Optional[NonEmptyString] + parameter_apply_status: Optional[NonEmptyString] +AwsRdsDbParameterGroups = List[AwsRdsDbParameterGroup] +class AwsRdsDbSubnetGroupSubnetAvailabilityZone(ASFFBaseModel): + """ +An Availability Zone for a subnet in a subnet group. -class ActionLocalIpDetails(ASFFBaseModel): - """ - Provides information about the IP address where the scanned port is located. +:param name: The name of the Availability Zone for a subnet in the subnet group. - :param ip_address_v4: The IP address. +:return: AwsRdsDbSubnetGroupSubnetAvailabilityZone object + """ + name: Optional[NonEmptyString] +class AwsRdsDbSubnetGroupSubnet(ASFFBaseModel): + """ +Information about a subnet in a subnet group. + +:param subnet_identifier: The identifier of a subnet in the subnet group. +:param subnet_availability_zone: Information about the Availability Zone for a subnet in the subnet group. +:param subnet_status: The status of a subnet in the subnet group. + +:return: AwsRdsDbSubnetGroupSubnet object + """ + subnet_identifier: Optional[NonEmptyString] + subnet_availability_zone: Optional[AwsRdsDbSubnetGroupSubnetAvailabilityZone] + subnet_status: Optional[NonEmptyString] +AwsRdsDbSubnetGroupSubnets = List[AwsRdsDbSubnetGroupSubnet] +class AwsRdsDbSubnetGroup(ASFFBaseModel): + """ +Information about the subnet group for the database instance. + +:param db_subnet_group_name: The name of the subnet group. +:param db_subnet_group_description: The description of the subnet group. +:param vpc_id: The VPC ID of the subnet group. +:param subnet_group_status: The status of the subnet group. +:param subnets: A list of subnets in the subnet group. +:param db_subnet_group_arn: The ARN of the subnet group. + +:return: AwsRdsDbSubnetGroup object + """ + db_subnet_group_name: Optional[NonEmptyString] + db_subnet_group_description: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + subnet_group_status: Optional[NonEmptyString] + subnets: Optional[AwsRdsDbSubnetGroupSubnets] + db_subnet_group_arn: Optional[NonEmptyString] +class AwsRdsPendingCloudWatchLogsExports(ASFFBaseModel): + """ +Identifies the log types to enable and disable. - :return: ActionLocalIpDetails object - """ +:param log_types_to_enable: A list of log types that are being enabled. +:param log_types_to_disable: A list of log types that are being disabled. - ip_address_v4: Optional[NonEmptyString] +:return: AwsRdsPendingCloudWatchLogsExports object + """ + log_types_to_enable: Optional[StringList] + log_types_to_disable: Optional[StringList] +class AwsRdsDbProcessorFeature(ASFFBaseModel): + """ +A processor feature. +:param name: The name of the processor feature. +:param value: The value of the processor feature. -class PortProbeDetail(ASFFBaseModel): - """ - A port scan that was part of the port probe. For each scan, PortProbeDetails provides information about the local IP address and port that were scanned, and the remote IP address that the scan originated from. +:return: AwsRdsDbProcessorFeature object + """ + name: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsRdsDbProcessorFeatures = List[AwsRdsDbProcessorFeature] +class AwsRdsDbPendingModifiedValues(ASFFBaseModel): + """ +Changes to a DB instance that are currently pending. + +:param db_instance_class: The new DB instance class for the DB instance. +:param allocated_storage: The new value of the allocated storage for the DB instance. +:param master_user_password: The new master user password for the DB instance. +:param port: The new port for the DB instance. +:param backup_retention_period: The new backup retention period for the DB instance. +:param multi_az: Indicates that a single Availability Zone DB instance is changing to a multiple Availability Zone deployment. +:param engine_version: The new engine version for the DB instance. +:param license_model: The new license model value for the DB instance. +:param iops: The new provisioned IOPS value for the DB instance. +:param db_instance_identifier: The new DB instance identifier for the DB instance. +:param storage_type: The new storage type for the DB instance. +:param ca_certificate_identifier: The new CA certificate identifier for the DB instance. +:param db_subnet_group_name: The name of the new subnet group for the DB instance. +:param pending_cloud_watch_logs_exports: A list of log types that are being enabled or disabled. +:param processor_features: Processor features that are being updated. + +:return: AwsRdsDbPendingModifiedValues object + """ + db_instance_class: Optional[NonEmptyString] + allocated_storage: Optional[Integer] + master_user_password: Optional[NonEmptyString] + port: Optional[Integer] + backup_retention_period: Optional[Integer] + multi_az: Optional[Boolean] + engine_version: Optional[NonEmptyString] + license_model: Optional[NonEmptyString] + iops: Optional[Integer] + db_instance_identifier: Optional[NonEmptyString] + storage_type: Optional[NonEmptyString] + ca_certificate_identifier: Optional[NonEmptyString] + db_subnet_group_name: Optional[NonEmptyString] + pending_cloud_watch_logs_exports: Optional[AwsRdsPendingCloudWatchLogsExports] + processor_features: Optional[AwsRdsDbProcessorFeatures] +class AwsRdsDbOptionGroupMembership(ASFFBaseModel): + """ +An option group membership. - :param local_port_details: Provides information about the port that was scanned. - :param local_ip_details: Provides information about the IP address where the scanned port is located. - :param remote_ip_details: Provides information about the remote IP address that performed the scan. +:param option_group_name: The name of the option group. +:param status: The status of the option group membership. - :return: PortProbeDetail object - """ +:return: AwsRdsDbOptionGroupMembership object + """ + option_group_name: Optional[NonEmptyString] + status: Optional[NonEmptyString] +AwsRdsDbOptionGroupMemberships = List[AwsRdsDbOptionGroupMembership] +class AwsRdsDbStatusInfo(ASFFBaseModel): + """ +Information about the status of a read replica. + +:param status_type: The type of status. For a read replica, the status type is read replication. +:param normal: Whether the read replica instance is operating normally. +:param status: The status of the read replica instance. +:param message: If the read replica is currently in an error state, provides the error details. + +:return: AwsRdsDbStatusInfo object + """ + status_type: Optional[NonEmptyString] + normal: Optional[Boolean] + status: Optional[NonEmptyString] + message: Optional[NonEmptyString] +AwsRdsDbStatusInfos = List[AwsRdsDbStatusInfo] +class AwsRdsDbDomainMembership(ASFFBaseModel): + """ +Information about an Active Directory domain membership record associated with the DB instance. + +:param domain: The identifier of the Active Directory domain. +:param status: The status of the Active Directory Domain membership for the DB instance. +:param fqdn: The fully qualified domain name of the Active Directory domain. +:param iam_role_name: The name of the IAM role to use when making API calls to the Directory Service. + +:return: AwsRdsDbDomainMembership object + """ + domain: Optional[NonEmptyString] + status: Optional[NonEmptyString] + fqdn: Optional[NonEmptyString] + iam_role_name: Optional[NonEmptyString] +AwsRdsDbDomainMemberships = List[AwsRdsDbDomainMembership] +class AwsRdsDbInstanceDetails(ASFFBaseModel): + """ +Contains the details of an Amazon RDS DB instance. + +:param associated_roles: The IAM roles associated with the DB instance. +:param ca_certificate_identifier: The identifier of the CA certificate for this DB instance. +:param db_cluster_identifier: If the DB instance is a member of a DB cluster, contains the name of the DB cluster that the DB instance is a member of. +:param db_instance_identifier: Contains a user-supplied database identifier. This identifier is the unique key that identifies a DB instance. +:param db_instance_class: Contains the name of the compute and memory capacity class of the DB instance. +:param db_instance_port: Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port. +:param dbi_resource_id: The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in CloudTrail log entries whenever the KMS key for the DB instance is accessed. +:param db_name: The meaning of this parameter differs according to the database engine you use. MySQL, MariaDB, SQL Server, PostgreSQL Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance. Oracle Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance. +:param deletion_protection: Indicates whether the DB instance has deletion protection enabled. When deletion protection is enabled, the database cannot be deleted. +:param endpoint: Specifies the connection endpoint. +:param engine: Provides the name of the database engine to use for this DB instance. +:param engine_version: Indicates the database engine version. +:param iam_database_authentication_enabled: True if mapping of IAM accounts to database accounts is enabled, and otherwise false. IAM database authentication can be enabled for the following database engines. For MySQL 5.6, minor version 5.6.34 or higher For MySQL 5.7, minor version 5.7.16 or higher Aurora 5.6 or higher +:param instance_create_time: Indicates when the DB instance was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param kms_key_id: If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance. +:param publicly_accessible: Specifies the accessibility options for the DB instance. A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address. A value of false specifies an internal instance with a DNS name that resolves to a private IP address. +:param storage_encrypted: Specifies whether the DB instance is encrypted. +:param tde_credential_arn: The ARN from the key store with which the instance is associated for TDE encryption. +:param vpc_security_groups: A list of VPC security groups that the DB instance belongs to. +:param multi_az: Whether the DB instance is a multiple Availability Zone deployment. +:param enhanced_monitoring_resource_arn: The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics data for the DB instance. +:param db_instance_status: The current status of the DB instance. +:param master_username: The master user name of the DB instance. +:param allocated_storage: The amount of storage (in gigabytes) to initially allocate for the DB instance. +:param preferred_backup_window: The range of time each day when automated backups are created, if automated backups are enabled. Uses the format HH:MM-HH:MM. For example, 04:52-05:22. +:param backup_retention_period: The number of days for which to retain automated backups. +:param db_security_groups: A list of the DB security groups to assign to the DB instance. +:param db_parameter_groups: A list of the DB parameter groups to assign to the DB instance. +:param availability_zone: The Availability Zone where the DB instance will be created. +:param db_subnet_group: Information about the subnet group that is associated with the DB instance. +:param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Uses the format <day>:HH:MM-<day>:HH:MM. For the day values, use mon|tue|wed|thu|fri|sat|sun. For example, sun:09:32-sun:10:02. +:param pending_modified_values: Changes to the DB instance that are currently pending. +:param latest_restorable_time: Specifies the latest time to which a database can be restored with point-in-time restore. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param auto_minor_version_upgrade: Indicates whether minor version patches are applied automatically. +:param read_replica_source_db_instance_identifier: If this DB instance is a read replica, contains the identifier of the source DB instance. +:param read_replica_db_instance_identifiers: List of identifiers of the read replicas associated with this DB instance. +:param read_replica_db_cluster_identifiers: List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica. +:param license_model: License model information for this DB instance. +:param iops: Specifies the provisioned IOPS (I/O operations per second) for this DB instance. +:param option_group_memberships: The list of option group memberships for this DB instance. +:param character_set_name: The name of the character set that this DB instance is associated with. +:param secondary_availability_zone: For a DB instance with multi-Availability Zone support, the name of the secondary Availability Zone. +:param status_infos: The status of a read replica. If the instance isn't a read replica, this is empty. +:param storage_type: The storage type for the DB instance. +:param domain_memberships: The Active Directory domain membership records associated with the DB instance. +:param copy_tags_to_snapshot: Whether to copy resource tags to snapshots of the DB instance. +:param monitoring_interval: The interval, in seconds, between points when enhanced monitoring metrics are collected for the DB instance. +:param monitoring_role_arn: The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to CloudWatch Logs. +:param promotion_tier: The order in which to promote an Aurora replica to the primary instance after a failure of the existing primary instance. +:param timezone: The time zone of the DB instance. +:param performance_insights_enabled: Indicates whether Performance Insights is enabled for the DB instance. +:param performance_insights_kms_key_id: The identifier of the KMS key used to encrypt the Performance Insights data. +:param performance_insights_retention_period: The number of days to retain Performance Insights data. +:param enabled_cloud_watch_logs_exports: A list of log types that this DB instance is configured to export to CloudWatch Logs. +:param processor_features: The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. +:param max_allocated_storage: The upper limit to which Amazon RDS can automatically scale the storage of the DB instance. + +:return: AwsRdsDbInstanceDetails object + """ + associated_roles: Optional[AwsRdsDbInstanceAssociatedRoles] + ca_certificate_identifier: Optional[NonEmptyString] + db_cluster_identifier: Optional[NonEmptyString] + db_instance_identifier: Optional[NonEmptyString] + db_instance_class: Optional[NonEmptyString] + db_instance_port: Optional[Integer] + dbi_resource_id: Optional[NonEmptyString] + db_name: Optional[NonEmptyString] + deletion_protection: Optional[Boolean] + endpoint: Optional[AwsRdsDbInstanceEndpoint] + engine: Optional[NonEmptyString] + engine_version: Optional[NonEmptyString] + iam_database_authentication_enabled: Optional[Boolean] + instance_create_time: Optional[Iso8601Timestamp] + kms_key_id: Optional[NonEmptyString] + publicly_accessible: Optional[Boolean] + storage_encrypted: Optional[Boolean] + tde_credential_arn: Optional[NonEmptyString] + vpc_security_groups: Optional[AwsRdsDbInstanceVpcSecurityGroups] + multi_az: Optional[Boolean] + enhanced_monitoring_resource_arn: Optional[NonEmptyString] + db_instance_status: Optional[NonEmptyString] + master_username: Optional[NonEmptyString] + allocated_storage: Optional[Integer] + preferred_backup_window: Optional[NonEmptyString] + backup_retention_period: Optional[Integer] + db_security_groups: Optional[StringList] + db_parameter_groups: Optional[AwsRdsDbParameterGroups] + availability_zone: Optional[NonEmptyString] + db_subnet_group: Optional[AwsRdsDbSubnetGroup] + preferred_maintenance_window: Optional[NonEmptyString] + pending_modified_values: Optional[AwsRdsDbPendingModifiedValues] + latest_restorable_time: Optional[Iso8601Timestamp] + auto_minor_version_upgrade: Optional[Boolean] + read_replica_source_db_instance_identifier: Optional[NonEmptyString] + read_replica_db_instance_identifiers: Optional[StringList] + read_replica_db_cluster_identifiers: Optional[StringList] + license_model: Optional[NonEmptyString] + iops: Optional[Integer] + option_group_memberships: Optional[AwsRdsDbOptionGroupMemberships] + character_set_name: Optional[NonEmptyString] + secondary_availability_zone: Optional[NonEmptyString] + status_infos: Optional[AwsRdsDbStatusInfos] + storage_type: Optional[NonEmptyString] + domain_memberships: Optional[AwsRdsDbDomainMemberships] + copy_tags_to_snapshot: Optional[Boolean] + monitoring_interval: Optional[Integer] + monitoring_role_arn: Optional[NonEmptyString] + promotion_tier: Optional[Integer] + timezone: Optional[NonEmptyString] + performance_insights_enabled: Optional[Boolean] + performance_insights_kms_key_id: Optional[NonEmptyString] + performance_insights_retention_period: Optional[Integer] + enabled_cloud_watch_logs_exports: Optional[StringList] + processor_features: Optional[AwsRdsDbProcessorFeatures] + listener_endpoint: Optional[AwsRdsDbInstanceEndpoint] + max_allocated_storage: Optional[Integer] +class AwsSnsTopicSubscription(ASFFBaseModel): + """ +A wrapper type for the attributes of an Amazon SNS subscription. - local_port_details: Optional[ActionLocalPortDetails] - local_ip_details: Optional[ActionLocalIpDetails] - remote_ip_details: Optional[ActionRemoteIpDetails] +:param endpoint: The subscription's endpoint (format depends on the protocol). +:param protocol: The subscription's protocol. +:return: AwsSnsTopicSubscription object + """ + endpoint: Optional[NonEmptyString] + protocol: Optional[NonEmptyString] +AwsSnsTopicSubscriptionList = List[AwsSnsTopicSubscription] +class AwsSnsTopicDetails(ASFFBaseModel): + """ +A wrapper type for the topic's ARN. + +:param kms_master_key_id: The ID of an Amazon Web Services managed key for Amazon SNS or a customer managed key. +:param subscription: Subscription is an embedded property that describes the subscription endpoints of an SNS topic. +:param topic_name: The name of the topic. +:param owner: The subscription's owner. + +:return: AwsSnsTopicDetails object + """ + kms_master_key_id: Optional[NonEmptyString] + subscription: Optional[AwsSnsTopicSubscriptionList] + topic_name: Optional[NonEmptyString] + owner: Optional[NonEmptyString] +class AwsSqsQueueDetails(ASFFBaseModel): + """ +Data about a queue. + +:param kms_data_key_reuse_period_seconds: The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling KMS again. +:param kms_master_key_id: The ID of an Amazon Web Services managed key for Amazon SQS or a custom KMS key. +:param queue_name: The name of the new queue. +:param dead_letter_target_arn: The ARN of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded. + +:return: AwsSqsQueueDetails object + """ + kms_data_key_reuse_period_seconds: Optional[Integer] + kms_master_key_id: Optional[NonEmptyString] + queue_name: Optional[NonEmptyString] + dead_letter_target_arn: Optional[NonEmptyString] +class WafAction(ASFFBaseModel): + """ +Details about the action that CloudFront or WAF takes when a web request matches the conditions in the rule. -PortProbeDetailList = List[PortProbeDetail] +:param type: Specifies how you want WAF to respond to requests that match the settings in a rule. Valid settings include the following: ALLOW - WAF allows requests BLOCK - WAF blocks requests COUNT - WAF increments a counter of the requests that match all of the conditions in the rule. WAF then continues to inspect the web request based on the remaining rules in the web ACL. You can't specify COUNT for the default action for a WebACL. +:return: WafAction object + """ + type: Optional[NonEmptyString] +class WafExcludedRule(ASFFBaseModel): + """ +Details about a rule to exclude from a rule group. -class PortProbeAction(ASFFBaseModel): - """ - Provided if ActionType is PORT_PROBE. It provides details about the attempted port probe that was detected. +:param rule_id: The unique identifier for the rule to exclude from the rule group. - :param port_probe_details: Information about the ports affected by the port probe. - :param blocked: Indicates whether the port probe was blocked. +:return: WafExcludedRule object + """ + rule_id: Optional[NonEmptyString] +WafExcludedRuleList = List[WafExcludedRule] +class WafOverrideAction(ASFFBaseModel): + """ +Details about an override action for a rule. - :return: PortProbeAction object - """ +:param type: COUNT overrides the action specified by the individual rule within a RuleGroup . If set to NONE, the rule's action takes place. - port_probe_details: Optional[PortProbeDetailList] - blocked: Optional[Boolean] +:return: WafOverrideAction object + """ + type: Optional[NonEmptyString] +class AwsWafWebAclRule(ASFFBaseModel): + """ +Details for a rule in an WAF WebACL. + +:param action: Specifies the action that CloudFront or WAF takes when a web request matches the conditions in the rule. +:param excluded_rules: Rules to exclude from a rule group. +:param override_action: Use the OverrideAction to test your RuleGroup. Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction to None, the RuleGroup blocks a request if any individual rule in the RuleGroup matches the request and is configured to block that request. However, if you first want to test the RuleGroup, set the OverrideAction to Count. The RuleGroup then overrides any block action specified by individual rules contained within the group. Instead of blocking matching requests, those requests are counted. ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup to a WebACL. In this case you do not use ActivatedRule|Action. For all other update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction. +:param priority: Specifies the order in which the rules in a WebACL are evaluated. Rules with a lower value for Priority are evaluated before rules with a higher value. The value must be a unique integer. If you add multiple rules to a WebACL, the values do not need to be consecutive. +:param rule_id: The identifier for a rule. +:param type: The rule type. Valid values: REGULAR | RATE_BASED | GROUP The default is REGULAR. + +:return: AwsWafWebAclRule object + """ + action: Optional[WafAction] + excluded_rules: Optional[WafExcludedRuleList] + override_action: Optional[WafOverrideAction] + priority: Optional[Integer] + rule_id: Optional[NonEmptyString] + type: Optional[NonEmptyString] +AwsWafWebAclRuleList = List[AwsWafWebAclRule] +class AwsWafWebAclDetails(ASFFBaseModel): + """ +Details about an WAF WebACL. + +:param name: A friendly name or description of the WebACL. You can't change the name of a WebACL after you create it. +:param default_action: The action to perform if none of the rules contained in the WebACL match. +:param rules: An array that contains the action for each rule in a WebACL, the priority of the rule, and the ID of the rule. +:param web_acl_id: A unique identifier for a WebACL. + +:return: AwsWafWebAclDetails object + """ + name: Optional[NonEmptyString] + default_action: Optional[NonEmptyString] + rules: Optional[AwsWafWebAclRuleList] + web_acl_id: Optional[NonEmptyString] +class AwsRdsDbSnapshotDetails(ASFFBaseModel): + """ +Provides details about an Amazon RDS DB cluster snapshot. + +:param db_snapshot_identifier: The name or ARN of the DB snapshot that is used to restore the DB instance. +:param db_instance_identifier: A name for the DB instance. +:param snapshot_create_time: When the snapshot was taken in Coordinated Universal Time (UTC). +:param engine: The name of the database engine to use for this DB instance. +:param allocated_storage: The amount of storage (in gigabytes) to be initially allocated for the database instance. +:param status: The status of this DB snapshot. +:param port: The port that the database engine was listening on at the time of the snapshot. +:param availability_zone: Specifies the name of the Availability Zone in which the DB instance was located at the time of the DB snapshot. +:param vpc_id: The VPC ID associated with the DB snapshot. +:param instance_create_time: Specifies the time in Coordinated Universal Time (UTC) when the DB instance, from which the snapshot was taken, was created. +:param master_username: The master user name for the DB snapshot. +:param engine_version: The version of the database engine. +:param license_model: License model information for the restored DB instance. +:param snapshot_type: The type of the DB snapshot. +:param iops: The provisioned IOPS (I/O operations per second) value of the DB instance at the time of the snapshot. +:param option_group_name: The option group name for the DB snapshot. +:param percent_progress: The percentage of the estimated data that has been transferred. +:param source_region: The Amazon Web Services Region that the DB snapshot was created in or copied from. +:param source_db_snapshot_identifier: The DB snapshot ARN that the DB snapshot was copied from. +:param storage_type: The storage type associated with the DB snapshot. +:param tde_credential_arn: The ARN from the key store with which to associate the instance for TDE encryption. +:param encrypted: Whether the DB snapshot is encrypted. +:param kms_key_id: If Encrypted is true, the KMS key identifier for the encrypted DB snapshot. +:param timezone: The time zone of the DB snapshot. +:param iam_database_authentication_enabled: Whether mapping of IAM accounts to database accounts is enabled. +:param processor_features: The number of CPU cores and the number of threads per core for the DB instance class of the DB instance. +:param dbi_resource_id: The identifier for the source DB instance. + +:return: AwsRdsDbSnapshotDetails object + """ + db_snapshot_identifier: Optional[NonEmptyString] + db_instance_identifier: Optional[NonEmptyString] + snapshot_create_time: Optional[Iso8601Timestamp] + engine: Optional[NonEmptyString] + allocated_storage: Optional[Integer] + status: Optional[NonEmptyString] + port: Optional[Integer] + availability_zone: Optional[NonEmptyString] + vpc_id: Optional[NonEmptyString] + instance_create_time: Optional[Iso8601Timestamp] + master_username: Optional[NonEmptyString] + engine_version: Optional[NonEmptyString] + license_model: Optional[NonEmptyString] + snapshot_type: Optional[NonEmptyString] + iops: Optional[Integer] + option_group_name: Optional[NonEmptyString] + percent_progress: Optional[Integer] + source_region: Optional[NonEmptyString] + source_db_snapshot_identifier: Optional[NonEmptyString] + storage_type: Optional[NonEmptyString] + tde_credential_arn: Optional[NonEmptyString] + encrypted: Optional[Boolean] + kms_key_id: Optional[NonEmptyString] + timezone: Optional[NonEmptyString] + iam_database_authentication_enabled: Optional[Boolean] + processor_features: Optional[AwsRdsDbProcessorFeatures] + dbi_resource_id: Optional[NonEmptyString] +class AwsRdsDbClusterSnapshotDetails(ASFFBaseModel): + """ +Information about an Amazon RDS DB cluster snapshot. + +:param availability_zones: A list of Availability Zones where instances in the DB cluster can be created. +:param snapshot_create_time: Indicates when the snapshot was taken. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param engine: The name of the database engine that you want to use for this DB instance. +:param allocated_storage: Specifies the allocated storage size in gibibytes (GiB). +:param status: The status of this DB cluster snapshot. +:param port: The port number on which the DB instances in the DB cluster accept connections. +:param vpc_id: The VPC ID that is associated with the DB cluster snapshot. +:param cluster_create_time: Indicates when the DB cluster was created, in Universal Coordinated Time (UTC). Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param master_username: The name of the master user for the DB cluster. +:param engine_version: The version of the database engine to use. +:param license_model: The license model information for this DB cluster snapshot. +:param snapshot_type: The type of DB cluster snapshot. +:param percent_progress: Specifies the percentage of the estimated data that has been transferred. +:param storage_encrypted: Whether the DB cluster is encrypted. +:param kms_key_id: The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster. +:param db_cluster_identifier: The DB cluster identifier. +:param db_cluster_snapshot_identifier: The identifier of the DB cluster snapshot. +:param iam_database_authentication_enabled: Whether mapping of IAM accounts to database accounts is enabled. + +:return: AwsRdsDbClusterSnapshotDetails object + """ + availability_zones: Optional[StringList] + snapshot_create_time: Optional[Iso8601Timestamp] + engine: Optional[NonEmptyString] + allocated_storage: Optional[Integer] + status: Optional[NonEmptyString] + port: Optional[Integer] + vpc_id: Optional[NonEmptyString] + cluster_create_time: Optional[Iso8601Timestamp] + master_username: Optional[NonEmptyString] + engine_version: Optional[NonEmptyString] + license_model: Optional[NonEmptyString] + snapshot_type: Optional[NonEmptyString] + percent_progress: Optional[Integer] + storage_encrypted: Optional[Boolean] + kms_key_id: Optional[NonEmptyString] + db_cluster_identifier: Optional[NonEmptyString] + db_cluster_snapshot_identifier: Optional[NonEmptyString] + iam_database_authentication_enabled: Optional[Boolean] +class AwsRdsDbClusterAssociatedRole(ASFFBaseModel): + """ +An IAM role that is associated with the Amazon RDS DB cluster. +:param role_arn: The ARN of the IAM role. +:param status: The status of the association between the IAM role and the DB cluster. -class Action(ASFFBaseModel): - """ - Provides details about one of the following actions that affects or that was taken on a resource: A remote IP address issued an AWS API call A DNS request was received A remote IP address attempted to connect to an EC2 instance A remote IP address attempted a port probe on an EC2 instance +:return: AwsRdsDbClusterAssociatedRole object + """ + role_arn: Optional[NonEmptyString] + status: Optional[NonEmptyString] +AwsRdsDbClusterAssociatedRoles = List[AwsRdsDbClusterAssociatedRole] +class AwsRdsDbClusterOptionGroupMembership(ASFFBaseModel): + """ +Information about an option group membership for a DB cluster. - :param action_type: The type of action that was detected. The possible action types are: NETWORK_CONNECTION AWS_API_CALL DNS_REQUEST PORT_PROBE - :param network_connection_action: Included if ActionType is NETWORK_CONNECTION. Provides details about the network connection that was detected. - :param aws_api_call_action: Included if ActionType is AWS_API_CALL. Provides details about the API call that was detected. - :param dns_request_action: Included if ActionType is DNS_REQUEST. Provides details about the DNS request that was detected. - :param port_probe_action: Included if ActionType is PORT_PROBE. Provides details about the port probe that was detected. +:param db_cluster_option_group_name: The name of the DB cluster option group. +:param status: The status of the DB cluster option group. - :return: Action object - """ +:return: AwsRdsDbClusterOptionGroupMembership object + """ + db_cluster_option_group_name: Optional[NonEmptyString] + status: Optional[NonEmptyString] +AwsRdsDbClusterOptionGroupMemberships = List[AwsRdsDbClusterOptionGroupMembership] +class AwsRdsDbClusterMember(ASFFBaseModel): + """ +Information about an instance in the DB cluster. + +:param is_cluster_writer: Whether the cluster member is the primary instance for the DB cluster. +:param promotion_tier: Specifies the order in which an Aurora replica is promoted to the primary instance when the existing primary instance fails. +:param db_instance_identifier: The instance identifier for this member of the DB cluster. +:param db_cluster_parameter_group_status: The status of the DB cluster parameter group for this member of the DB cluster. + +:return: AwsRdsDbClusterMember object + """ + is_cluster_writer: Optional[Boolean] + promotion_tier: Optional[Integer] + db_instance_identifier: Optional[NonEmptyString] + db_cluster_parameter_group_status: Optional[NonEmptyString] +AwsRdsDbClusterMembers = List[AwsRdsDbClusterMember] +class AwsRdsDbClusterDetails(ASFFBaseModel): + """ +Information about an Amazon RDS DB cluster. + +:param allocated_storage: For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB). +:param availability_zones: A list of Availability Zones (AZs) where instances in the DB cluster can be created. +:param backup_retention_period: The number of days for which automated backups are retained. +:param database_name: The name of the database. +:param status: The current status of this DB cluster. +:param endpoint: The connection endpoint for the primary instance of the DB cluster. +:param reader_endpoint: The reader endpoint for the DB cluster. +:param custom_endpoints: A list of custom endpoints for the DB cluster. +:param multi_az: Whether the DB cluster has instances in multiple Availability Zones. +:param engine: The name of the database engine to use for this DB cluster. +:param engine_version: The version number of the database engine to use. +:param port: The port number on which the DB instances in the DB cluster accept connections. +:param master_username: The name of the master user for the DB cluster. +:param preferred_backup_window: The range of time each day when automated backups are created, if automated backups are enabled. Uses the format HH:MM-HH:MM. For example, 04:52-05:22. +:param preferred_maintenance_window: The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC). Uses the format <day>:HH:MM-<day>:HH:MM. For the day values, use mon|tue|wed|thu|fri|sat|sun. For example, sun:09:32-sun:10:02. +:param read_replica_identifiers: The identifiers of the read replicas that are associated with this DB cluster. +:param vpc_security_groups: A list of VPC security groups that the DB cluster belongs to. +:param hosted_zone_id: Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone. +:param storage_encrypted: Whether the DB cluster is encrypted. +:param kms_key_id: The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster. +:param db_cluster_resource_id: The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable. +:param associated_roles: A list of the IAM roles that are associated with the DB cluster. +:param cluster_create_time: Indicates when the DB cluster was created, in Universal Coordinated Time (UTC). Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param enabled_cloud_watch_logs_exports: A list of log types that this DB cluster is configured to export to CloudWatch Logs. +:param engine_mode: The database engine mode of the DB cluster. +:param deletion_protection: Whether the DB cluster has deletion protection enabled. +:param http_endpoint_enabled: Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled. +:param activity_stream_status: The status of the database activity stream. +:param copy_tags_to_snapshot: Whether tags are copied from the DB cluster to snapshots of the DB cluster. +:param cross_account_clone: Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account. +:param domain_memberships: The Active Directory domain membership records that are associated with the DB cluster. +:param db_cluster_parameter_group: The name of the DB cluster parameter group for the DB cluster. +:param db_subnet_group: The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group. +:param db_cluster_option_group_memberships: The list of option group memberships for this DB cluster. +:param db_cluster_identifier: The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster. +:param db_cluster_members: The list of instances that make up the DB cluster. +:param iam_database_authentication_enabled: Whether the mapping of IAM accounts to database accounts is enabled. + +:return: AwsRdsDbClusterDetails object + """ + allocated_storage: Optional[Integer] + availability_zones: Optional[StringList] + backup_retention_period: Optional[Integer] + database_name: Optional[NonEmptyString] + status: Optional[NonEmptyString] + endpoint: Optional[NonEmptyString] + reader_endpoint: Optional[NonEmptyString] + custom_endpoints: Optional[StringList] + multi_az: Optional[Boolean] + engine: Optional[NonEmptyString] + engine_version: Optional[NonEmptyString] + port: Optional[Integer] + master_username: Optional[NonEmptyString] + preferred_backup_window: Optional[NonEmptyString] + preferred_maintenance_window: Optional[NonEmptyString] + read_replica_identifiers: Optional[StringList] + vpc_security_groups: Optional[AwsRdsDbInstanceVpcSecurityGroups] + hosted_zone_id: Optional[NonEmptyString] + storage_encrypted: Optional[Boolean] + kms_key_id: Optional[NonEmptyString] + db_cluster_resource_id: Optional[NonEmptyString] + associated_roles: Optional[AwsRdsDbClusterAssociatedRoles] + cluster_create_time: Optional[Iso8601Timestamp] + enabled_cloud_watch_logs_exports: Optional[StringList] + engine_mode: Optional[NonEmptyString] + deletion_protection: Optional[Boolean] + http_endpoint_enabled: Optional[Boolean] + activity_stream_status: Optional[NonEmptyString] + copy_tags_to_snapshot: Optional[Boolean] + cross_account_clone: Optional[Boolean] + domain_memberships: Optional[AwsRdsDbDomainMemberships] + db_cluster_parameter_group: Optional[NonEmptyString] + db_subnet_group: Optional[NonEmptyString] + db_cluster_option_group_memberships: Optional[AwsRdsDbClusterOptionGroupMemberships] + db_cluster_identifier: Optional[NonEmptyString] + db_cluster_members: Optional[AwsRdsDbClusterMembers] + iam_database_authentication_enabled: Optional[Boolean] +class AwsEcsClusterClusterSettingsDetails(ASFFBaseModel): + """ +Indicates whether to enable CloudWatch Container Insights for the ECS cluster. + +:param name: The name of the setting. +:param value: The value of the setting. + +:return: AwsEcsClusterClusterSettingsDetails object + """ + name: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsEcsClusterClusterSettingsList = List[AwsEcsClusterClusterSettingsDetails] +class AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails(ASFFBaseModel): + """ +The log configuration for the results of the run command actions. + +:param cloud_watch_encryption_enabled: Whether to enable encryption on the CloudWatch logs. +:param cloud_watch_log_group_name: The name of the CloudWatch log group to send the logs to. +:param s3_bucket_name: The name of the S3 bucket to send logs to. +:param s3_encryption_enabled: Whether to encrypt the logs that are sent to the S3 bucket. +:param s3_key_prefix: Identifies the folder in the S3 bucket to send the logs to. + +:return: AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails object + """ + cloud_watch_encryption_enabled: Optional[Boolean] + cloud_watch_log_group_name: Optional[NonEmptyString] + s3_bucket_name: Optional[NonEmptyString] + s3_encryption_enabled: Optional[Boolean] + s3_key_prefix: Optional[NonEmptyString] +class AwsEcsClusterConfigurationExecuteCommandConfigurationDetails(ASFFBaseModel): + """ +Contains the run command configuration for the cluster. + +:param kms_key_id: The identifier of the KMS key that is used to encrypt the data between the local client and the container. +:param log_configuration: The log configuration for the results of the run command actions. Required if Logging is NONE. +:param logging: The log setting to use for redirecting logs for run command results. + +:return: AwsEcsClusterConfigurationExecuteCommandConfigurationDetails object + """ + kms_key_id: Optional[NonEmptyString] + log_configuration: Optional[AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails] + logging: Optional[NonEmptyString] +class AwsEcsClusterConfigurationDetails(ASFFBaseModel): + """ +The run command configuration for the cluster. + +:param execute_command_configuration: Contains the run command configuration for the cluster. + +:return: AwsEcsClusterConfigurationDetails object + """ + execute_command_configuration: Optional[AwsEcsClusterConfigurationExecuteCommandConfigurationDetails] +class AwsEcsClusterDefaultCapacityProviderStrategyDetails(ASFFBaseModel): + """ +The default capacity provider strategy for the cluster. The default capacity provider strategy is used when services or tasks are run without a specified launch type or capacity provider strategy. + +:param base: The minimum number of tasks to run on the specified capacity provider. +:param capacity_provider: The name of the capacity provider. +:param weight: The relative percentage of the total number of tasks launched that should use the capacity provider. + +:return: AwsEcsClusterDefaultCapacityProviderStrategyDetails object + """ + base: Optional[Integer] + capacity_provider: Optional[NonEmptyString] + weight: Optional[Integer] +AwsEcsClusterDefaultCapacityProviderStrategyList = List[AwsEcsClusterDefaultCapacityProviderStrategyDetails] +class AwsEcsClusterDetails(ASFFBaseModel): + """ +provides details about an ECS cluster. + +:param capacity_providers: The short name of one or more capacity providers to associate with the cluster. +:param cluster_settings: The setting to use to create the cluster. Specifically used to configure whether to enable CloudWatch Container Insights for the cluster. +:param configuration: The run command configuration for the cluster. +:param default_capacity_provider_strategy: The default capacity provider strategy for the cluster. The default capacity provider strategy is used when services or tasks are run without a specified launch type or capacity provider strategy. + +:return: AwsEcsClusterDetails object + """ + capacity_providers: Optional[NonEmptyStringList] + cluster_settings: Optional[AwsEcsClusterClusterSettingsList] + configuration: Optional[AwsEcsClusterConfigurationDetails] + default_capacity_provider_strategy: Optional[AwsEcsClusterDefaultCapacityProviderStrategyList] +class AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails(ASFFBaseModel): + """ +A dependency that is defined for container startup and shutdown. + +:param condition: The dependency condition of the dependent container. Indicates the required status of the dependent container before the current container can start. +:param container_name: The name of the dependent container. + +:return: AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails object + """ + condition: Optional[NonEmptyString] + container_name: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsDependsOnList = List[AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails] +class AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails(ASFFBaseModel): + """ +An environment variable to pass to the container. + +:param name: The name of the environment variable. +:param value: The value of the environment variable. + +:return: AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails object + """ + name: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsEnvironmentList = List[AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails] +class AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails(ASFFBaseModel): + """ +A file that contain environment variables to pass to a container. + +:param type: The type of environment file. +:param value: The ARN of the S3 object that contains the environment variable file. + +:return: AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails object + """ + type: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesList = List[AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails] +class AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails(ASFFBaseModel): + """ +A hostname and IP address mapping to append to the /etc/hosts file on the container. + +:param hostname: The hostname to use in the /etc/hosts entry. +:param ip_address: The IP address to use in the /etc/hosts entry. + +:return: AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails object + """ + hostname: Optional[NonEmptyString] + ip_address: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsExtraHostsList = List[AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails(ASFFBaseModel): + """ +The FireLens configuration for the container. The configuration specifies and configures a log router for container logs. + +:param options: The options to use to configure the log router. The valid option keys are as follows: enable-ecs-log-metadata. The value can be true or false. config-file-type. The value can be s3 or file. config-file-value. The value is either an S3 ARN or a file path. +:param type: The log router to use. + +:return: AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails object + """ + options: Optional[FieldMap] + type: Optional[NonEmptyString] +class AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails(ASFFBaseModel): + """ +The container health check command and associated configuration parameters for the container. + +:param command: The command that the container runs to determine whether it is healthy. +:param interval: The time period in seconds between each health check execution. The default value is 30 seconds. +:param retries: The number of times to retry a failed health check before the container is considered unhealthy. The default value is 3. +:param start_period: The optional grace period in seconds that allows containers time to bootstrap before failed health checks count towards the maximum number of retries. +:param timeout: The time period in seconds to wait for a health check to succeed before it is considered a failure. The default value is 5. + +:return: AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails object + """ + command: Optional[NonEmptyStringList] + interval: Optional[Integer] + retries: Optional[Integer] + start_period: Optional[Integer] + timeout: Optional[Integer] +class AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails(ASFFBaseModel): + """ +The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. + +:param add: The Linux capabilities for the container that are added to the default configuration provided by Docker. +:param drop: The Linux capabilities for the container that are dropped from the default configuration provided by Docker. + +:return: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails object + """ + add: Optional[NonEmptyStringList] + drop: Optional[NonEmptyStringList] +class AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails(ASFFBaseModel): + """ +A host device to expose to the container. + +:param container_path: The path inside the container at which to expose the host device. +:param host_path: The path for the device on the host container instance. +:param permissions: The explicit permissions to provide to the container for the device. By default, the container has permissions for read, write, and mknod for the device. + +:return: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails object + """ + container_path: Optional[NonEmptyString] + host_path: Optional[NonEmptyString] + permissions: Optional[NonEmptyStringList] +AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesList = List[AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails] +class AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails(ASFFBaseModel): + """ +The container path, mount options, and size (in MiB) of a tmpfs mount. + +:param container_path: The absolute file path where the tmpfs volume is to be mounted. +:param mount_options: The list of tmpfs volume mount options. +:param size: The maximum size (in MiB) of the tmpfs volume. + +:return: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails object + """ + container_path: Optional[NonEmptyString] + mount_options: Optional[NonEmptyStringList] + size: Optional[Integer] +AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsList = List[AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails(ASFFBaseModel): + """ +>Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. + +:param capabilities: The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker. +:param devices: The host devices to expose to the container. +:param init_process_enabled: Whether to run an init process inside the container that forwards signals and reaps processes. +:param max_swap: The total amount of swap memory (in MiB) that a container can use. +:param shared_memory_size: The value for the size (in MiB) of the /dev/shm volume. +:param swappiness: Configures the container's memory swappiness behavior. Determines how aggressively pages are swapped. The higher the value, the more aggressive the swappiness. The default is 60. +:param tmpfs: The container path, mount options, and size (in MiB) of the tmpfs mount. + +:return: AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails object + """ + capabilities: Optional[AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails] + devices: Optional[AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesList] + init_process_enabled: Optional[Boolean] + max_swap: Optional[Integer] + shared_memory_size: Optional[Integer] + swappiness: Optional[Integer] + tmpfs: Optional[AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsList] +class AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails(ASFFBaseModel): + """ +A secret to pass to the log configuration. + +:param name: The name of the secret. +:param value_from: The secret to expose to the container. The value is either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the Systems Manager Parameter Store. + +:return: AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails object + """ + name: Optional[NonEmptyString] + value_from: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsList = List[AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails(ASFFBaseModel): + """ +The log configuration specification for the container. + +:param log_driver: The log driver to use for the container. +:param options: The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance. +:param secret_options: The secrets to pass to the log configuration. + +:return: AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails object + """ + log_driver: Optional[NonEmptyString] + options: Optional[FieldMap] + secret_options: Optional[AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsList] +class AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails(ASFFBaseModel): + """ +A mount point for the data volumes in the container. + +:param container_path: The path on the container to mount the host volume at. +:param read_only: Whether the container has read-only access to the volume. +:param source_volume: The name of the volume to mount. Must match the name of a volume listed in VolumeDetails for the task definition. + +:return: AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails object + """ + container_path: Optional[NonEmptyString] + read_only: Optional[Boolean] + source_volume: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsMountPointsList = List[AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails(ASFFBaseModel): + """ +A port mapping for the container. + +:param container_port: The port number on the container that is bound to the user-specified or automatically assigned host port. +:param host_port: The port number on the container instance to reserve for the container. +:param protocol: The protocol used for the port mapping. The default is tcp. + +:return: AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails object + """ + container_port: Optional[Integer] + host_port: Optional[Integer] + protocol: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsPortMappingsList = List[AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails(ASFFBaseModel): + """ +The private repository authentication credentials to use. + +:param credentials_parameter: The ARN of the secret that contains the private repository credentials. + +:return: AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails object + """ + credentials_parameter: Optional[NonEmptyString] +class AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails(ASFFBaseModel): + """ +A resource to assign to a container. + +:param type: The type of resource to assign to a container. +:param value: The value for the specified resource type. For GPU, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container. For InferenceAccelerator, the value should match the DeviceName attribute of an entry in InferenceAccelerators. + +:return: AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails object + """ + type: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsList = List[AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails(ASFFBaseModel): + """ +A secret to pass to the container. + +:param name: The name of the secret. +:param value_from: The secret to expose to the container. The value is either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the Systems Manager Parameter Store. + +:return: AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails object + """ + name: Optional[NonEmptyString] + value_from: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsSecretsList = List[AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails(ASFFBaseModel): + """ +A namespaced kernel parameter to set in the container. + +:param namespace: The namespaced kernel parameter for which to set a value. +:param value: The value of the parameter. + +:return: AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails object + """ + namespace: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsSystemControlsList = List[AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails(ASFFBaseModel): + """ +A ulimit to set in the container. + +:param hard_limit: The hard limit for the ulimit type. +:param name: The type of the ulimit. +:param soft_limit: The soft limit for the ulimit type. + +:return: AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails object + """ + hard_limit: Optional[Integer] + name: Optional[NonEmptyString] + soft_limit: Optional[Integer] +AwsEcsTaskDefinitionContainerDefinitionsUlimitsList = List[AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails] +class AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails(ASFFBaseModel): + """ +A data volume to mount from another container. + +:param read_only: Whether the container has read-only access to the volume. +:param source_container: The name of another container within the same task definition from which to mount volumes. + +:return: AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails object + """ + read_only: Optional[Boolean] + source_container: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsVolumesFromList = List[AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails] +class AwsEcsTaskDefinitionContainerDefinitionsDetails(ASFFBaseModel): + """ +A container definition that describes a container in the task. + +:param command: The command that is passed to the container. +:param cpu: The number of CPU units reserved for the container. +:param depends_on: The dependencies that are defined for container startup and shutdown. +:param disable_networking: Whether to disable networking within the container. +:param dns_search_domains: A list of DNS search domains that are presented to the container. +:param dns_servers: A list of DNS servers that are presented to the container. +:param docker_labels: A key-value map of labels to add to the container. +:param docker_security_options: A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems. +:param entry_point: The entry point that is passed to the container. +:param environment: The environment variables to pass to a container. +:param environment_files: A list of files containing the environment variables to pass to a container. +:param essential: Whether the container is essential. All tasks must have at least one essential container. +:param extra_hosts: A list of hostnames and IP address mappings to append to the /etc/hosts file on the container. +:param firelens_configuration: The FireLens configuration for the container. Specifies and configures a log router for container logs. +:param health_check: The container health check command and associated configuration parameters for the container. +:param hostname: The hostname to use for the container. +:param image: The image used to start the container. +:param interactive: If set to true, then containerized applications can be deployed that require stdin or a tty to be allocated. +:param links: A list of links for the container in the form container_name:alias . Allows containers to communicate with each other without the need for port mappings. +:param linux_parameters: Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. +:param log_configuration: The log configuration specification for the container. +:param memory: The amount (in MiB) of memory to present to the container. If the container attempts to exceed the memory specified here, the container is shut down. The total amount of memory reserved for all containers within a task must be lower than the task memory value, if one is specified. +:param memory_reservation: The soft limit (in MiB) of memory to reserve for the container. +:param mount_points: The mount points for the data volumes in the container. +:param name: The name of the container. +:param port_mappings: The list of port mappings for the container. +:param privileged: Whether the container is given elevated privileges on the host container instance. The elevated privileges are similar to the root user. +:param pseudo_terminal: Whether to allocate a TTY to the container. +:param readonly_root_filesystem: Whether the container is given read-only access to its root file system. +:param repository_credentials: The private repository authentication credentials to use. +:param resource_requirements: The type and amount of a resource to assign to a container. The only supported resource is a GPU. +:param secrets: The secrets to pass to the container. +:param start_timeout: The number of seconds to wait before giving up on resolving dependencies for a container. +:param stop_timeout: The number of seconds to wait before the container is stopped if it doesn't shut down normally on its own. +:param system_controls: A list of namespaced kernel parameters to set in the container. +:param ulimits: A list of ulimits to set in the container. +:param user: The user to use inside the container. The value can use one of the following formats. user user : group uid uid : gid user : gid uid : group +:param volumes_from: Data volumes to mount from another container. +:param working_directory: The working directory in which to run commands inside the container. + +:return: AwsEcsTaskDefinitionContainerDefinitionsDetails object + """ + command: Optional[NonEmptyStringList] + cpu: Optional[Integer] + depends_on: Optional[AwsEcsTaskDefinitionContainerDefinitionsDependsOnList] + disable_networking: Optional[Boolean] + dns_search_domains: Optional[NonEmptyStringList] + dns_servers: Optional[NonEmptyStringList] + docker_labels: Optional[FieldMap] + docker_security_options: Optional[NonEmptyStringList] + entry_point: Optional[NonEmptyStringList] + environment: Optional[AwsEcsTaskDefinitionContainerDefinitionsEnvironmentList] + environment_files: Optional[AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesList] + essential: Optional[Boolean] + extra_hosts: Optional[AwsEcsTaskDefinitionContainerDefinitionsExtraHostsList] + firelens_configuration: Optional[AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails] + health_check: Optional[AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails] + hostname: Optional[NonEmptyString] + image: Optional[NonEmptyString] + interactive: Optional[Boolean] + links: Optional[NonEmptyStringList] + linux_parameters: Optional[AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails] + log_configuration: Optional[AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails] + memory: Optional[Integer] + memory_reservation: Optional[Integer] + mount_points: Optional[AwsEcsTaskDefinitionContainerDefinitionsMountPointsList] + name: Optional[NonEmptyString] + port_mappings: Optional[AwsEcsTaskDefinitionContainerDefinitionsPortMappingsList] + privileged: Optional[Boolean] + pseudo_terminal: Optional[Boolean] + readonly_root_filesystem: Optional[Boolean] + repository_credentials: Optional[AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails] + resource_requirements: Optional[AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsList] + secrets: Optional[AwsEcsTaskDefinitionContainerDefinitionsSecretsList] + start_timeout: Optional[Integer] + stop_timeout: Optional[Integer] + system_controls: Optional[AwsEcsTaskDefinitionContainerDefinitionsSystemControlsList] + ulimits: Optional[AwsEcsTaskDefinitionContainerDefinitionsUlimitsList] + user: Optional[NonEmptyString] + volumes_from: Optional[AwsEcsTaskDefinitionContainerDefinitionsVolumesFromList] + working_directory: Optional[NonEmptyString] +AwsEcsTaskDefinitionContainerDefinitionsList = List[AwsEcsTaskDefinitionContainerDefinitionsDetails] +class AwsEcsTaskDefinitionInferenceAcceleratorsDetails(ASFFBaseModel): + """ +An Elastic Inference accelerator to use for the containers in the task. + +:param device_name: The Elastic Inference accelerator device name. +:param device_type: The Elastic Inference accelerator type to use. + +:return: AwsEcsTaskDefinitionInferenceAcceleratorsDetails object + """ + device_name: Optional[NonEmptyString] + device_type: Optional[NonEmptyString] +AwsEcsTaskDefinitionInferenceAcceleratorsList = List[AwsEcsTaskDefinitionInferenceAcceleratorsDetails] +class AwsEcsTaskDefinitionPlacementConstraintsDetails(ASFFBaseModel): + """ +A placement constraint object to use for tasks. + +:param expression: A cluster query language expression to apply to the constraint. +:param type: The type of constraint. + +:return: AwsEcsTaskDefinitionPlacementConstraintsDetails object + """ + expression: Optional[NonEmptyString] + type: Optional[NonEmptyString] +AwsEcsTaskDefinitionPlacementConstraintsList = List[AwsEcsTaskDefinitionPlacementConstraintsDetails] +class AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails(ASFFBaseModel): + """ +A network configuration parameter to provide to the Container Network Interface (CNI) plugin. + +:param name: The name of the property. +:param value: The value of the property. + +:return: AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails object + """ + name: Optional[NonEmptyString] + value: Optional[NonEmptyString] +AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesList = List[AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails] +class AwsEcsTaskDefinitionProxyConfigurationDetails(ASFFBaseModel): + """ +The configuration details for the App Mesh proxy. + +:param container_name: The name of the container that will serve as the App Mesh proxy. +:param proxy_configuration_properties: The set of network configuration parameters to provide to the Container Network Interface (CNI) plugin, specified as key-value pairs. +:param type: The proxy type. + +:return: AwsEcsTaskDefinitionProxyConfigurationDetails object + """ + container_name: Optional[NonEmptyString] + proxy_configuration_properties: Optional[AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesList] + type: Optional[NonEmptyString] +class AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails(ASFFBaseModel): + """ +Information about a Docker volume. + +:param autoprovision: Whether to create the Docker volume automatically if it does not already exist. +:param driver: The Docker volume driver to use. +:param driver_opts: A map of Docker driver-specific options that are passed through. +:param labels: Custom metadata to add to the Docker volume. +:param scope: The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a task are provisioned automatically when the task starts and destroyed when the task stops. Docker volumes that are shared persist after the task stops. + +:return: AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails object + """ + autoprovision: Optional[Boolean] + driver: Optional[NonEmptyString] + driver_opts: Optional[FieldMap] + labels: Optional[FieldMap] + scope: Optional[NonEmptyString] +class AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails(ASFFBaseModel): + """ + + +:param access_point_id: The Amazon EFS access point identifier to use. +:param iam: Whether to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system. + +:return: AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails object + """ + access_point_id: Optional[NonEmptyString] + iam: Optional[NonEmptyString] +class AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails(ASFFBaseModel): + """ +Information about the Amazon Elastic File System file system that is used for task storage. + +:param authorization_config: The authorization configuration details for the Amazon EFS file system. +:param filesystem_id: The Amazon EFS file system identifier to use. +:param root_directory: The directory within the Amazon EFS file system to mount as the root directory inside the host. +:param transit_encryption: Whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. +:param transit_encryption_port: The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. + +:return: AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails object + """ + authorization_config: Optional[AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails] + filesystem_id: Optional[NonEmptyString] + root_directory: Optional[NonEmptyString] + transit_encryption: Optional[NonEmptyString] + transit_encryption_port: Optional[Integer] +class AwsEcsTaskDefinitionVolumesHostDetails(ASFFBaseModel): + """ +Information about a bind mount host volume. + +:param source_path: The path on the host container instance that is presented to the container. + +:return: AwsEcsTaskDefinitionVolumesHostDetails object + """ + source_path: Optional[NonEmptyString] +class AwsEcsTaskDefinitionVolumesDetails(ASFFBaseModel): + """ +A data volume to mount from another container. + +:param docker_volume_configuration: Information about a Docker volume. +:param efs_volume_configuration: Information about the Amazon Elastic File System file system that is used for task storage. +:param host: Information about a bind mount host volume. +:param name: The name of the data volume. + +:return: AwsEcsTaskDefinitionVolumesDetails object + """ + docker_volume_configuration: Optional[AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails] + efs_volume_configuration: Optional[AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails] + host: Optional[AwsEcsTaskDefinitionVolumesHostDetails] + name: Optional[NonEmptyString] +AwsEcsTaskDefinitionVolumesList = List[AwsEcsTaskDefinitionVolumesDetails] +class AwsEcsTaskDefinitionDetails(ASFFBaseModel): + """ +details about a task definition. A task definition describes the container and volume definitions of an Amazon Elastic Container Service task. + +:param container_definitions: The container definitions that describe the containers that make up the task. +:param cpu: The number of CPU units used by the task. +:param execution_role_arn: The ARN of the task execution role that grants the container agent permission to make API calls on behalf of the container user. +:param family: The name of a family that this task definition is registered to. +:param inference_accelerators: The Elastic Inference accelerators to use for the containers in the task. +:param ipc_mode: The IPC resource namespace to use for the containers in the task. +:param memory: The amount (in MiB) of memory used by the task. +:param network_mode: The Docker networking mode to use for the containers in the task. +:param pid_mode: The process namespace to use for the containers in the task. +:param placement_constraints: The placement constraint objects to use for tasks. +:param proxy_configuration: The configuration details for the App Mesh proxy. +:param requires_compatibilities: The task launch types that the task definition was validated against. +:param task_role_arn: The short name or ARN of the IAM role that grants containers in the task permission to call Amazon Web Services API operations on your behalf. +:param volumes: The data volume definitions for the task. + +:return: AwsEcsTaskDefinitionDetails object + """ + container_definitions: Optional[AwsEcsTaskDefinitionContainerDefinitionsList] + cpu: Optional[NonEmptyString] + execution_role_arn: Optional[NonEmptyString] + family: Optional[NonEmptyString] + inference_accelerators: Optional[AwsEcsTaskDefinitionInferenceAcceleratorsList] + ipc_mode: Optional[NonEmptyString] + memory: Optional[NonEmptyString] + network_mode: Optional[NonEmptyString] + pid_mode: Optional[NonEmptyString] + placement_constraints: Optional[AwsEcsTaskDefinitionPlacementConstraintsList] + proxy_configuration: Optional[AwsEcsTaskDefinitionProxyConfigurationDetails] + requires_compatibilities: Optional[NonEmptyStringList] + task_role_arn: Optional[NonEmptyString] + volumes: Optional[AwsEcsTaskDefinitionVolumesList] +class ContainerDetails(ASFFBaseModel): + """ +Container details related to a finding. + +:param name: The name of the container related to a finding. +:param image_id: The identifier of the image related to a finding. +:param image_name: The name of the image related to a finding. +:param launched_at: Indicates when the container started. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: ContainerDetails object + """ + name: Optional[NonEmptyString] + image_id: Optional[NonEmptyString] + image_name: Optional[NonEmptyString] + launched_at: Optional[Iso8601Timestamp] +class AwsRdsEventSubscriptionDetails(ASFFBaseModel): + """ +Details about an Amazon RDS event notification subscription. The subscription allows Amazon RDS to post events to an SNS topic. + +:param cust_subscription_id: The identifier of the account that is associated with the event notification subscription. +:param customer_aws_id: The identifier of the event notification subscription. +:param enabled: Whether the event notification subscription is enabled. +:param event_categories_list: The list of event categories for the event notification subscription. +:param event_subscription_arn: The ARN of the event notification subscription. +:param sns_topic_arn: The ARN of the SNS topic to post the event notifications to. +:param source_ids_list: A list of source identifiers for the event notification subscription. +:param source_type: The source type for the event notification subscription. +:param status: The status of the event notification subscription. Valid values: creating | modifying | deleting | active | no-permission | topic-not-exist +:param subscription_creation_time: The datetime when the event notification subscription was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsRdsEventSubscriptionDetails object + """ + cust_subscription_id: Optional[NonEmptyString] + customer_aws_id: Optional[NonEmptyString] + enabled: Optional[Boolean] + event_categories_list: Optional[NonEmptyStringList] + event_subscription_arn: Optional[NonEmptyString] + sns_topic_arn: Optional[NonEmptyString] + source_ids_list: Optional[NonEmptyStringList] + source_type: Optional[NonEmptyString] + status: Optional[NonEmptyString] + subscription_creation_time: Optional[NonEmptyString] +class AwsEcsServiceCapacityProviderStrategyDetails(ASFFBaseModel): + """ +Strategy item for the capacity provider strategy that the service uses. + +:param base: The minimum number of tasks to run on the capacity provider. Only one strategy item can specify a value for Base. The value must be between 0 and 100000. +:param capacity_provider: The short name of the capacity provider. +:param weight: The relative percentage of the total number of tasks that should use the capacity provider. If no weight is specified, the default value is 0. At least one capacity provider must have a weight greater than 0. The value can be between 0 and 1000. + +:return: AwsEcsServiceCapacityProviderStrategyDetails object + """ + base: Optional[Integer] + capacity_provider: Optional[NonEmptyString] + weight: Optional[Integer] +AwsEcsServiceCapacityProviderStrategyList = List[AwsEcsServiceCapacityProviderStrategyDetails] +class AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails(ASFFBaseModel): + """ +Determines whether a service deployment fails if a service cannot reach a steady state. + +:param enable: Whether to enable the deployment circuit breaker logic for the service. +:param rollback: Whether to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. + +:return: AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails object + """ + enable: Optional[Boolean] + rollback: Optional[Boolean] +class AwsEcsServiceDeploymentConfigurationDetails(ASFFBaseModel): + """ +Optional deployment parameters for the service. + +:param deployment_circuit_breaker: Determines whether a service deployment fails if a service cannot reach a steady state. +:param maximum_percent: For a service that uses the rolling update (ECS) deployment type, the maximum number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, and for tasks that use the EC2 launch type, when any container instances are in the DRAINING state. Provided as a percentage of the desired number of tasks. The default value is 200%. For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment types, and tasks that use the EC2 launch type, the maximum number of tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. For the Fargate launch type, the maximum percent value is not used. +:param minimum_healthy_percent: For a service that uses the rolling update (ECS) deployment type, the minimum number of tasks in a service that must remain in the RUNNING state during a deployment, and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Expressed as a percentage of the desired number of tasks. The default value is 100%. For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the minimum number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. For the Fargate launch type, the minimum healthy percent value is not used. + +:return: AwsEcsServiceDeploymentConfigurationDetails object + """ + deployment_circuit_breaker: Optional[AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails] + maximum_percent: Optional[Integer] + minimum_healthy_percent: Optional[Integer] +class AwsEcsServiceDeploymentControllerDetails(ASFFBaseModel): + """ +Information about the deployment controller type that the service uses. + +:param type: The rolling update (ECS) deployment type replaces the current running version of the container with the latest version. The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model that is powered by CodeDeploy. This deployment model a new deployment of a service can be verified before production traffic is sent to it. The external (EXTERNAL) deployment type allows the use of any third-party deployment controller for full control over the deployment process for an Amazon ECS service. Valid values: ECS | CODE_DEPLOY | EXTERNAL + +:return: AwsEcsServiceDeploymentControllerDetails object + """ + type: Optional[NonEmptyString] +class AwsEcsServiceLoadBalancersDetails(ASFFBaseModel): + """ +Information about a load balancer that the service uses. + +:param container_name: The name of the container to associate with the load balancer. +:param container_port: The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping. +:param load_balancer_name: The name of the load balancer to associate with the Amazon ECS service or task set. Only specified when using a Classic Load Balancer. For an Application Load Balancer or a Network Load Balancer, the load balancer name is omitted. +:param target_group_arn: The ARN of the Elastic Load Balancing target group or groups associated with a service or task set. Only specified when using an Application Load Balancer or a Network Load Balancer. For a Classic Load Balancer, the target group ARN is omitted. + +:return: AwsEcsServiceLoadBalancersDetails object + """ + container_name: Optional[NonEmptyString] + container_port: Optional[Integer] + load_balancer_name: Optional[NonEmptyString] + target_group_arn: Optional[NonEmptyString] +AwsEcsServiceLoadBalancersList = List[AwsEcsServiceLoadBalancersDetails] +class AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails(ASFFBaseModel): + """ +For tasks that use the awsvpc networking mode, the VPC subnet and security group configuration. + +:param assign_public_ip: Whether the task's elastic network interface receives a public IP address. The default value is DISABLED. Valid values: ENABLED | DISABLED +:param security_groups: The IDs of the security groups associated with the task or service. You can provide up to five security groups. +:param subnets: The IDs of the subnets associated with the task or service. You can provide up to 16 subnets. + +:return: AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails object + """ + assign_public_ip: Optional[NonEmptyString] + security_groups: Optional[NonEmptyStringList] + subnets: Optional[NonEmptyStringList] +class AwsEcsServiceNetworkConfigurationDetails(ASFFBaseModel): + """ +For tasks that use the awsvpc networking mode, the VPC subnet and security group configuration. + +:param aws_vpc_configuration: The VPC subnet and security group configuration. + +:return: AwsEcsServiceNetworkConfigurationDetails object + """ + aws_vpc_configuration: Optional[AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails] +class AwsEcsServicePlacementConstraintsDetails(ASFFBaseModel): + """ +A placement constraint for the tasks in the service. + +:param expression: A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is distinctInstance. +:param type: The type of constraint. Use distinctInstance to run each task in a particular group on a different container instance. Use memberOf to restrict the selection to a group of valid candidates. Valid values: distinctInstance | memberOf + +:return: AwsEcsServicePlacementConstraintsDetails object + """ + expression: Optional[NonEmptyString] + type: Optional[NonEmptyString] +AwsEcsServicePlacementConstraintsList = List[AwsEcsServicePlacementConstraintsDetails] +class AwsEcsServicePlacementStrategiesDetails(ASFFBaseModel): + """ +A placement strategy that determines how to place the tasks for the service. + +:param field: The field to apply the placement strategy against. For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone. For the binpack placement strategy, valid values are cpu and memory. For the random placement strategy, this attribute is not used. +:param type: The type of placement strategy. The random placement strategy randomly places tasks on available candidates. The spread placement strategy spreads placement across available candidates evenly based on the value of Field. The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified in Field. Valid values: random | spread | binpack + +:return: AwsEcsServicePlacementStrategiesDetails object + """ + field: Optional[NonEmptyString] + type: Optional[NonEmptyString] +AwsEcsServicePlacementStrategiesList = List[AwsEcsServicePlacementStrategiesDetails] +class AwsEcsServiceServiceRegistriesDetails(ASFFBaseModel): + """ +Information about a service discovery registry to assign to the service. + +:param container_name: The container name value to use for the service discovery service. If the task definition uses the bridge or host network mode, you must specify ContainerName and ContainerPort. If the task definition uses the awsvpc network mode and a type SRV DNS record, you must specify either ContainerName and ContainerPort, or Port , but not both. +:param container_port: The port value to use for the service discovery service. If the task definition uses the bridge or host network mode, you must specify ContainerName and ContainerPort. If the task definition uses the awsvpc network mode and a type SRV DNS record, you must specify either ContainerName and ContainerPort, or Port , but not both. +:param port: The port value to use for a service discovery service that specifies an SRV record. This field can be used if both the awsvpcawsvpc network mode and SRV records are used. +:param registry_arn: The ARN of the service registry. + +:return: AwsEcsServiceServiceRegistriesDetails object + """ + container_name: Optional[NonEmptyString] + container_port: Optional[Integer] + port: Optional[Integer] + registry_arn: Optional[NonEmptyString] +AwsEcsServiceServiceRegistriesList = List[AwsEcsServiceServiceRegistriesDetails] +class AwsEcsServiceDetails(ASFFBaseModel): + """ +Provides details about a service within an ECS cluster. + +:param capacity_provider_strategy: The capacity provider strategy that the service uses. +:param cluster: The ARN of the cluster that hosts the service. +:param deployment_configuration: Deployment parameters for the service. Includes the number of tasks that run and the order in which to start and stop tasks. +:param deployment_controller: Contains the deployment controller type that the service uses. +:param desired_count: The number of instantiations of the task definition to run on the service. +:param enable_ecs_managed_tags: Whether to enable Amazon ECS managed tags for the tasks in the service. +:param enable_execute_command: Whether the execute command functionality is enabled for the service. +:param health_check_grace_period_seconds: After a task starts, the amount of time in seconds that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks. +:param launch_type: The launch type that the service uses. Valid values: EC2 | FARGATE | EXTERNAL +:param load_balancers: Information about the load balancers that the service uses. +:param name: The name of the service. +:param network_configuration: For tasks that use the awsvpc networking mode, the VPC subnet and security group configuration. +:param placement_constraints: The placement constraints for the tasks in the service. +:param placement_strategies: Information about how tasks for the service are placed. +:param platform_version: The platform version on which to run the service. Only specified for tasks that are hosted on Fargate. If a platform version is not specified, the LATEST platform version is used by default. +:param propagate_tags: Indicates whether to propagate the tags from the task definition to the task or from the service to the task. If no value is provided, then tags are not propagated. Valid values: TASK_DEFINITION | SERVICE +:param role: The ARN of the IAM role that is associated with the service. The role allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer. +:param scheduling_strategy: The scheduling strategy to use for the service. The REPLICA scheduling strategy places and maintains the desired number of tasks across the cluster. By default, the service scheduler spreads tasks across Availability Zones. Task placement strategies and constraints are used to customize task placement decisions. The DAEMON scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that are specified in the cluster. The service scheduler also evaluates the task placement constraints for running tasks and stops tasks that do not meet the placement constraints. Valid values: REPLICA | DAEMON +:param service_arn: The ARN of the service. +:param service_name: The name of the service. The name can contain up to 255 characters. It can use letters, numbers, underscores, and hyphens. +:param service_registries: Information about the service discovery registries to assign to the service. +:param task_definition: The task definition to use for tasks in the service. + +:return: AwsEcsServiceDetails object + """ + capacity_provider_strategy: Optional[AwsEcsServiceCapacityProviderStrategyList] + cluster: Optional[NonEmptyString] + deployment_configuration: Optional[AwsEcsServiceDeploymentConfigurationDetails] + deployment_controller: Optional[AwsEcsServiceDeploymentControllerDetails] + desired_count: Optional[Integer] + enable_ecs_managed_tags: Optional[Boolean] + enable_execute_command: Optional[Boolean] + health_check_grace_period_seconds: Optional[Integer] + launch_type: Optional[NonEmptyString] + load_balancers: Optional[AwsEcsServiceLoadBalancersList] + name: Optional[NonEmptyString] + network_configuration: Optional[AwsEcsServiceNetworkConfigurationDetails] + placement_constraints: Optional[AwsEcsServicePlacementConstraintsList] + placement_strategies: Optional[AwsEcsServicePlacementStrategiesList] + platform_version: Optional[NonEmptyString] + propagate_tags: Optional[NonEmptyString] + role: Optional[NonEmptyString] + scheduling_strategy: Optional[NonEmptyString] + service_arn: Optional[NonEmptyString] + service_name: Optional[NonEmptyString] + service_registries: Optional[AwsEcsServiceServiceRegistriesList] + task_definition: Optional[NonEmptyString] +class AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails(ASFFBaseModel): + """ +Parameters that are used to automatically set up EBS volumes when an instance is launched. + +:param delete_on_termination: Whether to delete the volume when the instance is terminated. +:param encrypted: Whether to encrypt the volume. +:param iops: The number of input/output (I/O) operations per second (IOPS) to provision for the volume. Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used with standard, gp2, st1, or sc1 volumes. +:param snapshot_id: The snapshot ID of the volume to use. You must specify either VolumeSize or SnapshotId. +:param volume_size: The volume size, in GiBs. The following are the supported volumes sizes for each volume type: gp2 and gp3: 1-16,384 io1: 4-16,384 st1 and sc1: 125-16,384 standard: 1-1,024 You must specify either SnapshotId or VolumeSize. If you specify both SnapshotId and VolumeSize, the volume size must be equal or greater than the size of the snapshot. +:param volume_type: The volume type. + +:return: AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails object + """ + delete_on_termination: Optional[Boolean] + encrypted: Optional[Boolean] + iops: Optional[Integer] + snapshot_id: Optional[NonEmptyString] + volume_size: Optional[Integer] + volume_type: Optional[NonEmptyString] +class AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails(ASFFBaseModel): + """ +A block device for the instance. + +:param device_name: The device name that is exposed to the EC2 instance. For example, /dev/sdh or xvdh. +:param ebs: Parameters that are used to automatically set up Amazon EBS volumes when an instance is launched. +:param no_device: Whether to suppress the device that is included in the block device mapping of the Amazon Machine Image (AMI). If NoDevice is true, then you cannot specify Ebs.> +:param virtual_name: The name of the virtual device (for example, ephemeral0). You can provide either VirtualName or Ebs, but not both. + +:return: AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails object + """ + device_name: Optional[NonEmptyString] + ebs: Optional[AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails] + no_device: Optional[Boolean] + virtual_name: Optional[NonEmptyString] +AwsAutoScalingLaunchConfigurationBlockDeviceMappingsList = List[AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails] +class AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails(ASFFBaseModel): + """ +Information about the type of monitoring for instances in the group. + +:param enabled: If set to true, then instances in the group launch with detailed monitoring. If set to false, then instances in the group launch with basic monitoring. + +:return: AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails object + """ + enabled: Optional[Boolean] +class AwsAutoScalingLaunchConfigurationDetails(ASFFBaseModel): + """ +Details about a launch configuration. + +:param associate_public_ip_address: For Auto Scaling groups that run in a VPC, specifies whether to assign a public IP address to the group's instances. +:param block_device_mappings: Specifies the block devices for the instance. +:param classic_link_vpc_id: The identifier of a ClassicLink-enabled VPC that EC2-Classic instances are linked to. +:param classic_link_vpc_security_groups: The identifiers of one or more security groups for the VPC that is specified in ClassicLinkVPCId. +:param created_time: The creation date and time for the launch configuration. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param ebs_optimized: Whether the launch configuration is optimized for Amazon EBS I/O. +:param iam_instance_profile: The name or the ARN of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role. +:param image_id: The identifier of the Amazon Machine Image (AMI) that is used to launch EC2 instances. +:param instance_monitoring: Indicates the type of monitoring for instances in the group. +:param instance_type: The instance type for the instances. +:param kernel_id: The identifier of the kernel associated with the AMI. +:param key_name: The name of the key pair. +:param launch_configuration_name: The name of the launch configuration. +:param placement_tenancy: The tenancy of the instance. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC. +:param ramdisk_id: The identifier of the RAM disk associated with the AMI. +:param security_groups: The security groups to assign to the instances in the Auto Scaling group. +:param spot_price: The maximum hourly price to be paid for any Spot Instance that is launched to fulfill the request. +:param user_data: The user data to make available to the launched EC2 instances. Must be base64-encoded text. + +:return: AwsAutoScalingLaunchConfigurationDetails object + """ + associate_public_ip_address: Optional[Boolean] + block_device_mappings: Optional[AwsAutoScalingLaunchConfigurationBlockDeviceMappingsList] + classic_link_vpc_id: Optional[NonEmptyString] + classic_link_vpc_security_groups: Optional[NonEmptyStringList] + created_time: Optional[Iso8601Timestamp] + ebs_optimized: Optional[Boolean] + iam_instance_profile: Optional[NonEmptyString] + image_id: Optional[NonEmptyString] + instance_monitoring: Optional[AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails] + instance_type: Optional[NonEmptyString] + kernel_id: Optional[NonEmptyString] + key_name: Optional[NonEmptyString] + launch_configuration_name: Optional[NonEmptyString] + placement_tenancy: Optional[NonEmptyString] + ramdisk_id: Optional[NonEmptyString] + security_groups: Optional[NonEmptyStringList] + spot_price: Optional[NonEmptyString] + user_data: Optional[NonEmptyString] +class AwsEc2VpnConnectionVgwTelemetryDetails(ASFFBaseModel): + """ +Information about the VPN tunnel. + +:param accepted_route_count: The number of accepted routes. +:param certificate_arn: The ARN of the VPN tunnel endpoint certificate. +:param last_status_change: The date and time of the last change in status. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param outside_ip_address: The Internet-routable IP address of the virtual private gateway's outside interface. +:param status: The status of the VPN tunnel. +:param status_message: If an error occurs, a description of the error. + +:return: AwsEc2VpnConnectionVgwTelemetryDetails object + """ + accepted_route_count: Optional[Integer] + certificate_arn: Optional[NonEmptyString] + last_status_change: Optional[NonEmptyString] + outside_ip_address: Optional[NonEmptyString] + status: Optional[NonEmptyString] + status_message: Optional[NonEmptyString] +AwsEc2VpnConnectionVgwTelemetryList = List[AwsEc2VpnConnectionVgwTelemetryDetails] +IntegerList = List[Integer] +class AwsEc2VpnConnectionOptionsTunnelOptionsDetails(ASFFBaseModel): + """ +The VPN tunnel options. + +:param dpd_timeout_seconds: The number of seconds after which a Dead Peer Detection (DPD) timeout occurs. +:param ike_versions: The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel. +:param outside_ip_address: The external IP address of the VPN tunnel. +:param phase1_dh_group_numbers: The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations. +:param phase1_encryption_algorithms: The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations. +:param phase1_integrity_algorithms: The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations. +:param phase1_lifetime_seconds: The lifetime for phase 1 of the IKE negotiation, in seconds. +:param phase2_dh_group_numbers: The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations. +:param phase2_encryption_algorithms: The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations. +:param phase2_integrity_algorithms: The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations. +:param phase2_lifetime_seconds: The lifetime for phase 2 of the IKE negotiation, in seconds. +:param pre_shared_key: The preshared key to establish initial authentication between the virtual private gateway and the customer gateway. +:param rekey_fuzz_percentage: The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected. +:param rekey_margin_time_seconds: The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of the VPN connection performs an IKE rekey. +:param replay_window_size: The number of packets in an IKE replay window. +:param tunnel_inside_cidr: The range of inside IPv4 addresses for the tunnel. + +:return: AwsEc2VpnConnectionOptionsTunnelOptionsDetails object + """ + dpd_timeout_seconds: Optional[Integer] + ike_versions: Optional[NonEmptyStringList] + outside_ip_address: Optional[NonEmptyString] + phase1_dh_group_numbers: Optional[IntegerList] + phase1_encryption_algorithms: Optional[NonEmptyStringList] + phase1_integrity_algorithms: Optional[NonEmptyStringList] + phase1_lifetime_seconds: Optional[Integer] + phase2_dh_group_numbers: Optional[IntegerList] + phase2_encryption_algorithms: Optional[NonEmptyStringList] + phase2_integrity_algorithms: Optional[NonEmptyStringList] + phase2_lifetime_seconds: Optional[Integer] + pre_shared_key: Optional[NonEmptyString] + rekey_fuzz_percentage: Optional[Integer] + rekey_margin_time_seconds: Optional[Integer] + replay_window_size: Optional[Integer] + tunnel_inside_cidr: Optional[NonEmptyString] +AwsEc2VpnConnectionOptionsTunnelOptionsList = List[AwsEc2VpnConnectionOptionsTunnelOptionsDetails] +class AwsEc2VpnConnectionOptionsDetails(ASFFBaseModel): + """ +VPN connection options. + +:param static_routes_only: Whether the VPN connection uses static routes only. +:param tunnel_options: The VPN tunnel options. + +:return: AwsEc2VpnConnectionOptionsDetails object + """ + static_routes_only: Optional[Boolean] + tunnel_options: Optional[AwsEc2VpnConnectionOptionsTunnelOptionsList] +class AwsEc2VpnConnectionRoutesDetails(ASFFBaseModel): + """ +A static routes associated with the VPN connection. + +:param destination_cidr_block: The CIDR block associated with the local subnet of the customer data center. +:param state: The current state of the static route. + +:return: AwsEc2VpnConnectionRoutesDetails object + """ + destination_cidr_block: Optional[NonEmptyString] + state: Optional[NonEmptyString] +AwsEc2VpnConnectionRoutesList = List[AwsEc2VpnConnectionRoutesDetails] +class AwsEc2VpnConnectionDetails(ASFFBaseModel): + """ +Details about an Amazon EC2 VPN connection. + +:param vpn_connection_id: The identifier of the VPN connection. +:param state: The current state of the VPN connection. +:param customer_gateway_id: The identifier of the customer gateway that is at your end of the VPN connection. +:param customer_gateway_configuration: The configuration information for the VPN connection's customer gateway, in the native XML format. +:param type: The type of VPN connection. +:param vpn_gateway_id: The identifier of the virtual private gateway that is at the Amazon Web Services side of the VPN connection. +:param category: The category of the VPN connection. VPN indicates an Amazon Web Services VPN connection. VPN-Classic indicates an Amazon Web Services Classic VPN connection. +:param vgw_telemetry: Information about the VPN tunnel. +:param options: The VPN connection options. +:param routes: The static routes that are associated with the VPN connection. +:param transit_gateway_id: The identifier of the transit gateway that is associated with the VPN connection. + +:return: AwsEc2VpnConnectionDetails object + """ + vpn_connection_id: Optional[NonEmptyString] + state: Optional[NonEmptyString] + customer_gateway_id: Optional[NonEmptyString] + customer_gateway_configuration: Optional[NonEmptyString] + type: Optional[NonEmptyString] + vpn_gateway_id: Optional[NonEmptyString] + category: Optional[NonEmptyString] + vgw_telemetry: Optional[AwsEc2VpnConnectionVgwTelemetryList] + options: Optional[AwsEc2VpnConnectionOptionsDetails] + routes: Optional[AwsEc2VpnConnectionRoutesList] + transit_gateway_id: Optional[NonEmptyString] +class AwsEcrContainerImageDetails(ASFFBaseModel): + """ +Information about an Amazon ECR image. + +:param registry_id: The Amazon Web Services account identifier that is associated with the registry that the image belongs to. +:param repository_name: The name of the repository that the image belongs to. +:param architecture: The architecture of the image. +:param image_digest: The sha256 digest of the image manifest. +:param image_tags: The list of tags that are associated with the image. +:param image_published_at: The date and time when the image was pushed to the repository. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: AwsEcrContainerImageDetails object + """ + registry_id: Optional[NonEmptyString] + repository_name: Optional[NonEmptyString] + architecture: Optional[NonEmptyString] + image_digest: Optional[NonEmptyString] + image_tags: Optional[NonEmptyStringList] + image_published_at: Optional[NonEmptyString] +class AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails(ASFFBaseModel): + """ +Details about the configuration for encryption at rest for the OpenSearch domain. + +:param enabled: Whether encryption at rest is enabled. +:param kms_key_id: The KMS key ID. + +:return: AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails object + """ + enabled: Optional[Boolean] + kms_key_id: Optional[NonEmptyString] +class AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails(ASFFBaseModel): + """ +Provides details about the configuration for node-to-node encryption. + +:param enabled: Whether node-to-node encryption is enabled. + +:return: AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails object + """ + enabled: Optional[Boolean] +class AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails(ASFFBaseModel): + """ +Provides information about the state of the domain relative to the latest service software. + +:param automated_update_date: The epoch time when the deployment window closes for required updates. After this time, OpenSearch Service schedules the software upgrade automatically. +:param cancellable: Whether a request to update the domain can be canceled. +:param current_version: The version of the service software that is currently installed on the domain. +:param description: A more detailed description of the service software status. +:param new_version: The most recent version of the service software. +:param update_available: Whether a service software update is available for the domain. +:param update_status: The status of the service software update. +:param optional_deployment: Whether the service software update is optional. + +:return: AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails object + """ + automated_update_date: Optional[NonEmptyString] + cancellable: Optional[Boolean] + current_version: Optional[NonEmptyString] + description: Optional[NonEmptyString] + new_version: Optional[NonEmptyString] + update_available: Optional[Boolean] + update_status: Optional[NonEmptyString] + optional_deployment: Optional[Boolean] +class AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails(ASFFBaseModel): + """ +Configuration options for zone awareness. + +:param availability_zone_count: The number of Availability Zones that the domain uses. Valid values are 2 and 3. The default is 2. + +:return: AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails object + """ + availability_zone_count: Optional[Integer] +class AwsOpenSearchServiceDomainClusterConfigDetails(ASFFBaseModel): + """ +Details about the configuration of an OpenSearch cluster. + +:param instance_count: The number of data nodes to use in the OpenSearch domain. +:param warm_enabled: Whether UltraWarm is enabled. +:param warm_count: The number of UltraWarm instances. +:param dedicated_master_enabled: Whether to use a dedicated master node for the OpenSearch domain. A dedicated master node performs cluster management tasks, but does not hold data or respond to data upload requests. +:param zone_awareness_config: Configuration options for zone awareness. Provided if ZoneAwarenessEnabled is true. +:param dedicated_master_count: The number of instances to use for the master node. If this attribute is specified, then DedicatedMasterEnabled must be true. +:param instance_type: The instance type for your data nodes. +:param warm_type: The type of UltraWarm instance. +:param zone_awareness_enabled: Whether to enable zone awareness for the OpenSearch domain. When zone awareness is enabled, OpenSearch Service allocates the cluster's nodes and replica index shards across Availability Zones (AZs) in the same Region. This prevents data loss and minimizes downtime if a node or data center fails. +:param dedicated_master_type: The hardware configuration of the computer that hosts the dedicated master node. If this attribute is specified, then DedicatedMasterEnabled must be true. + +:return: AwsOpenSearchServiceDomainClusterConfigDetails object + """ + instance_count: Optional[Integer] + warm_enabled: Optional[Boolean] + warm_count: Optional[Integer] + dedicated_master_enabled: Optional[Boolean] + zone_awareness_config: Optional[AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails] + dedicated_master_count: Optional[Integer] + instance_type: Optional[NonEmptyString] + warm_type: Optional[NonEmptyString] + zone_awareness_enabled: Optional[Boolean] + dedicated_master_type: Optional[NonEmptyString] +class AwsOpenSearchServiceDomainDomainEndpointOptionsDetails(ASFFBaseModel): + """ +Information about additional options for the domain endpoint. + +:param custom_endpoint_certificate_arn: The ARN for the security certificate. The certificate is managed in ACM. +:param custom_endpoint_enabled: Whether to enable a custom endpoint for the domain. +:param enforce_https: Whether to require that all traffic to the domain arrive over HTTPS. +:param custom_endpoint: The fully qualified URL for the custom endpoint. +:param tls_security_policy: The TLS security policy to apply to the HTTPS endpoint of the OpenSearch domain. + +:return: AwsOpenSearchServiceDomainDomainEndpointOptionsDetails object + """ + custom_endpoint_certificate_arn: Optional[NonEmptyString] + custom_endpoint_enabled: Optional[Boolean] + enforce_https: Optional[Boolean] + custom_endpoint: Optional[NonEmptyString] + tls_security_policy: Optional[NonEmptyString] +class AwsOpenSearchServiceDomainVpcOptionsDetails(ASFFBaseModel): + """ +Contains information that OpenSearch Service derives based on the VPCOptions for the domain. + +:param security_group_ids: The list of security group IDs that are associated with the VPC endpoints for the domain. +:param subnet_ids: A list of subnet IDs that are associated with the VPC endpoints for the domain. + +:return: AwsOpenSearchServiceDomainVpcOptionsDetails object + """ + security_group_ids: Optional[NonEmptyStringList] + subnet_ids: Optional[NonEmptyStringList] +class AwsOpenSearchServiceDomainLogPublishingOption(ASFFBaseModel): + """ +Configuration details for a log publishing option. + +:param cloud_watch_logs_log_group_arn: The ARN of the CloudWatch Logs group to publish the logs to. +:param enabled: Whether the log publishing is enabled. + +:return: AwsOpenSearchServiceDomainLogPublishingOption object + """ + cloud_watch_logs_log_group_arn: Optional[NonEmptyString] + enabled: Optional[Boolean] +class AwsOpenSearchServiceDomainLogPublishingOptionsDetails(ASFFBaseModel): + """ +Configures the CloudWatch Logs to publish for the OpenSearch domain. + +:param index_slow_logs: Configures the OpenSearch index logs publishing. +:param search_slow_logs: Configures the OpenSearch search slow log publishing. +:param audit_logs: Configures the OpenSearch audit logs publishing. + +:return: AwsOpenSearchServiceDomainLogPublishingOptionsDetails object + """ + index_slow_logs: Optional[AwsOpenSearchServiceDomainLogPublishingOption] + search_slow_logs: Optional[AwsOpenSearchServiceDomainLogPublishingOption] + audit_logs: Optional[AwsOpenSearchServiceDomainLogPublishingOption] +class AwsOpenSearchServiceDomainDetails(ASFFBaseModel): + """ +Information about an Amazon OpenSearch Service domain. + +:param arn: The ARN of the OpenSearch Service domain. +:param access_policies: IAM policy document that specifies the access policies for the OpenSearch Service domain. +:param domain_name: The name of the endpoint. +:param id: The identifier of the domain. +:param domain_endpoint: The domain endpoint. +:param engine_version: The version of the domain engine. +:param encryption_at_rest_options: Details about the configuration for encryption at rest. +:param node_to_node_encryption_options: Details about the configuration for node-to-node encryption. +:param service_software_options: Information about the status of a domain relative to the latest service software. +:param cluster_config: Details about the configuration of an OpenSearch cluster. +:param domain_endpoint_options: Additional options for the domain endpoint. +:param vpc_options: Information that OpenSearch Service derives based on VPCOptions for the domain. +:param log_publishing_options: Configures the CloudWatch Logs to publish for the OpenSearch domain. +:param domain_endpoints: The domain endpoints. Used if the OpenSearch domain resides in a VPC. This is a map of key-value pairs. The key is always vpc. The value is the endpoint. + +:return: AwsOpenSearchServiceDomainDetails object + """ + arn: Optional[NonEmptyString] + access_policies: Optional[NonEmptyString] + domain_name: Optional[NonEmptyString] + id: Optional[NonEmptyString] + domain_endpoint: Optional[NonEmptyString] + engine_version: Optional[NonEmptyString] + encryption_at_rest_options: Optional[AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails] + node_to_node_encryption_options: Optional[AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails] + service_software_options: Optional[AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails] + cluster_config: Optional[AwsOpenSearchServiceDomainClusterConfigDetails] + domain_endpoint_options: Optional[AwsOpenSearchServiceDomainDomainEndpointOptionsDetails] + vpc_options: Optional[AwsOpenSearchServiceDomainVpcOptionsDetails] + log_publishing_options: Optional[AwsOpenSearchServiceDomainLogPublishingOptionsDetails] + domain_endpoints: Optional[FieldMap] +class AwsEc2VpcEndpointServiceServiceTypeDetails(ASFFBaseModel): + """ +The service type information for a VPC endpoint service. + +:param service_type: The type of service. + +:return: AwsEc2VpcEndpointServiceServiceTypeDetails object + """ + service_type: Optional[NonEmptyString] +AwsEc2VpcEndpointServiceServiceTypeList = List[AwsEc2VpcEndpointServiceServiceTypeDetails] +class AwsEc2VpcEndpointServiceDetails(ASFFBaseModel): + """ +Contains details about the service configuration for a VPC endpoint service. + +:param acceptance_required: Whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted. +:param availability_zones: The Availability Zones where the service is available. +:param base_endpoint_dns_names: The DNS names for the service. +:param manages_vpc_endpoints: Whether the service manages its VPC endpoints. +:param gateway_load_balancer_arns: The ARNs of the Gateway Load Balancers for the service. +:param network_load_balancer_arns: The ARNs of the Network Load Balancers for the service. +:param private_dns_name: The private DNS name for the service. +:param service_id: The identifier of the service. +:param service_name: The name of the service. +:param service_state: The current state of the service. +:param service_type: The types for the service. + +:return: AwsEc2VpcEndpointServiceDetails object + """ + acceptance_required: Optional[Boolean] + availability_zones: Optional[NonEmptyStringList] + base_endpoint_dns_names: Optional[NonEmptyStringList] + manages_vpc_endpoints: Optional[Boolean] + gateway_load_balancer_arns: Optional[NonEmptyStringList] + network_load_balancer_arns: Optional[NonEmptyStringList] + private_dns_name: Optional[NonEmptyString] + service_id: Optional[NonEmptyString] + service_name: Optional[NonEmptyString] + service_state: Optional[NonEmptyString] + service_type: Optional[AwsEc2VpcEndpointServiceServiceTypeList] +class AwsXrayEncryptionConfigDetails(ASFFBaseModel): + """ +Information about the encryption configuration for X-Ray. + +:param key_id: The identifier of the KMS key that is used for encryption. Provided if Type is KMS. +:param status: The current status of the encryption configuration. When Status is UPDATING, X-Ray might use both the old and new encryption. +:param type: The type of encryption. KMS indicates that the encryption uses KMS keys. NONE indicates to use the default encryption. + +:return: AwsXrayEncryptionConfigDetails object + """ + key_id: Optional[NonEmptyString] + status: Optional[NonEmptyString] + type: Optional[NonEmptyString] +class AwsWafRateBasedRuleMatchPredicate(ASFFBaseModel): + """ +A match predicate. A predicate might look for characteristics such as specific IP addresses, geographic locations, or sizes. + +:param data_id: The unique identifier for the predicate. +:param negated: If set to true, then the rule actions are performed on requests that match the predicate settings. If set to false, then the rule actions are performed on all requests except those that match the predicate settings. +:param type: The type of predicate. + +:return: AwsWafRateBasedRuleMatchPredicate object + """ + data_id: Optional[NonEmptyString] + negated: Optional[Boolean] + type: Optional[NonEmptyString] +AwsWafRateBasedRuleMatchPredicateList = List[AwsWafRateBasedRuleMatchPredicate] +class AwsWafRateBasedRuleDetails(ASFFBaseModel): + """ +Details about a rate-based rule for global resources. A rate-based rule provides settings to indicate when to allow, block, or count a request. Rate-based rules include the number of requests that arrive over a specified period of time. + +:param metric_name: The name of the metrics for the rate-based rule. +:param name: The name of the rate-based rule. +:param rate_key: The field that WAF uses to determine whether requests are likely arriving from single source and are subject to rate monitoring. +:param rate_limit: The maximum number of requests that have an identical value for the field specified in RateKey that are allowed within a five-minute period. If the number of requests exceeds RateLimit and the other predicates specified in the rule are met, WAF triggers the action for the rule. +:param rule_id: The unique identifier for the rate-based rule. +:param match_predicates: The predicates to include in the rate-based rule. + +:return: AwsWafRateBasedRuleDetails object + """ + metric_name: Optional[NonEmptyString] + name: Optional[NonEmptyString] + rate_key: Optional[NonEmptyString] + rate_limit: Optional[Long] + rule_id: Optional[NonEmptyString] + match_predicates: Optional[AwsWafRateBasedRuleMatchPredicateList] +class AwsWafRegionalRateBasedRuleMatchPredicate(ASFFBaseModel): + """ +Details for a match predicate. A predicate might look for characteristics such as specific IP addresses, geographic locations, or sizes. + +:param data_id: The unique identifier for the predicate. +:param negated: If set to true, then the rule actions are performed on requests that match the predicate settings. If set to false, then the rule actions are performed on all requests except those that match the predicate settings. +:param type: The type of predicate. + +:return: AwsWafRegionalRateBasedRuleMatchPredicate object + """ + data_id: Optional[NonEmptyString] + negated: Optional[Boolean] + type: Optional[NonEmptyString] +AwsWafRegionalRateBasedRuleMatchPredicateList = List[AwsWafRegionalRateBasedRuleMatchPredicate] +class AwsWafRegionalRateBasedRuleDetails(ASFFBaseModel): + """ +contains details about a rate-based rule for Regional resources. A rate-based rule provides settings to indicate when to allow, block, or count a request. Rate-based rules include the number of requests that arrive over a specified period of time. + +:param metric_name: The name of the metrics for the rate-based rule. +:param name: The name of the rate-based rule. +:param rate_key: The field that WAF uses to determine whether requests are likely arriving from single source and are subject to rate monitoring. +:param rate_limit: The maximum number of requests that have an identical value for the field specified in RateKey that are allowed within a five-minute period. If the number of requests exceeds RateLimit and the other predicates specified in the rule are met, WAF triggers the action for the rule. +:param rule_id: The unique identifier for the rate-based rule. +:param match_predicates: The predicates to include in the rate-based rule. + +:return: AwsWafRegionalRateBasedRuleDetails object + """ + metric_name: Optional[NonEmptyString] + name: Optional[NonEmptyString] + rate_key: Optional[NonEmptyString] + rate_limit: Optional[Long] + rule_id: Optional[NonEmptyString] + match_predicates: Optional[AwsWafRegionalRateBasedRuleMatchPredicateList] +class AwsEcrRepositoryImageScanningConfigurationDetails(ASFFBaseModel): + """ +The image scanning configuration for a repository. + +:param scan_on_push: Whether to scan images after they are pushed to a repository. + +:return: AwsEcrRepositoryImageScanningConfigurationDetails object + """ + scan_on_push: Optional[Boolean] +class AwsEcrRepositoryLifecyclePolicyDetails(ASFFBaseModel): + """ +Information about the lifecycle policy for the repository. + +:param lifecycle_policy_text: The text of the lifecycle policy. +:param registry_id: The Amazon Web Services account identifier that is associated with the registry that contains the repository. + +:return: AwsEcrRepositoryLifecyclePolicyDetails object + """ + lifecycle_policy_text: Optional[NonEmptyString] + registry_id: Optional[NonEmptyString] +class AwsEcrRepositoryDetails(ASFFBaseModel): + """ +Provides information about an Amazon Elastic Container Registry repository. + +:param arn: The ARN of the repository. +:param image_scanning_configuration: The image scanning configuration for a repository. +:param image_tag_mutability: The tag mutability setting for the repository. +:param lifecycle_policy: Information about the lifecycle policy for the repository. +:param repository_name: The name of the repository. +:param repository_policy_text: The text of the repository policy. + +:return: AwsEcrRepositoryDetails object + """ + arn: Optional[NonEmptyString] + image_scanning_configuration: Optional[AwsEcrRepositoryImageScanningConfigurationDetails] + image_tag_mutability: Optional[NonEmptyString] + lifecycle_policy: Optional[AwsEcrRepositoryLifecyclePolicyDetails] + repository_name: Optional[NonEmptyString] + repository_policy_text: Optional[NonEmptyString] +class AwsEksClusterResourcesVpcConfigDetails(ASFFBaseModel): + """ +Information about the VPC configuration used by the cluster control plane. + +:param security_group_ids: The security groups that are associated with the cross-account elastic network interfaces that are used to allow communication between your nodes and the Amazon EKS control plane. +:param subnet_ids: The subnets that are associated with the cluster. + +:return: AwsEksClusterResourcesVpcConfigDetails object + """ + security_group_ids: Optional[NonEmptyStringList] + subnet_ids: Optional[NonEmptyStringList] +class AwsEksClusterLoggingClusterLoggingDetails(ASFFBaseModel): + """ +Details for a cluster logging configuration. + +:param enabled: Whether the logging types that are listed in Types are enabled. +:param types: A list of logging types. + +:return: AwsEksClusterLoggingClusterLoggingDetails object + """ + enabled: Optional[Boolean] + types: Optional[NonEmptyStringList] +AwsEksClusterLoggingClusterLoggingList = List[AwsEksClusterLoggingClusterLoggingDetails] +class AwsEksClusterLoggingDetails(ASFFBaseModel): + """ +The logging configuration for an Amazon EKS cluster. + +:param cluster_logging: Cluster logging configurations. + +:return: AwsEksClusterLoggingDetails object + """ + cluster_logging: Optional[AwsEksClusterLoggingClusterLoggingList] +class AwsEksClusterDetails(ASFFBaseModel): + """ +Provides details about an Amazon EKS cluster. + +:param arn: The ARN of the cluster. +:param certificate_authority_data: The certificate authority data for the cluster. +:param cluster_status: The status of the cluster. +:param endpoint: The endpoint for the Amazon EKS API server. +:param name: The name of the cluster. +:param resources_vpc_config: The VPC configuration used by the cluster control plane. +:param role_arn: The ARN of the IAM role that provides permissions for the Amazon EKS control plane to make calls to Amazon Web Services API operations on your behalf. +:param version: The Amazon EKS server version for the cluster. +:param logging: The logging configuration for the cluster. + +:return: AwsEksClusterDetails object + """ + arn: Optional[NonEmptyString] + certificate_authority_data: Optional[NonEmptyString] + cluster_status: Optional[NonEmptyString] + endpoint: Optional[NonEmptyString] + name: Optional[NonEmptyString] + resources_vpc_config: Optional[AwsEksClusterResourcesVpcConfigDetails] + role_arn: Optional[NonEmptyString] + version: Optional[NonEmptyString] + logging: Optional[AwsEksClusterLoggingDetails] +class ResourceDetails(ASFFBaseModel): + """ +Additional details about a resource related to a finding. To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details. If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields. You also use the Other object to populate the details when the selected type does not have a corresponding object. + +:param aws_auto_scaling_auto_scaling_group: Details for an autoscaling group. +:param aws_code_build_project: Details for an CodeBuild project. +:param aws_cloud_front_distribution: Details about a CloudFront distribution. +:param aws_ec2_instance: Details about an EC2 instance related to a finding. +:param aws_ec2_network_interface: Details for an EC2 network interface. +:param aws_ec2_security_group: Details for an EC2 security group. +:param aws_ec2_volume: Details for an EC2 volume. +:param aws_ec2_vpc: Details for an EC2 VPC. +:param aws_ec2_eip: Details about an Elastic IP address. +:param aws_ec2_subnet: Details about a subnet in Amazon EC2. +:param aws_ec2_network_acl: Details about an EC2 network access control list (ACL). +:param aws_elbv2_load_balancer: Details about a load balancer. +:param aws_elastic_beanstalk_environment: Details about an Elastic Beanstalk environment. +:param aws_elasticsearch_domain: Details for an Elasticsearch domain. +:param aws_s3_bucket: Details about an S3 bucket related to a finding. +:param aws_s3_account_public_access_block: Details about the Amazon S3 Public Access Block configuration for an account. +:param aws_s3_object: Details about an S3 object related to a finding. +:param aws_secrets_manager_secret: Details about a Secrets Manager secret. +:param aws_iam_access_key: Details about an IAM access key related to a finding. +:param aws_iam_user: Details about an IAM user. +:param aws_iam_policy: Details about an IAM permissions policy. +:param aws_api_gateway_v2_stage: Provides information about a version 2 stage for Amazon API Gateway. +:param aws_api_gateway_v2_api: Provides information about a version 2 API in Amazon API Gateway. +:param aws_dynamo_db_table: Details about a DynamoDB table. +:param aws_api_gateway_stage: Provides information about a version 1 Amazon API Gateway stage. +:param aws_api_gateway_rest_api: Provides information about a REST API in version 1 of Amazon API Gateway. +:param aws_cloud_trail_trail: Provides details about a CloudTrail trail. +:param aws_ssm_patch_compliance: Provides information about the state of a patch on an instance based on the patch baseline that was used to patch the instance. +:param aws_certificate_manager_certificate: Provides details about an Certificate Manager certificate. +:param aws_redshift_cluster: Contains details about an Amazon Redshift cluster. +:param aws_elb_load_balancer: Contains details about a Classic Load Balancer. +:param aws_iam_group: Contains details about an IAM group. +:param aws_iam_role: Details about an IAM role. +:param aws_kms_key: Details about an KMS key. +:param aws_lambda_function: Details about a Lambda function. +:param aws_lambda_layer_version: Details for a Lambda layer version. +:param aws_rds_db_instance: Details about an Amazon RDS database instance. +:param aws_sns_topic: Details about an SNS topic. +:param aws_sqs_queue: Details about an SQS queue. +:param aws_waf_web_acl: Details for an WAF WebACL. +:param aws_rds_db_snapshot: Details about an Amazon RDS database snapshot. +:param aws_rds_db_cluster_snapshot: Details about an Amazon RDS database cluster snapshot. +:param aws_rds_db_cluster: Details about an Amazon RDS database cluster. +:param aws_ecs_cluster: Details about an ECS cluster. +:param aws_ecs_task_definition: Details about a task definition. A task definition describes the container and volume definitions of an Amazon Elastic Container Service task. +:param container: Details about a container resource related to a finding. +:param other: Details about a resource that are not available in a type-specific details object. Use the Other object in the following cases. The type-specific object does not contain all of the fields that you want to populate. In this case, first use the type-specific object to populate those fields. Use the Other object to populate the fields that are missing from the type-specific object. The resource type does not have a corresponding object. This includes resources for which the type is Other. +:param aws_rds_event_subscription: Details about an RDS event notification subscription. +:param aws_ecs_service: Details about a service within an ECS cluster. +:param aws_auto_scaling_launch_configuration: Provides details about a launch configuration. +:param aws_ec2_vpn_connection: Details about an EC2 VPN connection. +:param aws_ecr_container_image: Information about an Amazon ECR image. +:param aws_open_search_service_domain: Details about an Amazon OpenSearch Service domain. +:param aws_ec2_vpc_endpoint_service: Details about the service configuration for a VPC endpoint service. +:param aws_xray_encryption_config: Information about the encryption configuration for X-Ray. +:param aws_waf_rate_based_rule: Details about a rate-based rule for global resources. +:param aws_waf_regional_rate_based_rule: Details about a rate-based rule for Regional resources. +:param aws_ecr_repository: Information about an Amazon Elastic Container Registry repository. +:param aws_eks_cluster: Details about an Amazon EKS cluster. + +:return: ResourceDetails object + """ + aws_auto_scaling_auto_scaling_group: Optional[AwsAutoScalingAutoScalingGroupDetails] + aws_code_build_project: Optional[AwsCodeBuildProjectDetails] + aws_cloud_front_distribution: Optional[AwsCloudFrontDistributionDetails] + aws_ec2_instance: Optional[AwsEc2InstanceDetails] + aws_ec2_network_interface: Optional[AwsEc2NetworkInterfaceDetails] + aws_ec2_security_group: Optional[AwsEc2SecurityGroupDetails] + aws_ec2_volume: Optional[AwsEc2VolumeDetails] + aws_ec2_vpc: Optional[AwsEc2VpcDetails] + aws_ec2_eip: Optional[AwsEc2EipDetails] + aws_ec2_subnet: Optional[AwsEc2SubnetDetails] + aws_ec2_network_acl: Optional[AwsEc2NetworkAclDetails] + aws_elbv2_load_balancer: Optional[AwsElbv2LoadBalancerDetails] + aws_elastic_beanstalk_environment: Optional[AwsElasticBeanstalkEnvironmentDetails] + aws_elasticsearch_domain: Optional[AwsElasticsearchDomainDetails] + aws_s3_bucket: Optional[AwsS3BucketDetails] + aws_s3_account_public_access_block: Optional[AwsS3AccountPublicAccessBlockDetails] + aws_s3_object: Optional[AwsS3ObjectDetails] + aws_secrets_manager_secret: Optional[AwsSecretsManagerSecretDetails] + aws_iam_access_key: Optional[AwsIamAccessKeyDetails] + aws_iam_user: Optional[AwsIamUserDetails] + aws_iam_policy: Optional[AwsIamPolicyDetails] + aws_api_gateway_v2_stage: Optional[AwsApiGatewayV2StageDetails] + aws_api_gateway_v2_api: Optional[AwsApiGatewayV2ApiDetails] + aws_dynamo_db_table: Optional[AwsDynamoDbTableDetails] + aws_api_gateway_stage: Optional[AwsApiGatewayStageDetails] + aws_api_gateway_rest_api: Optional[AwsApiGatewayRestApiDetails] + aws_cloud_trail_trail: Optional[AwsCloudTrailTrailDetails] + aws_ssm_patch_compliance: Optional[AwsSsmPatchComplianceDetails] + aws_certificate_manager_certificate: Optional[AwsCertificateManagerCertificateDetails] + aws_redshift_cluster: Optional[AwsRedshiftClusterDetails] + aws_elb_load_balancer: Optional[AwsElbLoadBalancerDetails] + aws_iam_group: Optional[AwsIamGroupDetails] + aws_iam_role: Optional[AwsIamRoleDetails] + aws_kms_key: Optional[AwsKmsKeyDetails] + aws_lambda_function: Optional[AwsLambdaFunctionDetails] + aws_lambda_layer_version: Optional[AwsLambdaLayerVersionDetails] + aws_rds_db_instance: Optional[AwsRdsDbInstanceDetails] + aws_sns_topic: Optional[AwsSnsTopicDetails] + aws_sqs_queue: Optional[AwsSqsQueueDetails] + aws_waf_web_acl: Optional[AwsWafWebAclDetails] + aws_rds_db_snapshot: Optional[AwsRdsDbSnapshotDetails] + aws_rds_db_cluster_snapshot: Optional[AwsRdsDbClusterSnapshotDetails] + aws_rds_db_cluster: Optional[AwsRdsDbClusterDetails] + aws_ecs_cluster: Optional[AwsEcsClusterDetails] + aws_ecs_task_definition: Optional[AwsEcsTaskDefinitionDetails] + container: Optional[ContainerDetails] + other: Optional[FieldMap] + aws_rds_event_subscription: Optional[AwsRdsEventSubscriptionDetails] + aws_ecs_service: Optional[AwsEcsServiceDetails] + aws_auto_scaling_launch_configuration: Optional[AwsAutoScalingLaunchConfigurationDetails] + aws_ec2_vpn_connection: Optional[AwsEc2VpnConnectionDetails] + aws_ecr_container_image: Optional[AwsEcrContainerImageDetails] + aws_open_search_service_domain: Optional[AwsOpenSearchServiceDomainDetails] + aws_ec2_vpc_endpoint_service: Optional[AwsEc2VpcEndpointServiceDetails] + aws_xray_encryption_config: Optional[AwsXrayEncryptionConfigDetails] + aws_waf_rate_based_rule: Optional[AwsWafRateBasedRuleDetails] + aws_waf_regional_rate_based_rule: Optional[AwsWafRegionalRateBasedRuleDetails] + aws_ecr_repository: Optional[AwsEcrRepositoryDetails] + aws_eks_cluster: Optional[AwsEksClusterDetails] +class Resource(ASFFBaseModel): + """ +A resource related to a finding. + +:param type: The type of the resource that details are provided for. If possible, set Type to one of the supported resource types. For example, if the resource is an EC2 instance, then set Type to AwsEc2Instance. If the resource does not match any of the provided types, then set Type to Other. +:param id: The canonical identifier for the given resource type. +:param partition: The canonical Amazon Web Services partition name that the Region is assigned to. +:param region: The canonical Amazon Web Services external Region name where this resource is located. +:param resource_role: Identifies the role of the resource in the finding. A resource is either the actor or target of the finding activity, +:param tags: A list of Amazon Web Services tags associated with a resource at the time the finding was processed. +:param data_classification: Contains information about sensitive data that was detected on the resource. +:param details: Additional details about the resource related to a finding. + +:return: Resource object + """ + type: NonEmptyString + id: NonEmptyString + partition: Optional[Partition] + region: Optional[NonEmptyString] + resource_role: Optional[NonEmptyString] + tags: Optional[FieldMap] + data_classification: Optional[DataClassificationDetails] + details: Optional[ResourceDetails] +ResourceList = List[Resource] +ComplianceStatus = constr(regex="^(PASSED|WARNING|FAILED|NOT_AVAILABLE)$") +RelatedRequirementsList = List[NonEmptyString] +class StatusReason(ASFFBaseModel): + """ +Provides additional context for the value of Compliance.Status. - action_type: Optional[NonEmptyString] - network_connection_action: Optional[NetworkConnectionAction] - aws_api_call_action: Optional[AwsApiCallAction] - dns_request_action: Optional[DnsRequestAction] - port_probe_action: Optional[PortProbeAction] +:param reason_code: A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the Security Hub User Guide. +:param description: The corresponding description for the status reason code. +:return: StatusReason object + """ + reason_code: NonEmptyString + description: Optional[NonEmptyString] +StatusReasonsList = List[StatusReason] +class Compliance(ASFFBaseModel): + """ +Contains finding details that are specific to control-based findings. Only returned for findings generated from controls. + +:param status: The result of a standards check. The valid values for Status are as follows. PASSED - Standards check passed for all evaluated resources. WARNING - Some information is missing or this check is not supported for your configuration. FAILED - Standards check failed for at least one evaluated resource. NOT_AVAILABLE - Check could not be performed due to a service outage, API error, or because the result of the Config evaluation was NOT_APPLICABLE. If the Config evaluation result was NOT_APPLICABLE, then after 3 days, Security Hub automatically archives the finding. +:param related_requirements: For a control, the industry or regulatory framework requirements that are related to the control. The check for that control is aligned with these requirements. +:param status_reasons: For findings generated from controls, a list of reasons behind the value of Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the Security Hub User Guide. + +:return: Compliance object + """ + status: Optional[ComplianceStatus] + related_requirements: Optional[RelatedRequirementsList] + status_reasons: Optional[StatusReasonsList] +VerificationState = constr(regex="^(UNKNOWN|TRUE_POSITIVE|FALSE_POSITIVE|BENIGN_POSITIVE)$") +WorkflowState = constr(regex="^(NEW|ASSIGNED|IN_PROGRESS|DEFERRED|RESOLVED)$") +WorkflowStatus = constr(regex="^(NEW|NOTIFIED|RESOLVED|SUPPRESSED)$") +class Workflow(ASFFBaseModel): + """ +Provides information about the status of the investigation into a finding. -RatioScale = int +:param status: The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to SUPPRESSED or RESOLVED does not prevent a new finding for the same issue. The allowed values are the following. NEW - The initial state of a finding, before it is reviewed. Security Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE. NOTIFIED - Indicates that you notified the resource owner about the security issue. Used when the initial reviewer is not the resource owner, and needs intervention from the resource owner. SUPPRESSED - Indicates that you reviewed the finding and do not believe that any action is needed. The finding is no longer updated. RESOLVED - The finding was reviewed and remediated and is now considered resolved. +:return: Workflow object + """ + status: Optional[WorkflowStatus] +RecordState = constr(regex="^(ACTIVE|ARCHIVED)$") +class Note(ASFFBaseModel): + """ +A user-defined note added to a finding. + +:param text: The text of a note. +:param updated_by: The principal that created a note. +:param updated_at: The timestamp of when the note was updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: Note object + """ + text: NonEmptyString + updated_by: NonEmptyString + updated_at: Iso8601Timestamp +class SoftwarePackage(ASFFBaseModel): + """ +Information about a software package. + +:param name: The name of the software package. +:param version: The version of the software package. +:param epoch: The epoch of the software package. +:param release: The release of the software package. +:param architecture: The architecture used for the software package. +:param package_manager: The source of the package. +:param file_path: The file system path to the package manager inventory file. + +:return: SoftwarePackage object + """ + name: Optional[NonEmptyString] + version: Optional[NonEmptyString] + epoch: Optional[NonEmptyString] + release: Optional[NonEmptyString] + architecture: Optional[NonEmptyString] + package_manager: Optional[NonEmptyString] + file_path: Optional[NonEmptyString] +SoftwarePackageList = List[SoftwarePackage] +class Adjustment(ASFFBaseModel): + """ +An adjustment to the CVSS metric. + +:param metric: The metric to adjust. +:param reason: The reason for the adjustment. + +:return: Adjustment object + """ + metric: Optional[NonEmptyString] + reason: Optional[NonEmptyString] +AdjustmentList = List[Adjustment] +class Cvss(ASFFBaseModel): + """ +CVSS scores from the advisory related to the vulnerability. + +:param version: The version of CVSS for the CVSS score. +:param base_score: The base CVSS score. +:param base_vector: The base scoring vector for the CVSS score. +:param source: The origin of the original CVSS score and vector. +:param adjustments: Adjustments to the CVSS metrics. + +:return: Cvss object + """ + version: Optional[NonEmptyString] + base_score: Optional[Double] + base_vector: Optional[NonEmptyString] + source: Optional[NonEmptyString] + adjustments: Optional[AdjustmentList] +CvssList = List[Cvss] +class VulnerabilityVendor(ASFFBaseModel): + """ +A vendor that generates a vulnerability report. + +:param name: The name of the vendor. +:param url: The URL of the vulnerability advisory. +:param vendor_severity: The severity that the vendor assigned to the vulnerability. +:param vendor_created_at: Indicates when the vulnerability advisory was created. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param vendor_updated_at: Indicates when the vulnerability advisory was last updated. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. + +:return: VulnerabilityVendor object + """ + name: NonEmptyString + url: Optional[NonEmptyString] + vendor_severity: Optional[NonEmptyString] + vendor_created_at: Optional[Iso8601Timestamp] + vendor_updated_at: Optional[Iso8601Timestamp] +class Vulnerability(ASFFBaseModel): + """ +A vulnerability associated with a finding. + +:param id: The identifier of the vulnerability. +:param vulnerable_packages: List of software packages that have the vulnerability. +:param cvss: CVSS scores from the advisory related to the vulnerability. +:param related_vulnerabilities: List of vulnerabilities that are related to this vulnerability. +:param vendor: Information about the vendor that generates the vulnerability report. +:param reference_urls: A list of URLs that provide additional information about the vulnerability. + +:return: Vulnerability object + """ + id: NonEmptyString + vulnerable_packages: Optional[SoftwarePackageList] + cvss: Optional[CvssList] + related_vulnerabilities: Optional[StringList] + vendor: Optional[VulnerabilityVendor] + reference_urls: Optional[StringList] +VulnerabilityList = List[Vulnerability] +class PatchSummary(ASFFBaseModel): + """ +Provides an overview of the patch compliance status for an instance against a selected compliance standard. + +:param id: The identifier of the compliance standard that was used to determine the patch compliance status. +:param installed_count: The number of patches from the compliance standard that were installed successfully. +:param missing_count: The number of patches that are part of the compliance standard but are not installed. The count includes patches that failed to install. +:param failed_count: The number of patches from the compliance standard that failed to install. +:param installed_other_count: The number of installed patches that are not part of the compliance standard. +:param installed_rejected_count: The number of patches that are installed but are also on a list of patches that the customer rejected. +:param installed_pending_reboot: The number of patches that were applied, but that require the instance to be rebooted in order to be marked as installed. +:param operation_start_time: Indicates when the operation started. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param operation_end_time: Indicates when the operation completed. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param reboot_option: The reboot option specified for the instance. +:param operation: The type of patch operation performed. For Patch Manager, the values are SCAN and INSTALL. + +:return: PatchSummary object + """ + id: NonEmptyString + installed_count: Optional[Integer] + missing_count: Optional[Integer] + failed_count: Optional[Integer] + installed_other_count: Optional[Integer] + installed_rejected_count: Optional[Integer] + installed_pending_reboot: Optional[Integer] + operation_start_time: Optional[Iso8601Timestamp] + operation_end_time: Optional[Iso8601Timestamp] + reboot_option: Optional[NonEmptyString] + operation: Optional[NonEmptyString] +class IpOrganizationDetails(ASFFBaseModel): + """ +Provides information about an internet provider. + +:param asn: The Autonomous System Number (ASN) of the internet provider +:param asn_org: The name of the organization that registered the ASN. +:param isp: The ISP information for the internet provider. +:param org: The name of the internet provider. + +:return: IpOrganizationDetails object + """ + asn: Optional[Integer] + asn_org: Optional[NonEmptyString] + isp: Optional[NonEmptyString] + org: Optional[NonEmptyString] +class Country(ASFFBaseModel): + """ +Information about a country. -class RelatedFinding(ASFFBaseModel): - """ - Details about a related finding. +:param country_code: The 2-letter ISO 3166 country code for the country. +:param country_name: The name of the country. - :param product_arn: The ARN of the product that generated a related finding. - :param id: The product-generated identifier for a related finding. +:return: Country object + """ + country_code: Optional[NonEmptyString] + country_name: Optional[NonEmptyString] +class City(ASFFBaseModel): + """ +Information about a city. - :return: RelatedFinding object - """ +:param city_name: The name of the city. - product_arn: NonEmptyString - id: NonEmptyString +:return: City object + """ + city_name: Optional[NonEmptyString] +class GeoLocation(ASFFBaseModel): + """ +Provides the latitude and longitude coordinates of a location. +:param lon: The longitude of the location. +:param lat: The latitude of the location. -RelatedFindingList = List[RelatedFinding] +:return: GeoLocation object + """ + lon: Optional[Double] + lat: Optional[Double] +class ActionRemoteIpDetails(ASFFBaseModel): + """ +For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails provides information about the remote IP address that was involved in the action. + +:param ip_address_v4: The IP address. +:param organization: The internet service provider (ISP) organization associated with the remote IP address. +:param country: The country where the remote IP address is located. +:param city: The city where the remote IP address is located. +:param geo_location: The coordinates of the location of the remote IP address. + +:return: ActionRemoteIpDetails object + """ + ip_address_v4: Optional[NonEmptyString] + organization: Optional[IpOrganizationDetails] + country: Optional[Country] + city: Optional[City] + geo_location: Optional[GeoLocation] +class ActionRemotePortDetails(ASFFBaseModel): + """ +Provides information about the remote port that was involved in an attempted network connection. +:param port: The number of the port. +:param port_name: The port name of the remote connection. -class FindingProviderSeverity(ASFFBaseModel): - """ - The severity assigned to the finding by the finding provider. +:return: ActionRemotePortDetails object + """ + port: Optional[Integer] + port_name: Optional[NonEmptyString] +class ActionLocalPortDetails(ASFFBaseModel): + """ +For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides information about the local port that was involved in the action. - :param label: The severity label assigned to the finding by the finding provider. - :param original: The finding provider's original value for the severity. +:param port: The number of the port. +:param port_name: The port name of the local connection. - :return: FindingProviderSeverity object - """ +:return: ActionLocalPortDetails object + """ + port: Optional[Integer] + port_name: Optional[NonEmptyString] +class NetworkConnectionAction(ASFFBaseModel): + """ +Provided if ActionType is NETWORK_CONNECTION. It provides details about the attempted network connection that was detected. + +:param connection_direction: The direction of the network connection request (IN or OUT). +:param remote_ip_details: Information about the remote IP address that issued the network connection request. +:param remote_port_details: Information about the port on the remote IP address. +:param local_port_details: Information about the port on the EC2 instance. +:param protocol: The protocol used to make the network connection request. +:param blocked: Indicates whether the network connection attempt was blocked. + +:return: NetworkConnectionAction object + """ + connection_direction: Optional[NonEmptyString] + remote_ip_details: Optional[ActionRemoteIpDetails] + remote_port_details: Optional[ActionRemotePortDetails] + local_port_details: Optional[ActionLocalPortDetails] + protocol: Optional[NonEmptyString] + blocked: Optional[Boolean] +class AwsApiCallActionDomainDetails(ASFFBaseModel): + """ +Provided if CallerType is domain. It provides information about the DNS domain that issued the API call. - label: Optional[SeverityLabel] - original: Optional[NonEmptyString] +:param domain: The name of the DNS domain that issued the API call. +:return: AwsApiCallActionDomainDetails object + """ + domain: Optional[NonEmptyString] +class AwsApiCallAction(ASFFBaseModel): + """ +Provided if ActionType is AWS_API_CALL. It provides details about the API call that was detected. + +:param api: The name of the API method that was issued. +:param service_name: The name of the Amazon Web Services service that the API method belongs to. +:param caller_type: Indicates whether the API call originated from a remote IP address (remoteip) or from a DNS domain (domain). +:param remote_ip_details: Provided if CallerType is remoteIp. Provides information about the remote IP address that the API call originated from. +:param domain_details: Provided if CallerType is domain. Provides information about the DNS domain that the API call originated from. +:param affected_resources: Identifies the resources that were affected by the API call. +:param first_seen: An ISO8601-formatted timestamp that indicates when the API call was first observed. +:param last_seen: An ISO8601-formatted timestamp that indicates when the API call was most recently observed. + +:return: AwsApiCallAction object + """ + api: Optional[NonEmptyString] + service_name: Optional[NonEmptyString] + caller_type: Optional[NonEmptyString] + remote_ip_details: Optional[ActionRemoteIpDetails] + domain_details: Optional[AwsApiCallActionDomainDetails] + affected_resources: Optional[FieldMap] + first_seen: Optional[NonEmptyString] + last_seen: Optional[NonEmptyString] +class DnsRequestAction(ASFFBaseModel): + """ +Provided if ActionType is DNS_REQUEST. It provides details about the DNS request that was detected. + +:param domain: The DNS domain that is associated with the DNS request. +:param protocol: The protocol that was used for the DNS request. +:param blocked: Indicates whether the DNS request was blocked. + +:return: DnsRequestAction object + """ + domain: Optional[NonEmptyString] + protocol: Optional[NonEmptyString] + blocked: Optional[Boolean] +class ActionLocalIpDetails(ASFFBaseModel): + """ +Provides information about the IP address where the scanned port is located. -TypeList = List[NonEmptyString] +:param ip_address_v4: The IP address. +:return: ActionLocalIpDetails object + """ + ip_address_v4: Optional[NonEmptyString] +class PortProbeDetail(ASFFBaseModel): + """ +A port scan that was part of the port probe. For each scan, PortProbeDetails provides information about the local IP address and port that were scanned, and the remote IP address that the scan originated from. + +:param local_port_details: Provides information about the port that was scanned. +:param local_ip_details: Provides information about the IP address where the scanned port is located. +:param remote_ip_details: Provides information about the remote IP address that performed the scan. + +:return: PortProbeDetail object + """ + local_port_details: Optional[ActionLocalPortDetails] + local_ip_details: Optional[ActionLocalIpDetails] + remote_ip_details: Optional[ActionRemoteIpDetails] +PortProbeDetailList = List[PortProbeDetail] +class PortProbeAction(ASFFBaseModel): + """ +Provided if ActionType is PORT_PROBE. It provides details about the attempted port probe that was detected. -class FindingProviderFields(ASFFBaseModel): - """ - In a BatchImportFindings request, finding providers use FindingProviderFields to provide and update values for confidence, criticality, related findings, severity, and types. +:param port_probe_details: Information about the ports affected by the port probe. +:param blocked: Indicates whether the port probe was blocked. - :param confidence: A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence. - :param criticality: The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources. - :param related_findings: A list of findings that are related to the current finding. - :param severity: The severity of a finding. - :param types: One or more finding types in the format of namespace/category/classifier that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications +:return: PortProbeAction object + """ + port_probe_details: Optional[PortProbeDetailList] + blocked: Optional[Boolean] +class Action(ASFFBaseModel): + """ +Provides details about one of the following actions that affects or that was taken on a resource: A remote IP address issued an Amazon Web Services API call A DNS request was received A remote IP address attempted to connect to an EC2 instance A remote IP address attempted a port probe on an EC2 instance + +:param action_type: The type of action that was detected. The possible action types are: NETWORK_CONNECTION AWS_API_CALL DNS_REQUEST PORT_PROBE +:param network_connection_action: Included if ActionType is NETWORK_CONNECTION. Provides details about the network connection that was detected. +:param aws_api_call_action: Included if ActionType is AWS_API_CALL. Provides details about the API call that was detected. +:param dns_request_action: Included if ActionType is DNS_REQUEST. Provides details about the DNS request that was detected. +:param port_probe_action: Included if ActionType is PORT_PROBE. Provides details about the port probe that was detected. + +:return: Action object + """ + action_type: Optional[NonEmptyString] + network_connection_action: Optional[NetworkConnectionAction] + aws_api_call_action: Optional[AwsApiCallAction] + dns_request_action: Optional[DnsRequestAction] + port_probe_action: Optional[PortProbeAction] +RatioScale = int +class RelatedFinding(ASFFBaseModel): + """ +Details about a related finding. - :return: FindingProviderFields object - """ +:param product_arn: The ARN of the product that generated a related finding. +:param id: The product-generated identifier for a related finding. - confidence: Optional[RatioScale] - criticality: Optional[RatioScale] - related_findings: Optional[RelatedFindingList] - severity: Optional[FindingProviderSeverity] - types: Optional[TypeList] +:return: RelatedFinding object + """ + product_arn: NonEmptyString + id: NonEmptyString +RelatedFindingList = List[RelatedFinding] +class FindingProviderSeverity(ASFFBaseModel): + """ +The severity assigned to the finding by the finding provider. +:param label: The severity label assigned to the finding by the finding provider. +:param original: The finding provider's original value for the severity. +:return: FindingProviderSeverity object + """ + label: Optional[SeverityLabel] + original: Optional[NonEmptyString] +TypeList = List[NonEmptyString] +class FindingProviderFields(ASFFBaseModel): + """ +In a BatchImportFindings request, finding providers use FindingProviderFields to provide and update values for confidence, criticality, related findings, severity, and types. + +:param confidence: A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence. +:param criticality: The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources. +:param related_findings: A list of findings that are related to the current finding. +:param severity: The severity of a finding. +:param types: One or more finding types in the format of namespace/category/classifier that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications + +:return: FindingProviderFields object + """ + confidence: Optional[RatioScale] + criticality: Optional[RatioScale] + related_findings: Optional[RelatedFindingList] + severity: Optional[FindingProviderSeverity] + types: Optional[TypeList] class AwsSecurityFinding(ASFFBaseModel): - """ - Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between AWS security services and third-party solutions, and security standards checks. A finding is a potential security issue generated either by AWS services (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated third-party solutions and standards checks. - - :param schema_version: The schema version that a finding is formatted for. - :param id: The security findings provider-specific identifier for a finding. - :param product_arn: The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration. - :param generator_id: The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc. - :param aws_account_id: The AWS account ID that a finding is generated in. - :param types: One or more finding types in the format of namespace/category/classifier that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications - :param first_observed_at: Indicates when the security-findings provider first observed the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param last_observed_at: Indicates when the security-findings provider most recently observed the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param created_at: Indicates when the security-findings provider created the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param updated_at: Indicates when the security-findings provider last updated the finding record. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. - :param severity: A finding's severity. - :param confidence: A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence. - :param criticality: The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources. - :param title: A finding's title. In this release, Title is a required property. - :param description: A finding's description. In this release, Description is a required property. - :param remediation: A data type that describes the remediation options for a finding. - :param source_url: A URL that links to a page about the current finding in the security-findings provider's solution. - :param product_fields: A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format. - :param user_defined_fields: A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding. - :param malware: A list of malware related to a finding. - :param network: The details of network-related information about a finding. - :param network_path: Provides information about a network path that is relevant to a finding. Each entry under NetworkPath represents a component of that path. - :param process: The details of process-related information about a finding. - :param threat_intel_indicators: Threat intelligence details related to a finding. - :param resources: A set of resource data types that describe the resources that the finding refers to. - :param compliance: This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported security standard, such as CIS AWS Foundations. Contains security standard-related finding details. - :param verification_state: Indicates the veracity of a finding. - :param workflow_state: The workflow state of a finding. - :param workflow: Provides information about the status of the investigation into a finding. - :param record_state: The record state of a finding. - :param related_findings: A list of related findings. - :param note: A user-defined note added to a finding. - :param vulnerabilities: Provides a list of vulnerabilities associated with the findings. - :param patch_summary: Provides an overview of the patch compliance status for an instance against a selected compliance standard. - :param action: Provides details about an action that affects or that was taken on a resource. - :param finding_provider_fields: In a BatchImportFindings request, finding providers use FindingProviderFields to provide and update their own values for confidence, criticality, related findings, severity, and types. - - :return: AwsSecurityFinding object - """ - - schema_version: NonEmptyString - id: NonEmptyString - product_arn: NonEmptyString - generator_id: NonEmptyString - aws_account_id: NonEmptyString - types: Optional[TypeList] - first_observed_at: Optional[Iso8601Timestamp] - last_observed_at: Optional[Iso8601Timestamp] - created_at: Iso8601Timestamp - updated_at: Iso8601Timestamp - severity: Optional[Severity] - confidence: Optional[Integer] - criticality: Optional[Integer] - title: NonEmptyString - description: NonEmptyString - remediation: Optional[Remediation] - source_url: Optional[NonEmptyString] - product_fields: Optional[FieldMap] - user_defined_fields: Optional[FieldMap] - malware: Optional[MalwareList] - network: Optional[Network] - network_path: Optional[NetworkPathList] - process: Optional[ProcessDetails] - threat_intel_indicators: Optional[ThreatIntelIndicatorList] - resources: ResourceList - compliance: Optional[Compliance] - verification_state: Optional[VerificationState] - workflow_state: Optional[WorkflowState] - workflow: Optional[Workflow] - record_state: Optional[RecordState] - related_findings: Optional[RelatedFindingList] - note: Optional[Note] - vulnerabilities: Optional[VulnerabilityList] - patch_summary: Optional[PatchSummary] - action: Optional[Action] - finding_provider_fields: Optional[FindingProviderFields] + """ +Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between Amazon Web Services security services and third-party solutions, and security standards checks. A finding is a potential security issue generated either by Amazon Web Services services or by the integrated third-party solutions and standards checks. + +:param schema_version: The schema version that a finding is formatted for. +:param id: The security findings provider-specific identifier for a finding. +:param product_arn: The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration. +:param product_name: The name of the product that generated the finding. Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings or BatchUpdateFindings. The exception to this is when you use a custom integration. When you use the Security Hub console to filter findings by product name, you use this attribute. When you use the Security Hub API to filter findings by product name, you use the aws/securityhub/ProductName attribute under ProductFields. Security Hub does not synchronize those two attributes. +:param company_name: The name of the company for the product that generated the finding. Security Hub populates this attribute automatically for each finding. You cannot be updated using BatchImportFindings or BatchUpdateFindings. The exception to this is when you use a custom integration. When you use the Security Hub console to filter findings by company name, you use this attribute. When you use the Security Hub API to filter findings by company name, you use the aws/securityhub/CompanyName attribute under ProductFields. Security Hub does not synchronize those two attributes. +:param region: The Region from which the finding was generated. Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings or BatchUpdateFindings. +:param generator_id: The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc. +:param aws_account_id: The Amazon Web Services account ID that a finding is generated in. +:param types: One or more finding types in the format of namespace/category/classifier that classify a finding. Valid namespace values are: Software and Configuration Checks | TTPs | Effects | Unusual Behaviors | Sensitive Data Identifications +:param first_observed_at: Indicates when the security-findings provider first observed the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param last_observed_at: Indicates when the security-findings provider most recently observed the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param created_at: Indicates when the security-findings provider created the potential security issue that a finding captured. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param updated_at: Indicates when the security-findings provider last updated the finding record. Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z. +:param severity: A finding's severity. +:param confidence: A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify. Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence. +:param criticality: The level of importance assigned to the resources associated with the finding. A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources. +:param title: A finding's title. In this release, Title is a required property. +:param description: A finding's description. In this release, Description is a required property. +:param remediation: A data type that describes the remediation options for a finding. +:param source_url: A URL that links to a page about the current finding in the security-findings provider's solution. +:param product_fields: A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format. Can contain up to 50 key-value pairs. For each key-value pair, the key can contain up to 128 characters, and the value can contain up to 2048 characters. +:param user_defined_fields: A list of name/value string pairs associated with the finding. These are custom, user-defined fields added to a finding. +:param malware: A list of malware related to a finding. +:param network: The details of network-related information about a finding. +:param network_path: Provides information about a network path that is relevant to a finding. Each entry under NetworkPath represents a component of that path. +:param process: The details of process-related information about a finding. +:param threat_intel_indicators: Threat intelligence details related to a finding. +:param resources: A set of resource data types that describe the resources that the finding refers to. +:param compliance: This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported security standard, such as CIS Amazon Web Services Foundations. Contains security standard-related finding details. +:param verification_state: Indicates the veracity of a finding. +:param workflow_state: The workflow state of a finding. +:param workflow: Provides information about the status of the investigation into a finding. +:param record_state: The record state of a finding. +:param related_findings: A list of related findings. +:param note: A user-defined note added to a finding. +:param vulnerabilities: Provides a list of vulnerabilities associated with the findings. +:param patch_summary: Provides an overview of the patch compliance status for an instance against a selected compliance standard. +:param action: Provides details about an action that affects or that was taken on a resource. +:param finding_provider_fields: In a BatchImportFindings request, finding providers use FindingProviderFields to provide and update their own values for confidence, criticality, related findings, severity, and types. + +:return: AwsSecurityFinding object + """ + schema_version: NonEmptyString + id: NonEmptyString + product_arn: NonEmptyString + product_name: Optional[NonEmptyString] + company_name: Optional[NonEmptyString] + region: Optional[NonEmptyString] + generator_id: NonEmptyString + aws_account_id: NonEmptyString + types: Optional[TypeList] + first_observed_at: Optional[Iso8601Timestamp] + last_observed_at: Optional[Iso8601Timestamp] + created_at: Iso8601Timestamp + updated_at: Iso8601Timestamp + severity: Optional[Severity] + confidence: Optional[Integer] + criticality: Optional[Integer] + title: NonEmptyString + description: NonEmptyString + remediation: Optional[Remediation] + source_url: Optional[NonEmptyString] + product_fields: Optional[FieldMap] + user_defined_fields: Optional[FieldMap] + malware: Optional[MalwareList] + network: Optional[Network] + network_path: Optional[NetworkPathList] + process: Optional[ProcessDetails] + threat_intel_indicators: Optional[ThreatIntelIndicatorList] + resources: ResourceList + compliance: Optional[Compliance] + verification_state: Optional[VerificationState] + workflow_state: Optional[WorkflowState] + workflow: Optional[Workflow] + record_state: Optional[RecordState] + related_findings: Optional[RelatedFindingList] + note: Optional[Note] + vulnerabilities: Optional[VulnerabilityList] + patch_summary: Optional[PatchSummary] + action: Optional[Action] + finding_provider_fields: Optional[FindingProviderFields] \ No newline at end of file diff --git a/tools/service-2.json b/tools/service-2.json index e87dade..7fd73ae 100644 --- a/tools/service-2.json +++ b/tools/service-2.json @@ -12,6 +12,23 @@ "uid":"securityhub-2018-10-26" }, "operations":{ + "AcceptAdministratorInvitation":{ + "name":"AcceptAdministratorInvitation", + "http":{ + "method":"POST", + "requestUri":"/administrator" + }, + "input":{"shape":"AcceptAdministratorInvitationRequest"}, + "output":{"shape":"AcceptAdministratorInvitationResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidAccessException"} + ], + "documentation":"

Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from.

This operation is only used by member accounts that are not added through Organizations.

When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.

" + }, "AcceptInvitation":{ "name":"AcceptInvitation", "http":{ @@ -27,7 +44,9 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidAccessException"} ], - "documentation":"

Accepts the invitation to be a member account and be monitored by the Security Hub master account that the invitation was sent from.

This operation is only used by member accounts that are not added through Organizations.

When the member account accepts the invitation, permission is granted to the master account to view findings generated in the member account.

" + "documentation":"

This method is deprecated. Instead, use AcceptAdministratorInvitation.

The Security Hub console continues to use AcceptInvitation. It will eventually change to use AcceptAdministratorInvitation. Any IAM policies that specifically control access to this function must continue to use AcceptInvitation. You should also add AcceptAdministratorInvitation to your policies to ensure that the correct permissions are in place after the console begins to use AcceptAdministratorInvitation.

Accepts the invitation to be a member account and be monitored by the Security Hub administrator account that the invitation was sent from.

This operation is only used by member accounts that are not added through Organizations.

When the member account accepts the invitation, permission is granted to the administrator account to view findings generated in the member account.

", + "deprecated":true, + "deprecatedMessage":"This API has been deprecated, use AcceptAdministratorInvitation API instead." }, "BatchDisableStandards":{ "name":"BatchDisableStandards", @@ -43,7 +62,7 @@ {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Disables the standards specified by the provided StandardsSubscriptionArns.

For more information, see Security Standards section of the AWS Security Hub User Guide.

" + "documentation":"

Disables the standards specified by the provided StandardsSubscriptionArns.

For more information, see Security Standards section of the Security Hub User Guide.

" }, "BatchEnableStandards":{ "name":"BatchEnableStandards", @@ -59,7 +78,7 @@ {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Enables the standards specified by the provided StandardsArn. To obtain the ARN for a standard, use the DescribeStandards operation.

For more information, see the Security Standards section of the AWS Security Hub User Guide.

" + "documentation":"

Enables the standards specified by the provided StandardsArn. To obtain the ARN for a standard, use the DescribeStandards operation.

For more information, see the Security Standards section of the Security Hub User Guide.

" }, "BatchImportFindings":{ "name":"BatchImportFindings", @@ -91,7 +110,7 @@ {"shape":"LimitExceededException"}, {"shape":"InvalidAccessException"} ], - "documentation":"

Used by Security Hub customers to update information about their investigation into a finding. Requested by master accounts or member accounts. Master accounts can update findings for their account and their member accounts. Member accounts can update findings for their account.

Updates from BatchUpdateFindings do not affect the value of UpdatedAt for a finding.

Master and member accounts can use BatchUpdateFindings to update the following finding fields and objects.

You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the AWS Security Hub User Guide.

" + "documentation":"

Used by Security Hub customers to update information about their investigation into a finding. Requested by administrator accounts or member accounts. Administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account.

Updates from BatchUpdateFindings do not affect the value of UpdatedAt for a finding.

Administrator and member accounts can use BatchUpdateFindings to update the following finding fields and objects.

You can configure IAM policies to restrict access to fields and field values. For example, you might not want member accounts to be able to suppress findings or change the finding severity. See Configuring access to BatchUpdateFindings in the Security Hub User Guide.

" }, "CreateActionTarget":{ "name":"CreateActionTarget", @@ -110,6 +129,23 @@ ], "documentation":"

Creates a custom action target in Security Hub.

You can use custom actions on findings and insights in Security Hub to trigger target actions in Amazon CloudWatch Events.

" }, + "CreateFindingAggregator":{ + "name":"CreateFindingAggregator", + "http":{ + "method":"POST", + "requestUri":"/findingAggregator/create" + }, + "input":{"shape":"CreateFindingAggregatorRequest"}, + "output":{"shape":"CreateFindingAggregatorResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

Used to enable finding aggregation. Must be called from the aggregation Region.

For more details about cross-Region replication, see Configuring finding aggregation in the Security Hub User Guide.

" + }, "CreateInsight":{ "name":"CreateInsight", "http":{ @@ -142,7 +178,7 @@ {"shape":"InvalidAccessException"}, {"shape":"ResourceConflictException"} ], - "documentation":"

Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the master account. If you are integrated with Organizations, then the master account is the Security Hub administrator account that is designated by the organization management account.

CreateMembers is always used to add accounts that are not organization members.

For accounts that are part of an organization, CreateMembers is only used in the following cases:

This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation.

For accounts that are not organization members, you create the account association and then send an invitation to the member account. To send the invitation, you use the InviteMembers operation. If the account owner accepts the invitation, the account becomes a member account in Security Hub.

Accounts that are part of an organization do not receive an invitation. They automatically become a member account in Security Hub.

A permissions policy is added that permits the master account to view the findings generated in the member account. When Security Hub is enabled in a member account, findings are sent to both the member and master accounts.

To remove the association between the master and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.

" + "documentation":"

Creates a member association in Security Hub between the specified accounts and the account used to make the request, which is the administrator account. If you are integrated with Organizations, then the administrator account is designated by the organization management account.

CreateMembers is always used to add accounts that are not organization members.

For accounts that are managed using Organizations, CreateMembers is only used in the following cases:

This action can only be used by an account that has Security Hub enabled. To enable Security Hub, you can use the EnableSecurityHub operation.

For accounts that are not organization members, you create the account association and then send an invitation to the member account. To send the invitation, you use the InviteMembers operation. If the account owner accepts the invitation, the account becomes a member account in Security Hub.

Accounts that are managed using Organizations do not receive an invitation. They automatically become a member account in Security Hub.

A permissions policy is added that permits the administrator account to view the findings generated in the member account.

To remove the association between the administrator and member accounts, use the DisassociateFromMasterAccount or DisassociateMembers operation.

" }, "DeclineInvitations":{ "name":"DeclineInvitations", @@ -176,6 +212,24 @@ ], "documentation":"

Deletes a custom action target from Security Hub.

Deleting a custom action target does not affect any findings or insights that were already sent to Amazon CloudWatch Events using the custom action.

" }, + "DeleteFindingAggregator":{ + "name":"DeleteFindingAggregator", + "http":{ + "method":"DELETE", + "requestUri":"/findingAggregator/delete/{FindingAggregatorArn+}" + }, + "input":{"shape":"DeleteFindingAggregatorRequest"}, + "output":{"shape":"DeleteFindingAggregatorResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Deletes a finding aggregator. When you delete the finding aggregator, you stop finding aggregation.

When you stop finding aggregation, findings that were already aggregated to the aggregation Region are still visible from the aggregation Region. New findings and finding updates are not aggregated.

" + }, "DeleteInsight":{ "name":"DeleteInsight", "http":{ @@ -208,7 +262,7 @@ {"shape":"ResourceNotFoundException"}, {"shape":"InvalidAccessException"} ], - "documentation":"

Deletes invitations received by the AWS account to become a member account.

This operation is only used by accounts that are not part of an organization. Organization accounts do not receive invitations.

" + "documentation":"

Deletes invitations received by the Amazon Web Services account to become a member account.

This operation is only used by accounts that are not part of an organization. Organization accounts do not receive invitations.

" }, "DeleteMembers":{ "name":"DeleteMembers", @@ -370,7 +424,24 @@ {"shape":"InvalidAccessException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Disables Security Hub in your account only in the current Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub.

When you disable Security Hub for a master account, it doesn't disable Security Hub for any associated member accounts.

When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your master and member account associations are removed.

If you want to save your existing findings, you must export them before you disable Security Hub.

" + "documentation":"

Disables Security Hub in your account only in the current Region. To disable Security Hub in all Regions, you must submit one request per Region where you have enabled Security Hub.

When you disable Security Hub for an administrator account, it doesn't disable Security Hub for any associated member accounts.

When you disable Security Hub, your existing findings and insights and any Security Hub configuration settings are deleted after 90 days and cannot be recovered. Any standards that were enabled are disabled, and your administrator and member account associations are removed.

If you want to save your existing findings, you must export them before you disable Security Hub.

" + }, + "DisassociateFromAdministratorAccount":{ + "name":"DisassociateFromAdministratorAccount", + "http":{ + "method":"POST", + "requestUri":"/administrator/disassociate" + }, + "input":{"shape":"DisassociateFromAdministratorAccountRequest"}, + "output":{"shape":"DisassociateFromAdministratorAccountResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Disassociates the current Security Hub member account from the associated administrator account.

This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.

" }, "DisassociateFromMasterAccount":{ "name":"DisassociateFromMasterAccount", @@ -387,7 +458,9 @@ {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Disassociates the current Security Hub member account from the associated master account.

This operation is only used by accounts that are not part of an organization. For organization accounts, only the master account (the designated Security Hub administrator) can disassociate a member account.

" + "documentation":"

This method is deprecated. Instead, use DisassociateFromAdministratorAccount.

The Security Hub console continues to use DisassociateFromMasterAccount. It will eventually change to use DisassociateFromAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use DisassociateFromAdministratorAccount.

Disassociates the current Security Hub member account from the associated administrator account.

This operation is only used by accounts that are not part of an organization. For organization accounts, only the administrator account can disassociate a member account.

", + "deprecated":true, + "deprecatedMessage":"This API has been deprecated, use DisassociateFromAdministratorAccount API instead." }, "DisassociateMembers":{ "name":"DisassociateMembers", @@ -404,7 +477,7 @@ {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Disassociates the specified member accounts from the associated master account.

Can be used to disassociate both accounts that are in an organization and accounts that were invited manually.

" + "documentation":"

Disassociates the specified member accounts from the associated administrator account.

Can be used to disassociate both accounts that are managed using Organizations and accounts that were invited manually.

" }, "EnableImportFindingsForProduct":{ "name":"EnableImportFindingsForProduct", @@ -454,7 +527,24 @@ {"shape":"ResourceConflictException"}, {"shape":"AccessDeniedException"} ], - "documentation":"

Enables Security Hub for your account in the current Region or the Region you specify in the request.

When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub.

When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the following standards.

You do not enable the Payment Card Industry Data Security Standard (PCI DSS) standard.

To not enable the automatically enabled standards, set EnableDefaultStandards to false.

After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation.

To learn more, see Setting Up AWS Security Hub in the AWS Security Hub User Guide.

" + "documentation":"

Enables Security Hub for your account in the current Region or the Region you specify in the request.

When you enable Security Hub, you grant to Security Hub the permissions necessary to gather findings from other services that are integrated with Security Hub.

When you use the EnableSecurityHub operation to enable Security Hub, you also automatically enable the following standards.

You do not enable the Payment Card Industry Data Security Standard (PCI DSS) standard.

To not enable the automatically enabled standards, set EnableDefaultStandards to false.

After you enable Security Hub, to enable a standard, use the BatchEnableStandards operation. To disable a standard, use the BatchDisableStandards operation.

To learn more, see the setup information in the Security Hub User Guide.

" + }, + "GetAdministratorAccount":{ + "name":"GetAdministratorAccount", + "http":{ + "method":"GET", + "requestUri":"/administrator" + }, + "input":{"shape":"GetAdministratorAccountRequest"}, + "output":{"shape":"GetAdministratorAccountResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"InvalidInputException"}, + {"shape":"InvalidAccessException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Provides the details for the Security Hub administrator account for the current member account.

Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.

" }, "GetEnabledStandards":{ "name":"GetEnabledStandards", @@ -472,6 +562,24 @@ ], "documentation":"

Returns a list of the standards that are currently enabled.

" }, + "GetFindingAggregator":{ + "name":"GetFindingAggregator", + "http":{ + "method":"GET", + "requestUri":"/findingAggregator/get/{FindingAggregatorArn+}" + }, + "input":{"shape":"GetFindingAggregatorRequest"}, + "output":{"shape":"GetFindingAggregatorResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Returns the current finding aggregation configuration.

" + }, "GetFindings":{ "name":"GetFindings", "http":{ @@ -486,7 +594,7 @@ {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Returns a list of findings that match the specified criteria.

" + "documentation":"

Returns a list of findings that match the specified criteria.

If finding aggregation is enabled, then when you call GetFindings from the aggregation Region, the results include all of the matching findings from both the aggregation Region and the linked Regions.

" }, "GetInsightResults":{ "name":"GetInsightResults", @@ -553,7 +661,9 @@ {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Provides the details for the Security Hub master account for the current member account.

Can be used by both member accounts that are in an organization and accounts that were invited manually.

" + "documentation":"

This method is deprecated. Instead, use GetAdministratorAccount.

The Security Hub console continues to use GetMasterAccount. It will eventually change to use GetAdministratorAccount. Any IAM policies that specifically control access to this function must continue to use GetMasterAccount. You should also add GetAdministratorAccount to your policies to ensure that the correct permissions are in place after the console begins to use GetAdministratorAccount.

Provides the details for the Security Hub administrator account for the current member account.

Can be used by both member accounts that are managed using Organizations and accounts that were invited manually.

", + "deprecated":true, + "deprecatedMessage":"This API has been deprecated, use GetAdministratorAccount API instead." }, "GetMembers":{ "name":"GetMembers", @@ -570,7 +680,7 @@ {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Returns the details for the Security Hub member accounts for the specified account IDs.

A master account can be either a delegated Security Hub administrator account for an organization or a master account that enabled Security Hub manually.

The results include both member accounts that are in an organization and accounts that were invited manually.

" + "documentation":"

Returns the details for the Security Hub member accounts for the specified account IDs.

An administrator account can be either the delegated Security Hub administrator account for an organization or an administrator account that enabled Security Hub manually.

The results include both member accounts that are managed using Organizations and accounts that were invited manually.

" }, "InviteMembers":{ "name":"InviteMembers", @@ -587,7 +697,7 @@ {"shape":"LimitExceededException"}, {"shape":"ResourceNotFoundException"} ], - "documentation":"

Invites other AWS accounts to become member accounts for the Security Hub master account that the invitation is sent from.

This operation is only used to invite accounts that do not belong to an organization. Organization accounts do not receive invitations.

Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub.

When the account owner enables Security Hub and accepts the invitation to become a member account, the master account can view the findings generated from the member account.

" + "documentation":"

Invites other Amazon Web Services accounts to become member accounts for the Security Hub administrator account that the invitation is sent from.

This operation is only used to invite accounts that do not belong to an organization. Organization accounts do not receive invitations.

Before you can use this action to invite a member, you must first use the CreateMembers action to create the member account in Security Hub.

When the account owner enables Security Hub and accepts the invitation to become a member account, the administrator account can view the findings generated from the member account.

" }, "ListEnabledProductsForImport":{ "name":"ListEnabledProductsForImport", @@ -604,6 +714,23 @@ ], "documentation":"

Lists all findings-generating solutions (products) that you are subscribed to receive findings from in Security Hub.

" }, + "ListFindingAggregators":{ + "name":"ListFindingAggregators", + "http":{ + "method":"GET", + "requestUri":"/findingAggregator/list" + }, + "input":{"shape":"ListFindingAggregatorsRequest"}, + "output":{"shape":"ListFindingAggregatorsResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidInputException"} + ], + "documentation":"

If finding aggregation is enabled, then ListFindingAggregators returns the ARN of the finding aggregator. You can run this operation from any Region.

" + }, "ListInvitations":{ "name":"ListInvitations", "http":{ @@ -618,7 +745,7 @@ {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Lists all Security Hub membership invitations that were sent to the current AWS account.

This operation is only used by accounts that do not belong to an organization. Organization accounts do not receive invitations.

" + "documentation":"

Lists all Security Hub membership invitations that were sent to the current Amazon Web Services account.

This operation is only used by accounts that are managed by invitation. Accounts that are managed using the integration with Organizations do not receive invitations.

" }, "ListMembers":{ "name":"ListMembers", @@ -634,7 +761,7 @@ {"shape":"InvalidAccessException"}, {"shape":"LimitExceededException"} ], - "documentation":"

Lists details about all member accounts for the current Security Hub master account.

The results include both member accounts that belong to an organization and member accounts that were invited manually.

" + "documentation":"

Lists details about all member accounts for the current Security Hub administrator account.

The results include both member accounts that belong to an organization and member accounts that were invited manually.

" }, "ListOrganizationAdminAccounts":{ "name":"ListOrganizationAdminAccounts", @@ -714,6 +841,24 @@ ], "documentation":"

Updates the name and description of a custom action target in Security Hub.

" }, + "UpdateFindingAggregator":{ + "name":"UpdateFindingAggregator", + "http":{ + "method":"PATCH", + "requestUri":"/findingAggregator/update" + }, + "input":{"shape":"UpdateFindingAggregatorRequest"}, + "output":{"shape":"UpdateFindingAggregatorResponse"}, + "errors":[ + {"shape":"InternalException"}, + {"shape":"LimitExceededException"}, + {"shape":"InvalidAccessException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InvalidInputException"}, + {"shape":"ResourceNotFoundException"} + ], + "documentation":"

Updates the finding aggregation configuration. Used to update the Region linking mode and the list of included or excluded Regions. You cannot use UpdateFindingAggregator to change the aggregation Region.

You must run UpdateFindingAggregator from the current aggregation Region.

" + }, "UpdateFindings":{ "name":"UpdateFindings", "http":{ @@ -799,6 +944,28 @@ } }, "shapes":{ + "AcceptAdministratorInvitationRequest":{ + "type":"structure", + "required":[ + "AdministratorId", + "InvitationId" + ], + "members":{ + "AdministratorId":{ + "shape":"NonEmptyString", + "documentation":"

The account ID of the Security Hub administrator account that sent the invitation.

" + }, + "InvitationId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the invitation sent from the Security Hub administrator account.

" + } + } + }, + "AcceptAdministratorInvitationResponse":{ + "type":"structure", + "members":{ + } + }, "AcceptInvitationRequest":{ "type":"structure", "required":[ @@ -808,11 +975,11 @@ "members":{ "MasterId":{ "shape":"NonEmptyString", - "documentation":"

The account ID of the Security Hub master account that sent the invitation.

" + "documentation":"

The account ID of the Security Hub administrator account that sent the invitation.

" }, "InvitationId":{ "shape":"NonEmptyString", - "documentation":"

The ID of the invitation sent from the Security Hub master account.

" + "documentation":"

The identifier of the invitation sent from the Security Hub administrator account.

" } } }, @@ -837,14 +1004,14 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

The ID of an AWS account.

" + "documentation":"

The ID of an Amazon Web Services account.

" }, "Email":{ "shape":"NonEmptyString", - "documentation":"

The email of an AWS account.

" + "documentation":"

The email of an Amazon Web Services account.

" } }, - "documentation":"

The details of an AWS account.

" + "documentation":"

The details of an Amazon Web Services account.

" }, "AccountDetailsList":{ "type":"list", @@ -879,7 +1046,7 @@ "documentation":"

Included if ActionType is PORT_PROBE. Provides details about the port probe that was detected.

" } }, - "documentation":"

Provides details about one of the following actions that affects or that was taken on a resource:

" + "documentation":"

Provides details about one of the following actions that affects or that was taken on a resource:

" }, "ActionLocalIpDetails":{ "type":"structure", @@ -972,12 +1139,30 @@ "type":"list", "member":{"shape":"ActionTarget"} }, + "Adjustment":{ + "type":"structure", + "members":{ + "Metric":{ + "shape":"NonEmptyString", + "documentation":"

The metric to adjust.

" + }, + "Reason":{ + "shape":"NonEmptyString", + "documentation":"

The reason for the adjustment.

" + } + }, + "documentation":"

An adjustment to the CVSS metric.

" + }, + "AdjustmentList":{ + "type":"list", + "member":{"shape":"Adjustment"} + }, "AdminAccount":{ "type":"structure", "members":{ "AccountId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account identifier of the Security Hub administrator account.

" + "documentation":"

The Amazon Web Services account identifier of the Security Hub administrator account.

" }, "Status":{ "shape":"AdminStatus", @@ -1033,7 +1218,7 @@ }, "ServiceName":{ "shape":"NonEmptyString", - "documentation":"

The name of the AWS service that the API method belongs to.

" + "documentation":"

The name of the Amazon Web Services service that the API method belongs to.

" }, "CallerType":{ "shape":"NonEmptyString", @@ -1216,7 +1401,7 @@ "documentation":"

The endpoint configuration of the REST API.

" } }, - "documentation":"

contains information about a REST API in version 1 of Amazon API Gateway.

" + "documentation":"

Contains information about a REST API in version 1 of Amazon API Gateway.

" }, "AwsApiGatewayStageDetails":{ "type":"structure", @@ -1271,7 +1456,7 @@ }, "TracingEnabled":{ "shape":"Boolean", - "documentation":"

Indicates whether active tracing with AWS X-Ray is enabled for the stage.

" + "documentation":"

Indicates whether active tracing with X-Ray is enabled for the stage.

" }, "CreatedDate":{ "shape":"NonEmptyString", @@ -1363,6 +1548,10 @@ "AwsApiGatewayV2StageDetails":{ "type":"structure", "members":{ + "ClientCertificateId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of a client certificate for a stage. Supported only for WebSocket API calls.

" + }, "CreatedDate":{ "shape":"NonEmptyString", "documentation":"

Indicates when the stage was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" @@ -1440,6 +1629,150 @@ }, "documentation":"

Provides details about an auto scaling group.

" }, + "AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"NonEmptyString", + "documentation":"

The device name that is exposed to the EC2 instance. For example, /dev/sdh or xvdh.

" + }, + "Ebs":{ + "shape":"AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails", + "documentation":"

Parameters that are used to automatically set up Amazon EBS volumes when an instance is launched.

" + }, + "NoDevice":{ + "shape":"Boolean", + "documentation":"

Whether to suppress the device that is included in the block device mapping of the Amazon Machine Image (AMI).

If NoDevice is true, then you cannot specify Ebs.>

" + }, + "VirtualName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the virtual device (for example, ephemeral0).

You can provide either VirtualName or Ebs, but not both.

" + } + }, + "documentation":"

A block device for the instance.

" + }, + "AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails":{ + "type":"structure", + "members":{ + "DeleteOnTermination":{ + "shape":"Boolean", + "documentation":"

Whether to delete the volume when the instance is terminated.

" + }, + "Encrypted":{ + "shape":"Boolean", + "documentation":"

Whether to encrypt the volume.

" + }, + "Iops":{ + "shape":"Integer", + "documentation":"

The number of input/output (I/O) operations per second (IOPS) to provision for the volume.

Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used with standard, gp2, st1, or sc1 volumes.

" + }, + "SnapshotId":{ + "shape":"NonEmptyString", + "documentation":"

The snapshot ID of the volume to use.

You must specify either VolumeSize or SnapshotId.

" + }, + "VolumeSize":{ + "shape":"Integer", + "documentation":"

The volume size, in GiBs. The following are the supported volumes sizes for each volume type:

You must specify either SnapshotId or VolumeSize. If you specify both SnapshotId and VolumeSize, the volume size must be equal or greater than the size of the snapshot.

" + }, + "VolumeType":{ + "shape":"NonEmptyString", + "documentation":"

The volume type.

" + } + }, + "documentation":"

Parameters that are used to automatically set up EBS volumes when an instance is launched.

" + }, + "AwsAutoScalingLaunchConfigurationBlockDeviceMappingsList":{ + "type":"list", + "member":{"shape":"AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails"} + }, + "AwsAutoScalingLaunchConfigurationDetails":{ + "type":"structure", + "members":{ + "AssociatePublicIpAddress":{ + "shape":"Boolean", + "documentation":"

For Auto Scaling groups that run in a VPC, specifies whether to assign a public IP address to the group's instances.

" + }, + "BlockDeviceMappings":{ + "shape":"AwsAutoScalingLaunchConfigurationBlockDeviceMappingsList", + "documentation":"

Specifies the block devices for the instance.

" + }, + "ClassicLinkVpcId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of a ClassicLink-enabled VPC that EC2-Classic instances are linked to.

" + }, + "ClassicLinkVpcSecurityGroups":{ + "shape":"NonEmptyStringList", + "documentation":"

The identifiers of one or more security groups for the VPC that is specified in ClassicLinkVPCId.

" + }, + "CreatedTime":{ + "shape":"NonEmptyString", + "documentation":"

The creation date and time for the launch configuration.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" + }, + "EbsOptimized":{ + "shape":"Boolean", + "documentation":"

Whether the launch configuration is optimized for Amazon EBS I/O.

" + }, + "IamInstanceProfile":{ + "shape":"NonEmptyString", + "documentation":"

The name or the ARN of the instance profile associated with the IAM role for the instance. The instance profile contains the IAM role.

" + }, + "ImageId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the Amazon Machine Image (AMI) that is used to launch EC2 instances.

" + }, + "InstanceMonitoring":{ + "shape":"AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails", + "documentation":"

Indicates the type of monitoring for instances in the group.

" + }, + "InstanceType":{ + "shape":"NonEmptyString", + "documentation":"

The instance type for the instances.

" + }, + "KernelId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the kernel associated with the AMI.

" + }, + "KeyName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the key pair.

" + }, + "LaunchConfigurationName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the launch configuration.

" + }, + "PlacementTenancy":{ + "shape":"NonEmptyString", + "documentation":"

The tenancy of the instance. An instance with dedicated tenancy runs on isolated, single-tenant hardware and can only be launched into a VPC.

" + }, + "RamdiskId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the RAM disk associated with the AMI.

" + }, + "SecurityGroups":{ + "shape":"NonEmptyStringList", + "documentation":"

The security groups to assign to the instances in the Auto Scaling group.

" + }, + "SpotPrice":{ + "shape":"NonEmptyString", + "documentation":"

The maximum hourly price to be paid for any Spot Instance that is launched to fulfill the request.

" + }, + "UserData":{ + "shape":"NonEmptyString", + "documentation":"

The user data to make available to the launched EC2 instances. Must be base64-encoded text.

" + } + }, + "documentation":"

Details about a launch configuration.

" + }, + "AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

If set to true, then instances in the group launch with detailed monitoring.

If set to false, then instances in the group launch with basic monitoring.

" + } + }, + "documentation":"

Information about the type of monitoring for instances in the group.

" + }, "AwsCertificateManagerCertificateDetails":{ "type":"structure", "members":{ @@ -1473,7 +1806,7 @@ }, "InUseBy":{ "shape":"StringList", - "documentation":"

The list of ARNs for the AWS resources that use the certificate.

" + "documentation":"

The list of ARNs for the Amazon Web Services resources that use the certificate.

" }, "IssuedAt":{ "shape":"NonEmptyString", @@ -1509,7 +1842,7 @@ }, "RenewalSummary":{ "shape":"AwsCertificateManagerCertificateRenewalSummary", - "documentation":"

Information about the status of the AWS Certificate Manager managed renewal for the certificate. Provided only when the certificate type is AMAZON_ISSUED.

" + "documentation":"

Information about the status of the Certificate Manager managed renewal for the certificate. Provided only when the certificate type is AMAZON_ISSUED.

" }, "Serial":{ "shape":"NonEmptyString", @@ -1533,10 +1866,10 @@ }, "Type":{ "shape":"NonEmptyString", - "documentation":"

The source of the certificate. For certificates that AWS Certificate Manager provides, Type is AMAZON_ISSUED. For certificates that are imported with ImportCertificate, Type is IMPORTED.

Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE

" + "documentation":"

The source of the certificate. For certificates that Certificate Manager provides, Type is AMAZON_ISSUED. For certificates that are imported with ImportCertificate, Type is IMPORTED.

Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE

" } }, - "documentation":"

Provides details about an AWS Certificate Manager certificate.

" + "documentation":"

Provides details about an Certificate Manager certificate.

" }, "AwsCertificateManagerCertificateDomainValidationOption":{ "type":"structure", @@ -1551,11 +1884,11 @@ }, "ValidationDomain":{ "shape":"NonEmptyString", - "documentation":"

The domain name that AWS Certificate Manager uses to send domain validation emails.

" + "documentation":"

The domain name that Certificate Manager uses to send domain validation emails.

" }, "ValidationEmails":{ "shape":"StringList", - "documentation":"

A list of email addresses that AWS Certificate Manager uses to send domain validation emails.

" + "documentation":"

A list of email addresses that Certificate Manager uses to send domain validation emails.

" }, "ValidationMethod":{ "shape":"NonEmptyString", @@ -1566,7 +1899,7 @@ "documentation":"

The validation status of the domain name.

" } }, - "documentation":"

Contains information about one of the following:

" + "documentation":"

Contains information about one of the following:

" }, "AwsCertificateManagerCertificateDomainValidationOptions":{ "type":"list", @@ -1619,11 +1952,11 @@ "members":{ "DomainValidationOptions":{ "shape":"AwsCertificateManagerCertificateDomainValidationOptions", - "documentation":"

Information about the validation of each domain name in the certificate, as it pertains to AWS Certificate Manager managed renewal. Provided only when the certificate type is AMAZON_ISSUED.

" + "documentation":"

Information about the validation of each domain name in the certificate, as it pertains to Certificate Manager managed renewal. Provided only when the certificate type is AMAZON_ISSUED.

" }, "RenewalStatus":{ "shape":"NonEmptyString", - "documentation":"

The status of the AWS Certificate Manager managed renewal of the certificate.

Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED

" + "documentation":"

The status of the Certificate Manager managed renewal of the certificate.

Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED

" }, "RenewalStatusReason":{ "shape":"NonEmptyString", @@ -1634,7 +1967,7 @@ "documentation":"

Indicates when the renewal summary was last updated.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" } }, - "documentation":"

Contains information about the AWS Certificate Manager managed renewal for an AMAZON_ISSUED certificate.

" + "documentation":"

Contains information about the Certificate Manager managed renewal for an AMAZON_ISSUED certificate.

" }, "AwsCertificateManagerCertificateResourceRecord":{ "type":"structure", @@ -1727,13 +2060,17 @@ "shape":"AwsCloudFrontDistributionOriginGroups", "documentation":"

Provides information about the origin groups in the distribution.

" }, + "ViewerCertificate":{ + "shape":"AwsCloudFrontDistributionViewerCertificate", + "documentation":"

Provides information about the TLS/SSL configuration that the distribution uses to communicate with viewers.

" + }, "Status":{ "shape":"NonEmptyString", "documentation":"

Indicates the current status of the distribution.

" }, "WebAclId":{ "shape":"NonEmptyString", - "documentation":"

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

" + "documentation":"

A unique identifier that specifies the WAF web ACL, if any, to associate with this distribution.

" } }, "documentation":"

A distribution configuration.

" @@ -1743,7 +2080,7 @@ "members":{ "Bucket":{ "shape":"NonEmptyString", - "documentation":"

The Amazon S3 bucket to store the access logs in.

" + "documentation":"

The S3 bucket to store the access logs in.

" }, "Enabled":{ "shape":"Boolean", @@ -1817,7 +2154,7 @@ "members":{ "DomainName":{ "shape":"NonEmptyString", - "documentation":"

Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want CloudFront to get objects for this origin.

" + "documentation":"

Amazon S3 origins: The DNS name of the S3 bucket from which you want CloudFront to get objects for this origin.

" }, "Id":{ "shape":"NonEmptyString", @@ -1832,7 +2169,7 @@ "documentation":"

An origin that is an S3 bucket that is not configured with static website hosting.

" } }, - "documentation":"

A complex type that describes the Amazon S3 bucket, HTTP server (for example, a web server), Amazon Elemental MediaStore, or other server from which CloudFront gets your files.

" + "documentation":"

A complex type that describes the S3 bucket, HTTP server (for example, a web server), AWS Elemental MediaStore, or other server from which CloudFront gets your files.

" }, "AwsCloudFrontDistributionOriginItemList":{ "type":"list", @@ -1858,6 +2195,40 @@ }, "documentation":"

A complex type that contains information about origins and origin groups for this distribution.

" }, + "AwsCloudFrontDistributionViewerCertificate":{ + "type":"structure", + "members":{ + "AcmCertificateArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the ACM certificate. Used if the certificate is stored in ACM. If you provide an ACM certificate ARN, you must also provide MinimumCertificateVersion and SslSupportMethod.

" + }, + "Certificate":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the certificate. Note that in CloudFront, this attribute is deprecated.

" + }, + "CertificateSource":{ + "shape":"NonEmptyString", + "documentation":"

The source of the certificate identified by Certificate. Note that in CloudFront, this attribute is deprecated.

" + }, + "CloudFrontDefaultCertificate":{ + "shape":"Boolean", + "documentation":"

Whether the distribution uses the CloudFront domain name. If set to false, then you provide either AcmCertificateArn or IamCertificateId.

" + }, + "IamCertificateId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the IAM certificate. Used if the certificate is stored in IAM. If you provide IamCertificateId, then you also must provide MinimumProtocolVersion and SslSupportMethod.

" + }, + "MinimumProtocolVersion":{ + "shape":"NonEmptyString", + "documentation":"

The security policy that CloudFront uses for HTTPS connections with viewers. If SslSupportMethod is sni-only, then MinimumProtocolVersion must be TLSv1 or higher.

" + }, + "SslSupportMethod":{ + "shape":"NonEmptyString", + "documentation":"

The viewers that the distribution accepts HTTPS connections from.

" + } + }, + "documentation":"

Provides information about the TLS/SSL configuration that the distribution uses to communicate with viewers.

" + }, "AwsCloudTrailTrailDetails":{ "type":"structure", "members":{ @@ -1867,7 +2238,7 @@ }, "CloudWatchLogsRoleArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the role that the CloudWatch Logs endpoint assumes when it writes to the log group.

" + "documentation":"

The ARN of the role that the CloudWatch Events endpoint assumes when it writes to the log group.

" }, "HasCustomEventSelectors":{ "shape":"Boolean", @@ -1887,11 +2258,11 @@ }, "IsOrganizationTrail":{ "shape":"Boolean", - "documentation":"

Whether the trail is created for all accounts in an organization in AWS Organizations, or only for the current AWS account.

" + "documentation":"

Whether the trail is created for all accounts in an organization in Organizations, or only for the current Amazon Web Services account.

" }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

The AWS KMS key ID to use to encrypt the logs.

" + "documentation":"

The KMS key ID to use to encrypt the logs.

" }, "LogFileValidationEnabled":{ "shape":"Boolean", @@ -1924,12 +2295,62 @@ }, "documentation":"

Provides details about a CloudTrail trail.

" }, + "AwsCodeBuildProjectArtifactsDetails":{ + "type":"structure", + "members":{ + "ArtifactIdentifier":{ + "shape":"NonEmptyString", + "documentation":"

An identifier for the artifact definition.

" + }, + "EncryptionDisabled":{ + "shape":"Boolean", + "documentation":"

Indicates whether to disable encryption on the artifact. Only valid when Type is S3.

" + }, + "Location":{ + "shape":"NonEmptyString", + "documentation":"

Only used when Type is S3. The name of the S3 bucket where the artifact is located.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

Only used when Type is S3. The name of the artifact. Used with NamepaceType and Path to determine the pattern for storing the artifact.

" + }, + "NamespaceType":{ + "shape":"NonEmptyString", + "documentation":"

Only used when Type is S3. The value to use for the namespace. Used with Name and Path to determine the pattern for storing the artifact.

" + }, + "OverrideArtifactName":{ + "shape":"Boolean", + "documentation":"

Whether the name specified in the buildspec file overrides the artifact name.

" + }, + "Packaging":{ + "shape":"NonEmptyString", + "documentation":"

Only used when Type is S3. The type of output artifact to create.

" + }, + "Path":{ + "shape":"NonEmptyString", + "documentation":"

Only used when Type is S3. The path to the artifact. Used with Name and NamespaceType to determine the pattern for storing the artifact.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of build artifact.

" + } + }, + "documentation":"

Information about the build artifacts for the CodeBuild project.

" + }, + "AwsCodeBuildProjectArtifactsList":{ + "type":"list", + "member":{"shape":"AwsCodeBuildProjectArtifactsDetails"} + }, "AwsCodeBuildProjectDetails":{ "type":"structure", "members":{ "EncryptionKey":{ "shape":"NonEmptyString", - "documentation":"

The AWS Key Management Service (AWS KMS) customer master key (CMK) used to encrypt the build output artifacts.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK alias (using the format alias/alias-name).

" + "documentation":"

The KMS key used to encrypt the build output artifacts.

You can specify either the ARN of the KMS key or, if available, the KMS key alias (using the format alias/alias-name).

" + }, + "Artifacts":{ + "shape":"AwsCodeBuildProjectArtifactsList", + "documentation":"

Information about the build artifacts for the CodeBuild project.

" }, "Environment":{ "shape":"AwsCodeBuildProjectEnvironment", @@ -1945,14 +2366,18 @@ }, "ServiceRole":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the IAM role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

" + "documentation":"

The ARN of the IAM role that enables CodeBuild to interact with dependent Amazon Web Services services on behalf of the Amazon Web Services account.

" + }, + "LogsConfig":{ + "shape":"AwsCodeBuildProjectLogsConfigDetails", + "documentation":"

Information about logs for the build project.

" }, "VpcConfig":{ "shape":"AwsCodeBuildProjectVpcConfig", - "documentation":"

Information about the VPC configuration that AWS CodeBuild accesses.

" + "documentation":"

Information about the VPC configuration that CodeBuild accesses.

" } }, - "documentation":"

Information about an AWS CodeBuild project.

" + "documentation":"

Information about an CodeBuild project.

" }, "AwsCodeBuildProjectEnvironment":{ "type":"structure", @@ -1961,9 +2386,17 @@ "shape":"NonEmptyString", "documentation":"

The certificate to use with this build project.

" }, + "EnvironmentVariables":{ + "shape":"AwsCodeBuildProjectEnvironmentEnvironmentVariablesList", + "documentation":"

A set of environment variables to make available to builds for the build project.

" + }, + "PrivilegedMode":{ + "shape":"Boolean", + "documentation":"

Whether to allow the Docker daemon to run inside a Docker container. Set to true if the build project is used to build Docker images.

" + }, "ImagePullCredentialsType":{ "shape":"NonEmptyString", - "documentation":"

The type of credentials AWS CodeBuild uses to pull images in your build.

Valid values:

When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD credentials.

" + "documentation":"

The type of credentials CodeBuild uses to pull images in your build.

Valid values:

When you use a cross-account or private registry image, you must use SERVICE_ROLE credentials. When you use an CodeBuild curated image, you must use CODEBUILD credentials.

" }, "RegistryCredential":{ "shape":"AwsCodeBuildProjectEnvironmentRegistryCredential", @@ -1976,30 +2409,102 @@ }, "documentation":"

Information about the build environment for this build project.

" }, + "AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the environment variable.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of environment variable.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value of the environment variable.

" + } + }, + "documentation":"

Information about an environment variable that is available to builds for the build project.

" + }, + "AwsCodeBuildProjectEnvironmentEnvironmentVariablesList":{ + "type":"list", + "member":{"shape":"AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails"} + }, "AwsCodeBuildProjectEnvironmentRegistryCredential":{ "type":"structure", "members":{ "Credential":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets Manager.

The credential can use the name of the credentials only if they exist in your current AWS Region.

" + "documentation":"

The ARN or name of credentials created using Secrets Manager.

The credential can use the name of the credentials only if they exist in your current Amazon Web Services Region.

" }, "CredentialProvider":{ "shape":"NonEmptyString", - "documentation":"

The service that created the credentials to access a private Docker registry.

The valid value, SECRETS_MANAGER, is for AWS Secrets Manager.

" + "documentation":"

The service that created the credentials to access a private Docker registry.

The valid value, SECRETS_MANAGER, is for Secrets Manager.

" } }, "documentation":"

The credentials for access to a private registry.

" }, + "AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails":{ + "type":"structure", + "members":{ + "GroupName":{ + "shape":"NonEmptyString", + "documentation":"

The group name of the logs in CloudWatch Logs.

" + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

The current status of the logs in CloudWatch Logs for a build project.

" + }, + "StreamName":{ + "shape":"NonEmptyString", + "documentation":"

The prefix of the stream name of the CloudWatch Logs.

" + } + }, + "documentation":"

Information about CloudWatch Logs for the build project.

" + }, + "AwsCodeBuildProjectLogsConfigDetails":{ + "type":"structure", + "members":{ + "CloudWatchLogs":{ + "shape":"AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails", + "documentation":"

Information about CloudWatch Logs for the build project.

" + }, + "S3Logs":{ + "shape":"AwsCodeBuildProjectLogsConfigS3LogsDetails", + "documentation":"

Information about logs built to an S3 bucket for a build project.

" + } + }, + "documentation":"

Information about logs for the build project.

" + }, + "AwsCodeBuildProjectLogsConfigS3LogsDetails":{ + "type":"structure", + "members":{ + "EncryptionDisabled":{ + "shape":"Boolean", + "documentation":"

Whether to disable encryption of the S3 build log output.

" + }, + "Location":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the S3 bucket and the path prefix for S3 logs.

" + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

The current status of the S3 build logs.

" + } + }, + "documentation":"

Information about logs built to an S3 bucket for a build project.

" + }, "AwsCodeBuildProjectSource":{ "type":"structure", "members":{ "Type":{ "shape":"NonEmptyString", - "documentation":"

The type of repository that contains the source code to be built. Valid values are:

" + "documentation":"

The type of repository that contains the source code to be built. Valid values are:

" }, "Location":{ "shape":"NonEmptyString", - "documentation":"

Information about the location of the source code to be built.

Valid values include:

" + "documentation":"

Information about the location of the source code to be built.

Valid values include:

" }, "GitCloneDepth":{ "shape":"Integer", @@ -2021,14 +2526,14 @@ }, "Subnets":{ "shape":"NonEmptyStringList", - "documentation":"

A list of one or more subnet IDs in your Amazon VPC.

" + "documentation":"

A list of one or more subnet IDs in your VPC.

" }, "SecurityGroupIds":{ "shape":"NonEmptyStringList", - "documentation":"

A list of one or more security group IDs in your Amazon VPC.

" + "documentation":"

A list of one or more security group IDs in your VPC.

" } }, - "documentation":"

Information about the VPC configuration that AWS CodeBuild accesses.

" + "documentation":"

Information about the VPC configuration that CodeBuild accesses.

" }, "AwsCorsConfiguration":{ "type":"structure", @@ -2323,7 +2828,7 @@ }, "KmsMasterKeyId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the AWS KMS customer master key (CMK) that will be used for AWS KMS encryption for the replica.

" + "documentation":"

The identifier of the KMS key that will be used for KMS encryption for the replica.

" }, "ProvisionedThroughputOverride":{ "shape":"AwsDynamoDbTableProvisionedThroughputOverride", @@ -2405,7 +2910,7 @@ }, "KmsMasterKeyArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the AWS KMS customer master key (CMK) that is used for the AWS KMS encryption.

" + "documentation":"

The ARN of the KMS key that is used for the KMS encryption.

" } }, "documentation":"

Information about the server-side encryption for the table.

" @@ -2437,7 +2942,7 @@ }, "AllocationId":{ "shape":"NonEmptyString", - "documentation":"

The identifier that AWS assigns to represent the allocation of the Elastic IP address for use with Amazon VPC.

" + "documentation":"

The identifier that Amazon Web Services assigns to represent the allocation of the Elastic IP address for use with Amazon VPC.

" }, "AssociationId":{ "shape":"NonEmptyString", @@ -2461,7 +2966,7 @@ }, "NetworkInterfaceOwnerId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID of the owner of the network interface.

" + "documentation":"

The Amazon Web Services account ID of the owner of the network interface.

" }, "PrivateIpAddress":{ "shape":"NonEmptyString", @@ -2508,9 +3013,121 @@ "LaunchedAt":{ "shape":"NonEmptyString", "documentation":"

Indicates when the instance was launched.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" + }, + "NetworkInterfaces":{ + "shape":"AwsEc2InstanceNetworkInterfacesList", + "documentation":"

The identifiers of the network interfaces for the EC2 instance. The details for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails object.

" + } + }, + "documentation":"

The details of an EC2 instance.

" + }, + "AwsEc2InstanceNetworkInterfacesDetails":{ + "type":"structure", + "members":{ + "NetworkInterfaceId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the network interface. The details are in a corresponding AwsEc2NetworkInterfacesDetails object.

" + } + }, + "documentation":"

Identifies a network interface for the EC2 instance.

" + }, + "AwsEc2InstanceNetworkInterfacesList":{ + "type":"list", + "member":{"shape":"AwsEc2InstanceNetworkInterfacesDetails"} + }, + "AwsEc2NetworkAclAssociation":{ + "type":"structure", + "members":{ + "NetworkAclAssociationId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the association between the network ACL and the subnet.

" + }, + "NetworkAclId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the network ACL.

" + }, + "SubnetId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the subnet that is associated with the network ACL.

" + } + }, + "documentation":"

An association between the network ACL and a subnet.

" + }, + "AwsEc2NetworkAclAssociationList":{ + "type":"list", + "member":{"shape":"AwsEc2NetworkAclAssociation"} + }, + "AwsEc2NetworkAclDetails":{ + "type":"structure", + "members":{ + "IsDefault":{ + "shape":"Boolean", + "documentation":"

Whether this is the default network ACL for the VPC.

" + }, + "NetworkAclId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the network ACL.

" + }, + "OwnerId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the Amazon Web Services account that owns the network ACL.

" + }, + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the VPC for the network ACL.

" + }, + "Associations":{ + "shape":"AwsEc2NetworkAclAssociationList", + "documentation":"

Associations between the network ACL and subnets.

" + }, + "Entries":{ + "shape":"AwsEc2NetworkAclEntryList", + "documentation":"

The set of rules in the network ACL.

" + } + }, + "documentation":"

Contains details about an EC2 network access control list (ACL).

" + }, + "AwsEc2NetworkAclEntry":{ + "type":"structure", + "members":{ + "CidrBlock":{ + "shape":"NonEmptyString", + "documentation":"

The IPV4 network range for which to deny or allow access.

" + }, + "Egress":{ + "shape":"Boolean", + "documentation":"

Whether the rule is an egress rule. An egress rule is a rule that applies to traffic that leaves the subnet.

" + }, + "IcmpTypeCode":{ + "shape":"IcmpTypeCode", + "documentation":"

The Internet Control Message Protocol (ICMP) type and code for which to deny or allow access.

" + }, + "Ipv6CidrBlock":{ + "shape":"NonEmptyString", + "documentation":"

The IPV6 network range for which to deny or allow access.

" + }, + "PortRange":{ + "shape":"PortRangeFromTo", + "documentation":"

For TCP or UDP protocols, the range of ports that the rule applies to.

" + }, + "Protocol":{ + "shape":"NonEmptyString", + "documentation":"

The protocol that the rule applies to. To deny or allow access to all protocols, use the value -1.

" + }, + "RuleAction":{ + "shape":"NonEmptyString", + "documentation":"

Whether the rule is used to allow access or deny access.

" + }, + "RuleNumber":{ + "shape":"Integer", + "documentation":"

The rule number. The rules are processed in order by their number.

" } }, - "documentation":"

The details of an Amazon EC2 instance.

" + "documentation":"

A rule for the network ACL. Each rule allows or denies access based on the IP address, traffic direction, port, and protocol.

" + }, + "AwsEc2NetworkAclEntryList":{ + "type":"list", + "member":{"shape":"AwsEc2NetworkAclEntry"} }, "AwsEc2NetworkInterfaceAttachment":{ "type":"structure", @@ -2537,7 +3154,7 @@ }, "InstanceOwnerId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID of the owner of the instance.

" + "documentation":"

The Amazon Web Services account ID of the owner of the instance.

" }, "Status":{ "shape":"NonEmptyString", @@ -2647,7 +3264,7 @@ }, "OwnerId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID of the owner of the security group.

" + "documentation":"

The Amazon Web Services account ID of the owner of the security group.

" }, "VpcId":{ "shape":"NonEmptyString", @@ -2681,7 +3298,7 @@ }, "UserIdGroupPairs":{ "shape":"AwsEc2SecurityGroupUserIdGroupPairList", - "documentation":"

The security group and AWS account ID pairs.

" + "documentation":"

The security group and Amazon Web Services account ID pairs.

" }, "IpRanges":{ "shape":"AwsEc2SecurityGroupIpRangeList", @@ -2693,7 +3310,7 @@ }, "PrefixListIds":{ "shape":"AwsEc2SecurityGroupPrefixListIdList", - "documentation":"

[VPC only] The prefix list IDs for an AWS service. With outbound rules, this is the AWS service to access through a VPC endpoint from instances associated with the security group.

" + "documentation":"

[VPC only] The prefix list IDs for an Amazon Web Services service. With outbound rules, this is the Amazon Web Services service to access through a VPC endpoint from instances associated with the security group.

" } }, "documentation":"

An IP permission for an EC2 security group.

" @@ -2761,7 +3378,7 @@ }, "UserId":{ "shape":"NonEmptyString", - "documentation":"

The ID of an AWS account.

For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned.

[EC2-Classic] Required when adding or removing rules that reference a security group in another AWS.

" + "documentation":"

The ID of an Amazon Web Services account.

For a referenced security group in another VPC, the account ID of the referenced security group is returned in the response. If the referenced security group is deleted, this value is not returned.

[EC2-Classic] Required when adding or removing rules that reference a security group in another VPC.

" }, "VpcId":{ "shape":"NonEmptyString", @@ -2778,6 +3395,64 @@ "type":"list", "member":{"shape":"AwsEc2SecurityGroupUserIdGroupPair"} }, + "AwsEc2SubnetDetails":{ + "type":"structure", + "members":{ + "AssignIpv6AddressOnCreation":{ + "shape":"Boolean", + "documentation":"

Whether to assign an IPV6 address to a network interface that is created in this subnet.

" + }, + "AvailabilityZone":{ + "shape":"NonEmptyString", + "documentation":"

The Availability Zone for the subnet.

" + }, + "AvailabilityZoneId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the Availability Zone for the subnet.

" + }, + "AvailableIpAddressCount":{ + "shape":"Integer", + "documentation":"

The number of available IPV4 addresses in the subnet. Does not include addresses for stopped instances.

" + }, + "CidrBlock":{ + "shape":"NonEmptyString", + "documentation":"

The IPV4 CIDR block that is assigned to the subnet.

" + }, + "DefaultForAz":{ + "shape":"Boolean", + "documentation":"

Whether this subnet is the default subnet for the Availability Zone.

" + }, + "MapPublicIpOnLaunch":{ + "shape":"Boolean", + "documentation":"

Whether instances in this subnet receive a public IP address.

" + }, + "OwnerId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the Amazon Web Services account that owns the subnet.

" + }, + "State":{ + "shape":"NonEmptyString", + "documentation":"

The current state of the subnet.

" + }, + "SubnetArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the subnet.

" + }, + "SubnetId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the subnet.

" + }, + "VpcId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the VPC that contains the subnet.

" + }, + "Ipv6CidrBlockAssociationSet":{ + "shape":"Ipv6CidrBlockAssociationList", + "documentation":"

The IPV6 CIDR blocks that are associated with the subnet.

" + } + }, + "documentation":"

Contains information about a subnet in Amazon EC2.

" + }, "AwsEc2VolumeAttachment":{ "type":"structure", "members":{ @@ -2798,7 +3473,7 @@ "documentation":"

The attachment state of the volume.

" } }, - "documentation":"

An attachment to an AWS EC2 volume.

" + "documentation":"

An attachment to an Amazon EC2 volume.

" }, "AwsEc2VolumeAttachmentList":{ "type":"list", @@ -2829,7 +3504,7 @@ }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

" + "documentation":"

The ARN of the KMS key that was used to protect the volume encryption key for the volume.

" }, "Attachments":{ "shape":"AwsEc2VolumeAttachmentList", @@ -2860,115 +3535,1968 @@ }, "documentation":"

Details about an EC2 VPC.

" }, - "AwsElasticsearchDomainDetails":{ + "AwsEc2VpcEndpointServiceDetails":{ "type":"structure", "members":{ - "AccessPolicies":{ - "shape":"NonEmptyString", - "documentation":"

IAM policy document specifying the access policies for the new Amazon ES domain.

" + "AcceptanceRequired":{ + "shape":"Boolean", + "documentation":"

Whether requests from other Amazon Web Services accounts to create an endpoint to the service must first be accepted.

" }, - "DomainEndpointOptions":{ - "shape":"AwsElasticsearchDomainDomainEndpointOptions", - "documentation":"

Additional options for the domain endpoint.

" + "AvailabilityZones":{ + "shape":"NonEmptyStringList", + "documentation":"

The Availability Zones where the service is available.

" }, - "DomainId":{ - "shape":"NonEmptyString", - "documentation":"

Unique identifier for an Amazon ES domain.

" + "BaseEndpointDnsNames":{ + "shape":"NonEmptyStringList", + "documentation":"

The DNS names for the service.

" }, - "DomainName":{ - "shape":"NonEmptyString", - "documentation":"

Name of an Amazon ES domain.

Domain names are unique across all domains owned by the same account within an AWS Region.

Domain names must start with a lowercase letter and must be between 3 and 28 characters.

Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

" + "ManagesVpcEndpoints":{ + "shape":"Boolean", + "documentation":"

Whether the service manages its VPC endpoints.

" }, - "Endpoint":{ - "shape":"NonEmptyString", - "documentation":"

Domain-specific endpoint used to submit index, search, and data upload requests to an Amazon ES domain.

The endpoint is a service URL.

" + "GatewayLoadBalancerArns":{ + "shape":"NonEmptyStringList", + "documentation":"

The ARNs of the Gateway Load Balancers for the service.

" }, - "Endpoints":{ - "shape":"FieldMap", - "documentation":"

The key-value pair that exists if the Amazon ES domain uses VPC endpoints.

" + "NetworkLoadBalancerArns":{ + "shape":"NonEmptyStringList", + "documentation":"

The ARNs of the Network Load Balancers for the service.

" }, - "ElasticsearchVersion":{ + "PrivateDnsName":{ "shape":"NonEmptyString", - "documentation":"

Elasticsearch version.

" + "documentation":"

The private DNS name for the service.

" }, - "EncryptionAtRestOptions":{ - "shape":"AwsElasticsearchDomainEncryptionAtRestOptions", - "documentation":"

Details about the configuration for encryption at rest.

" + "ServiceId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the service.

" }, - "NodeToNodeEncryptionOptions":{ - "shape":"AwsElasticsearchDomainNodeToNodeEncryptionOptions", - "documentation":"

Details about the configuration for node-to-node encryption.

" + "ServiceName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the service.

" }, - "VPCOptions":{ - "shape":"AwsElasticsearchDomainVPCOptions", - "documentation":"

Information that Amazon ES derives based on VPCOptions for the domain.

" + "ServiceState":{ + "shape":"NonEmptyString", + "documentation":"

The current state of the service.

" + }, + "ServiceType":{ + "shape":"AwsEc2VpcEndpointServiceServiceTypeList", + "documentation":"

The types for the service.

" } }, - "documentation":"

Information about an Elasticsearch domain.

" + "documentation":"

Contains details about the service configuration for a VPC endpoint service.

" }, - "AwsElasticsearchDomainDomainEndpointOptions":{ + "AwsEc2VpcEndpointServiceServiceTypeDetails":{ "type":"structure", "members":{ - "EnforceHTTPS":{ - "shape":"Boolean", - "documentation":"

Whether to require that all traffic to the domain arrive over HTTPS.

" - }, - "TLSSecurityPolicy":{ + "ServiceType":{ "shape":"NonEmptyString", - "documentation":"

The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch domain.

Valid values:

" + "documentation":"

The type of service.

" } }, - "documentation":"

Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.

" + "documentation":"

The service type information for a VPC endpoint service.

" }, - "AwsElasticsearchDomainEncryptionAtRestOptions":{ + "AwsEc2VpcEndpointServiceServiceTypeList":{ + "type":"list", + "member":{"shape":"AwsEc2VpcEndpointServiceServiceTypeDetails"} + }, + "AwsEc2VpnConnectionDetails":{ "type":"structure", "members":{ - "Enabled":{ - "shape":"Boolean", - "documentation":"

Whether encryption at rest is enabled.

" + "VpnConnectionId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the VPN connection.

" }, - "KmsKeyId":{ + "State":{ "shape":"NonEmptyString", - "documentation":"

The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.

" + "documentation":"

The current state of the VPN connection.

" + }, + "CustomerGatewayId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the customer gateway that is at your end of the VPN connection.

" + }, + "CustomerGatewayConfiguration":{ + "shape":"NonEmptyString", + "documentation":"

The configuration information for the VPN connection's customer gateway, in the native XML format.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of VPN connection.

" + }, + "VpnGatewayId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the virtual private gateway that is at the Amazon Web Services side of the VPN connection.

" + }, + "Category":{ + "shape":"NonEmptyString", + "documentation":"

The category of the VPN connection. VPN indicates an Amazon Web Services VPN connection. VPN-Classic indicates an Amazon Web Services Classic VPN connection.

" + }, + "VgwTelemetry":{ + "shape":"AwsEc2VpnConnectionVgwTelemetryList", + "documentation":"

Information about the VPN tunnel.

" + }, + "Options":{ + "shape":"AwsEc2VpnConnectionOptionsDetails", + "documentation":"

The VPN connection options.

" + }, + "Routes":{ + "shape":"AwsEc2VpnConnectionRoutesList", + "documentation":"

The static routes that are associated with the VPN connection.

" + }, + "TransitGatewayId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the transit gateway that is associated with the VPN connection.

" } }, - "documentation":"

Details about the configuration for encryption at rest.

" + "documentation":"

Details about an Amazon EC2 VPN connection.

" }, - "AwsElasticsearchDomainNodeToNodeEncryptionOptions":{ + "AwsEc2VpnConnectionOptionsDetails":{ "type":"structure", "members":{ - "Enabled":{ + "StaticRoutesOnly":{ "shape":"Boolean", - "documentation":"

Whether node-to-node encryption is enabled.

" + "documentation":"

Whether the VPN connection uses static routes only.

" + }, + "TunnelOptions":{ + "shape":"AwsEc2VpnConnectionOptionsTunnelOptionsList", + "documentation":"

The VPN tunnel options.

" } }, - "documentation":"

Details about the configuration for node-to-node encryption.

" + "documentation":"

VPN connection options.

" }, - "AwsElasticsearchDomainVPCOptions":{ + "AwsEc2VpnConnectionOptionsTunnelOptionsDetails":{ "type":"structure", "members":{ - "AvailabilityZones":{ + "DpdTimeoutSeconds":{ + "shape":"Integer", + "documentation":"

The number of seconds after which a Dead Peer Detection (DPD) timeout occurs.

" + }, + "IkeVersions":{ "shape":"NonEmptyStringList", - "documentation":"

The list of Availability Zones associated with the VPC subnets.

" + "documentation":"

The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel.

" }, - "SecurityGroupIds":{ + "OutsideIpAddress":{ + "shape":"NonEmptyString", + "documentation":"

The external IP address of the VPN tunnel.

" + }, + "Phase1DhGroupNumbers":{ + "shape":"IntegerList", + "documentation":"

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1 IKE negotiations.

" + }, + "Phase1EncryptionAlgorithms":{ "shape":"NonEmptyStringList", - "documentation":"

The list of security group IDs associated with the VPC endpoints for the domain.

" + "documentation":"

The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.

" }, - "SubnetIds":{ + "Phase1IntegrityAlgorithms":{ "shape":"NonEmptyStringList", - "documentation":"

A list of subnet IDs associated with the VPC endpoints for the domain.

" + "documentation":"

The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.

" }, - "VPCId":{ + "Phase1LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 1 of the IKE negotiation, in seconds.

" + }, + "Phase2DhGroupNumbers":{ + "shape":"IntegerList", + "documentation":"

The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2 IKE negotiations.

" + }, + "Phase2EncryptionAlgorithms":{ + "shape":"NonEmptyStringList", + "documentation":"

The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.

" + }, + "Phase2IntegrityAlgorithms":{ + "shape":"NonEmptyStringList", + "documentation":"

The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.

" + }, + "Phase2LifetimeSeconds":{ + "shape":"Integer", + "documentation":"

The lifetime for phase 2 of the IKE negotiation, in seconds.

" + }, + "PreSharedKey":{ "shape":"NonEmptyString", - "documentation":"

ID for the VPC.

" + "documentation":"

The preshared key to establish initial authentication between the virtual private gateway and the customer gateway.

" + }, + "RekeyFuzzPercentage":{ + "shape":"Integer", + "documentation":"

The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds during which the rekey time is randomly selected.

" + }, + "RekeyMarginTimeSeconds":{ + "shape":"Integer", + "documentation":"

The margin time, in seconds, before the phase 2 lifetime expires, during which the Amazon Web Services side of the VPN connection performs an IKE rekey.

" + }, + "ReplayWindowSize":{ + "shape":"Integer", + "documentation":"

The number of packets in an IKE replay window.

" + }, + "TunnelInsideCidr":{ + "shape":"NonEmptyString", + "documentation":"

The range of inside IPv4 addresses for the tunnel.

" } }, - "documentation":"

Information that Amazon ES derives based on VPCOptions for the domain.

" + "documentation":"

The VPN tunnel options.

" }, - "AwsElbAppCookieStickinessPolicies":{ + "AwsEc2VpnConnectionOptionsTunnelOptionsList":{ "type":"list", - "member":{"shape":"AwsElbAppCookieStickinessPolicy"} + "member":{"shape":"AwsEc2VpnConnectionOptionsTunnelOptionsDetails"} + }, + "AwsEc2VpnConnectionRoutesDetails":{ + "type":"structure", + "members":{ + "DestinationCidrBlock":{ + "shape":"NonEmptyString", + "documentation":"

The CIDR block associated with the local subnet of the customer data center.

" + }, + "State":{ + "shape":"NonEmptyString", + "documentation":"

The current state of the static route.

" + } + }, + "documentation":"

A static routes associated with the VPN connection.

" + }, + "AwsEc2VpnConnectionRoutesList":{ + "type":"list", + "member":{"shape":"AwsEc2VpnConnectionRoutesDetails"} + }, + "AwsEc2VpnConnectionVgwTelemetryDetails":{ + "type":"structure", + "members":{ + "AcceptedRouteCount":{ + "shape":"Integer", + "documentation":"

The number of accepted routes.

" + }, + "CertificateArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the VPN tunnel endpoint certificate.

" + }, + "LastStatusChange":{ + "shape":"NonEmptyString", + "documentation":"

The date and time of the last change in status.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" + }, + "OutsideIpAddress":{ + "shape":"NonEmptyString", + "documentation":"

The Internet-routable IP address of the virtual private gateway's outside interface.

" + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

The status of the VPN tunnel.

" + }, + "StatusMessage":{ + "shape":"NonEmptyString", + "documentation":"

If an error occurs, a description of the error.

" + } + }, + "documentation":"

Information about the VPN tunnel.

" + }, + "AwsEc2VpnConnectionVgwTelemetryList":{ + "type":"list", + "member":{"shape":"AwsEc2VpnConnectionVgwTelemetryDetails"} + }, + "AwsEcrContainerImageDetails":{ + "type":"structure", + "members":{ + "RegistryId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Web Services account identifier that is associated with the registry that the image belongs to.

" + }, + "RepositoryName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the repository that the image belongs to.

" + }, + "Architecture":{ + "shape":"NonEmptyString", + "documentation":"

The architecture of the image.

" + }, + "ImageDigest":{ + "shape":"NonEmptyString", + "documentation":"

The sha256 digest of the image manifest.

" + }, + "ImageTags":{ + "shape":"NonEmptyStringList", + "documentation":"

The list of tags that are associated with the image.

" + }, + "ImagePublishedAt":{ + "shape":"NonEmptyString", + "documentation":"

The date and time when the image was pushed to the repository.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" + } + }, + "documentation":"

Information about an Amazon ECR image.

" + }, + "AwsEcrRepositoryDetails":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the repository.

" + }, + "ImageScanningConfiguration":{ + "shape":"AwsEcrRepositoryImageScanningConfigurationDetails", + "documentation":"

The image scanning configuration for a repository.

" + }, + "ImageTagMutability":{ + "shape":"NonEmptyString", + "documentation":"

The tag mutability setting for the repository.

" + }, + "LifecyclePolicy":{ + "shape":"AwsEcrRepositoryLifecyclePolicyDetails", + "documentation":"

Information about the lifecycle policy for the repository.

" + }, + "RepositoryName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the repository.

" + }, + "RepositoryPolicyText":{ + "shape":"NonEmptyString", + "documentation":"

The text of the repository policy.

" + } + }, + "documentation":"

Provides information about an Amazon Elastic Container Registry repository.

" + }, + "AwsEcrRepositoryImageScanningConfigurationDetails":{ + "type":"structure", + "members":{ + "ScanOnPush":{ + "shape":"Boolean", + "documentation":"

Whether to scan images after they are pushed to a repository.

" + } + }, + "documentation":"

The image scanning configuration for a repository.

" + }, + "AwsEcrRepositoryLifecyclePolicyDetails":{ + "type":"structure", + "members":{ + "LifecyclePolicyText":{ + "shape":"NonEmptyString", + "documentation":"

The text of the lifecycle policy.

" + }, + "RegistryId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Web Services account identifier that is associated with the registry that contains the repository.

" + } + }, + "documentation":"

Information about the lifecycle policy for the repository.

" + }, + "AwsEcsClusterClusterSettingsDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the setting.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value of the setting.

" + } + }, + "documentation":"

Indicates whether to enable CloudWatch Container Insights for the ECS cluster.

" + }, + "AwsEcsClusterClusterSettingsList":{ + "type":"list", + "member":{"shape":"AwsEcsClusterClusterSettingsDetails"} + }, + "AwsEcsClusterConfigurationDetails":{ + "type":"structure", + "members":{ + "ExecuteCommandConfiguration":{ + "shape":"AwsEcsClusterConfigurationExecuteCommandConfigurationDetails", + "documentation":"

Contains the run command configuration for the cluster.

" + } + }, + "documentation":"

The run command configuration for the cluster.

" + }, + "AwsEcsClusterConfigurationExecuteCommandConfigurationDetails":{ + "type":"structure", + "members":{ + "KmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the KMS key that is used to encrypt the data between the local client and the container.

" + }, + "LogConfiguration":{ + "shape":"AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails", + "documentation":"

The log configuration for the results of the run command actions. Required if Logging is NONE.

" + }, + "Logging":{ + "shape":"NonEmptyString", + "documentation":"

The log setting to use for redirecting logs for run command results.

" + } + }, + "documentation":"

Contains the run command configuration for the cluster.

" + }, + "AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails":{ + "type":"structure", + "members":{ + "CloudWatchEncryptionEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to enable encryption on the CloudWatch logs.

" + }, + "CloudWatchLogGroupName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the CloudWatch log group to send the logs to.

" + }, + "S3BucketName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the S3 bucket to send logs to.

" + }, + "S3EncryptionEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to encrypt the logs that are sent to the S3 bucket.

" + }, + "S3KeyPrefix":{ + "shape":"NonEmptyString", + "documentation":"

Identifies the folder in the S3 bucket to send the logs to.

" + } + }, + "documentation":"

The log configuration for the results of the run command actions.

" + }, + "AwsEcsClusterDefaultCapacityProviderStrategyDetails":{ + "type":"structure", + "members":{ + "Base":{ + "shape":"Integer", + "documentation":"

The minimum number of tasks to run on the specified capacity provider.

" + }, + "CapacityProvider":{ + "shape":"NonEmptyString", + "documentation":"

The name of the capacity provider.

" + }, + "Weight":{ + "shape":"Integer", + "documentation":"

The relative percentage of the total number of tasks launched that should use the capacity provider.

" + } + }, + "documentation":"

The default capacity provider strategy for the cluster. The default capacity provider strategy is used when services or tasks are run without a specified launch type or capacity provider strategy.

" + }, + "AwsEcsClusterDefaultCapacityProviderStrategyList":{ + "type":"list", + "member":{"shape":"AwsEcsClusterDefaultCapacityProviderStrategyDetails"} + }, + "AwsEcsClusterDetails":{ + "type":"structure", + "members":{ + "CapacityProviders":{ + "shape":"NonEmptyStringList", + "documentation":"

The short name of one or more capacity providers to associate with the cluster.

" + }, + "ClusterSettings":{ + "shape":"AwsEcsClusterClusterSettingsList", + "documentation":"

The setting to use to create the cluster. Specifically used to configure whether to enable CloudWatch Container Insights for the cluster.

" + }, + "Configuration":{ + "shape":"AwsEcsClusterConfigurationDetails", + "documentation":"

The run command configuration for the cluster.

" + }, + "DefaultCapacityProviderStrategy":{ + "shape":"AwsEcsClusterDefaultCapacityProviderStrategyList", + "documentation":"

The default capacity provider strategy for the cluster. The default capacity provider strategy is used when services or tasks are run without a specified launch type or capacity provider strategy.

" + } + }, + "documentation":"

provides details about an ECS cluster.

" + }, + "AwsEcsServiceCapacityProviderStrategyDetails":{ + "type":"structure", + "members":{ + "Base":{ + "shape":"Integer", + "documentation":"

The minimum number of tasks to run on the capacity provider. Only one strategy item can specify a value for Base.

The value must be between 0 and 100000.

" + }, + "CapacityProvider":{ + "shape":"NonEmptyString", + "documentation":"

The short name of the capacity provider.

" + }, + "Weight":{ + "shape":"Integer", + "documentation":"

The relative percentage of the total number of tasks that should use the capacity provider.

If no weight is specified, the default value is 0. At least one capacity provider must have a weight greater than 0.

The value can be between 0 and 1000.

" + } + }, + "documentation":"

Strategy item for the capacity provider strategy that the service uses.

" + }, + "AwsEcsServiceCapacityProviderStrategyList":{ + "type":"list", + "member":{"shape":"AwsEcsServiceCapacityProviderStrategyDetails"} + }, + "AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails":{ + "type":"structure", + "members":{ + "Enable":{ + "shape":"Boolean", + "documentation":"

Whether to enable the deployment circuit breaker logic for the service.

" + }, + "Rollback":{ + "shape":"Boolean", + "documentation":"

Whether to roll back the service if a service deployment fails. If rollback is enabled, when a service deployment fails, the service is rolled back to the last deployment that completed successfully.

" + } + }, + "documentation":"

Determines whether a service deployment fails if a service cannot reach a steady state.

" + }, + "AwsEcsServiceDeploymentConfigurationDetails":{ + "type":"structure", + "members":{ + "DeploymentCircuitBreaker":{ + "shape":"AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails", + "documentation":"

Determines whether a service deployment fails if a service cannot reach a steady state.

" + }, + "MaximumPercent":{ + "shape":"Integer", + "documentation":"

For a service that uses the rolling update (ECS) deployment type, the maximum number of tasks in a service that are allowed in the RUNNING or PENDING state during a deployment, and for tasks that use the EC2 launch type, when any container instances are in the DRAINING state. Provided as a percentage of the desired number of tasks. The default value is 200%.

For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment types, and tasks that use the EC2 launch type, the maximum number of tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state.

For the Fargate launch type, the maximum percent value is not used.

" + }, + "MinimumHealthyPercent":{ + "shape":"Integer", + "documentation":"

For a service that uses the rolling update (ECS) deployment type, the minimum number of tasks in a service that must remain in the RUNNING state during a deployment, and while any container instances are in the DRAINING state if the service contains tasks using the EC2 launch type. Expressed as a percentage of the desired number of tasks. The default value is 100%.

For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and tasks that use the EC2 launch type, the minimum number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state.

For the Fargate launch type, the minimum healthy percent value is not used.

" + } + }, + "documentation":"

Optional deployment parameters for the service.

" + }, + "AwsEcsServiceDeploymentControllerDetails":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The rolling update (ECS) deployment type replaces the current running version of the container with the latest version.

The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment model that is powered by CodeDeploy. This deployment model a new deployment of a service can be verified before production traffic is sent to it.

The external (EXTERNAL) deployment type allows the use of any third-party deployment controller for full control over the deployment process for an Amazon ECS service.

Valid values: ECS | CODE_DEPLOY | EXTERNAL

" + } + }, + "documentation":"

Information about the deployment controller type that the service uses.

" + }, + "AwsEcsServiceDetails":{ + "type":"structure", + "members":{ + "CapacityProviderStrategy":{ + "shape":"AwsEcsServiceCapacityProviderStrategyList", + "documentation":"

The capacity provider strategy that the service uses.

" + }, + "Cluster":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the cluster that hosts the service.

" + }, + "DeploymentConfiguration":{ + "shape":"AwsEcsServiceDeploymentConfigurationDetails", + "documentation":"

Deployment parameters for the service. Includes the number of tasks that run and the order in which to start and stop tasks.

" + }, + "DeploymentController":{ + "shape":"AwsEcsServiceDeploymentControllerDetails", + "documentation":"

Contains the deployment controller type that the service uses.

" + }, + "DesiredCount":{ + "shape":"Integer", + "documentation":"

The number of instantiations of the task definition to run on the service.

" + }, + "EnableEcsManagedTags":{ + "shape":"Boolean", + "documentation":"

Whether to enable Amazon ECS managed tags for the tasks in the service.

" + }, + "EnableExecuteCommand":{ + "shape":"Boolean", + "documentation":"

Whether the execute command functionality is enabled for the service.

" + }, + "HealthCheckGracePeriodSeconds":{ + "shape":"Integer", + "documentation":"

After a task starts, the amount of time in seconds that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing target health checks.

" + }, + "LaunchType":{ + "shape":"NonEmptyString", + "documentation":"

The launch type that the service uses.

Valid values: EC2 | FARGATE | EXTERNAL

" + }, + "LoadBalancers":{ + "shape":"AwsEcsServiceLoadBalancersList", + "documentation":"

Information about the load balancers that the service uses.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the service.

" + }, + "NetworkConfiguration":{ + "shape":"AwsEcsServiceNetworkConfigurationDetails", + "documentation":"

For tasks that use the awsvpc networking mode, the VPC subnet and security group configuration.

" + }, + "PlacementConstraints":{ + "shape":"AwsEcsServicePlacementConstraintsList", + "documentation":"

The placement constraints for the tasks in the service.

" + }, + "PlacementStrategies":{ + "shape":"AwsEcsServicePlacementStrategiesList", + "documentation":"

Information about how tasks for the service are placed.

" + }, + "PlatformVersion":{ + "shape":"NonEmptyString", + "documentation":"

The platform version on which to run the service. Only specified for tasks that are hosted on Fargate. If a platform version is not specified, the LATEST platform version is used by default.

" + }, + "PropagateTags":{ + "shape":"NonEmptyString", + "documentation":"

Indicates whether to propagate the tags from the task definition to the task or from the service to the task. If no value is provided, then tags are not propagated.

Valid values: TASK_DEFINITION | SERVICE

" + }, + "Role":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the IAM role that is associated with the service. The role allows the Amazon ECS container agent to register container instances with an Elastic Load Balancing load balancer.

" + }, + "SchedulingStrategy":{ + "shape":"NonEmptyString", + "documentation":"

The scheduling strategy to use for the service.

The REPLICA scheduling strategy places and maintains the desired number of tasks across the cluster. By default, the service scheduler spreads tasks across Availability Zones. Task placement strategies and constraints are used to customize task placement decisions.

The DAEMON scheduling strategy deploys exactly one task on each active container instance that meets all of the task placement constraints that are specified in the cluster. The service scheduler also evaluates the task placement constraints for running tasks and stops tasks that do not meet the placement constraints.

Valid values: REPLICA | DAEMON

" + }, + "ServiceArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the service.

" + }, + "ServiceName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the service.

The name can contain up to 255 characters. It can use letters, numbers, underscores, and hyphens.

" + }, + "ServiceRegistries":{ + "shape":"AwsEcsServiceServiceRegistriesList", + "documentation":"

Information about the service discovery registries to assign to the service.

" + }, + "TaskDefinition":{ + "shape":"NonEmptyString", + "documentation":"

The task definition to use for tasks in the service.

" + } + }, + "documentation":"

Provides details about a service within an ECS cluster.

" + }, + "AwsEcsServiceLoadBalancersDetails":{ + "type":"structure", + "members":{ + "ContainerName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the container to associate with the load balancer.

" + }, + "ContainerPort":{ + "shape":"Integer", + "documentation":"

The port on the container to associate with the load balancer. This port must correspond to a containerPort in the task definition the tasks in the service are using. For tasks that use the EC2 launch type, the container instance they are launched on must allow ingress traffic on the hostPort of the port mapping.

" + }, + "LoadBalancerName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the load balancer to associate with the Amazon ECS service or task set.

Only specified when using a Classic Load Balancer. For an Application Load Balancer or a Network Load Balancer, the load balancer name is omitted.

" + }, + "TargetGroupArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the Elastic Load Balancing target group or groups associated with a service or task set.

Only specified when using an Application Load Balancer or a Network Load Balancer. For a Classic Load Balancer, the target group ARN is omitted.

" + } + }, + "documentation":"

Information about a load balancer that the service uses.

" + }, + "AwsEcsServiceLoadBalancersList":{ + "type":"list", + "member":{"shape":"AwsEcsServiceLoadBalancersDetails"} + }, + "AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails":{ + "type":"structure", + "members":{ + "AssignPublicIp":{ + "shape":"NonEmptyString", + "documentation":"

Whether the task's elastic network interface receives a public IP address. The default value is DISABLED.

Valid values: ENABLED | DISABLED

" + }, + "SecurityGroups":{ + "shape":"NonEmptyStringList", + "documentation":"

The IDs of the security groups associated with the task or service.

You can provide up to five security groups.

" + }, + "Subnets":{ + "shape":"NonEmptyStringList", + "documentation":"

The IDs of the subnets associated with the task or service.

You can provide up to 16 subnets.

" + } + }, + "documentation":"

For tasks that use the awsvpc networking mode, the VPC subnet and security group configuration.

" + }, + "AwsEcsServiceNetworkConfigurationDetails":{ + "type":"structure", + "members":{ + "AwsVpcConfiguration":{ + "shape":"AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails", + "documentation":"

The VPC subnet and security group configuration.

" + } + }, + "documentation":"

For tasks that use the awsvpc networking mode, the VPC subnet and security group configuration.

" + }, + "AwsEcsServicePlacementConstraintsDetails":{ + "type":"structure", + "members":{ + "Expression":{ + "shape":"NonEmptyString", + "documentation":"

A cluster query language expression to apply to the constraint. You cannot specify an expression if the constraint type is distinctInstance.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of constraint. Use distinctInstance to run each task in a particular group on a different container instance. Use memberOf to restrict the selection to a group of valid candidates.

Valid values: distinctInstance | memberOf

" + } + }, + "documentation":"

A placement constraint for the tasks in the service.

" + }, + "AwsEcsServicePlacementConstraintsList":{ + "type":"list", + "member":{"shape":"AwsEcsServicePlacementConstraintsDetails"} + }, + "AwsEcsServicePlacementStrategiesDetails":{ + "type":"structure", + "members":{ + "Field":{ + "shape":"NonEmptyString", + "documentation":"

The field to apply the placement strategy against.

For the spread placement strategy, valid values are instanceId (or host, which has the same effect), or any platform or custom attribute that is applied to a container instance, such as attribute:ecs.availability-zone.

For the binpack placement strategy, valid values are cpu and memory.

For the random placement strategy, this attribute is not used.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of placement strategy.

The random placement strategy randomly places tasks on available candidates.

The spread placement strategy spreads placement across available candidates evenly based on the value of Field.

The binpack strategy places tasks on available candidates that have the least available amount of the resource that is specified in Field.

Valid values: random | spread | binpack

" + } + }, + "documentation":"

A placement strategy that determines how to place the tasks for the service.

" + }, + "AwsEcsServicePlacementStrategiesList":{ + "type":"list", + "member":{"shape":"AwsEcsServicePlacementStrategiesDetails"} + }, + "AwsEcsServiceServiceRegistriesDetails":{ + "type":"structure", + "members":{ + "ContainerName":{ + "shape":"NonEmptyString", + "documentation":"

The container name value to use for the service discovery service.

If the task definition uses the bridge or host network mode, you must specify ContainerName and ContainerPort.

If the task definition uses the awsvpc network mode and a type SRV DNS record, you must specify either ContainerName and ContainerPort, or Port , but not both.

" + }, + "ContainerPort":{ + "shape":"Integer", + "documentation":"

The port value to use for the service discovery service.

If the task definition uses the bridge or host network mode, you must specify ContainerName and ContainerPort.

If the task definition uses the awsvpc network mode and a type SRV DNS record, you must specify either ContainerName and ContainerPort, or Port , but not both.

" + }, + "Port":{ + "shape":"Integer", + "documentation":"

The port value to use for a service discovery service that specifies an SRV record. This field can be used if both the awsvpcawsvpc network mode and SRV records are used.

" + }, + "RegistryArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the service registry.

" + } + }, + "documentation":"

Information about a service discovery registry to assign to the service.

" + }, + "AwsEcsServiceServiceRegistriesList":{ + "type":"list", + "member":{"shape":"AwsEcsServiceServiceRegistriesDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails":{ + "type":"structure", + "members":{ + "Condition":{ + "shape":"NonEmptyString", + "documentation":"

The dependency condition of the dependent container. Indicates the required status of the dependent container before the current container can start.

" + }, + "ContainerName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the dependent container.

" + } + }, + "documentation":"

A dependency that is defined for container startup and shutdown.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsDependsOnList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsDetails":{ + "type":"structure", + "members":{ + "Command":{ + "shape":"NonEmptyStringList", + "documentation":"

The command that is passed to the container.

" + }, + "Cpu":{ + "shape":"Integer", + "documentation":"

The number of CPU units reserved for the container.

" + }, + "DependsOn":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsDependsOnList", + "documentation":"

The dependencies that are defined for container startup and shutdown.

" + }, + "DisableNetworking":{ + "shape":"Boolean", + "documentation":"

Whether to disable networking within the container.

" + }, + "DnsSearchDomains":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of DNS search domains that are presented to the container.

" + }, + "DnsServers":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of DNS servers that are presented to the container.

" + }, + "DockerLabels":{ + "shape":"FieldMap", + "documentation":"

A key-value map of labels to add to the container.

" + }, + "DockerSecurityOptions":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of strings to provide custom labels for SELinux and AppArmor multi-level security systems.

" + }, + "EntryPoint":{ + "shape":"NonEmptyStringList", + "documentation":"

The entry point that is passed to the container.

" + }, + "Environment":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsEnvironmentList", + "documentation":"

The environment variables to pass to a container.

" + }, + "EnvironmentFiles":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesList", + "documentation":"

A list of files containing the environment variables to pass to a container.

" + }, + "Essential":{ + "shape":"Boolean", + "documentation":"

Whether the container is essential. All tasks must have at least one essential container.

" + }, + "ExtraHosts":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsExtraHostsList", + "documentation":"

A list of hostnames and IP address mappings to append to the /etc/hosts file on the container.

" + }, + "FirelensConfiguration":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails", + "documentation":"

The FireLens configuration for the container. Specifies and configures a log router for container logs.

" + }, + "HealthCheck":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails", + "documentation":"

The container health check command and associated configuration parameters for the container.

" + }, + "Hostname":{ + "shape":"NonEmptyString", + "documentation":"

The hostname to use for the container.

" + }, + "Image":{ + "shape":"NonEmptyString", + "documentation":"

The image used to start the container.

" + }, + "Interactive":{ + "shape":"Boolean", + "documentation":"

If set to true, then containerized applications can be deployed that require stdin or a tty to be allocated.

" + }, + "Links":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of links for the container in the form container_name:alias . Allows containers to communicate with each other without the need for port mappings.

" + }, + "LinuxParameters":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails", + "documentation":"

Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.

" + }, + "LogConfiguration":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails", + "documentation":"

The log configuration specification for the container.

" + }, + "Memory":{ + "shape":"Integer", + "documentation":"

The amount (in MiB) of memory to present to the container. If the container attempts to exceed the memory specified here, the container is shut down. The total amount of memory reserved for all containers within a task must be lower than the task memory value, if one is specified.

" + }, + "MemoryReservation":{ + "shape":"Integer", + "documentation":"

The soft limit (in MiB) of memory to reserve for the container.

" + }, + "MountPoints":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsMountPointsList", + "documentation":"

The mount points for the data volumes in the container.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the container.

" + }, + "PortMappings":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsPortMappingsList", + "documentation":"

The list of port mappings for the container.

" + }, + "Privileged":{ + "shape":"Boolean", + "documentation":"

Whether the container is given elevated privileges on the host container instance. The elevated privileges are similar to the root user.

" + }, + "PseudoTerminal":{ + "shape":"Boolean", + "documentation":"

Whether to allocate a TTY to the container.

" + }, + "ReadonlyRootFilesystem":{ + "shape":"Boolean", + "documentation":"

Whether the container is given read-only access to its root file system.

" + }, + "RepositoryCredentials":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails", + "documentation":"

The private repository authentication credentials to use.

" + }, + "ResourceRequirements":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsList", + "documentation":"

The type and amount of a resource to assign to a container. The only supported resource is a GPU.

" + }, + "Secrets":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsSecretsList", + "documentation":"

The secrets to pass to the container.

" + }, + "StartTimeout":{ + "shape":"Integer", + "documentation":"

The number of seconds to wait before giving up on resolving dependencies for a container.

" + }, + "StopTimeout":{ + "shape":"Integer", + "documentation":"

The number of seconds to wait before the container is stopped if it doesn't shut down normally on its own.

" + }, + "SystemControls":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsSystemControlsList", + "documentation":"

A list of namespaced kernel parameters to set in the container.

" + }, + "Ulimits":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsUlimitsList", + "documentation":"

A list of ulimits to set in the container.

" + }, + "User":{ + "shape":"NonEmptyString", + "documentation":"

The user to use inside the container.

The value can use one of the following formats.

" + }, + "VolumesFrom":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsVolumesFromList", + "documentation":"

Data volumes to mount from another container.

" + }, + "WorkingDirectory":{ + "shape":"NonEmptyString", + "documentation":"

The working directory in which to run commands inside the container.

" + } + }, + "documentation":"

A container definition that describes a container in the task.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the environment variable.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value of the environment variable.

" + } + }, + "documentation":"

An environment variable to pass to the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of environment file.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the S3 object that contains the environment variable file.

" + } + }, + "documentation":"

A file that contain environment variables to pass to a container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsEnvironmentList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails":{ + "type":"structure", + "members":{ + "Hostname":{ + "shape":"NonEmptyString", + "documentation":"

The hostname to use in the /etc/hosts entry.

" + }, + "IpAddress":{ + "shape":"NonEmptyString", + "documentation":"

The IP address to use in the /etc/hosts entry.

" + } + }, + "documentation":"

A hostname and IP address mapping to append to the /etc/hosts file on the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsExtraHostsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails":{ + "type":"structure", + "members":{ + "Options":{ + "shape":"FieldMap", + "documentation":"

The options to use to configure the log router.

The valid option keys are as follows:

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The log router to use.

" + } + }, + "documentation":"

The FireLens configuration for the container. The configuration specifies and configures a log router for container logs.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails":{ + "type":"structure", + "members":{ + "Command":{ + "shape":"NonEmptyStringList", + "documentation":"

The command that the container runs to determine whether it is healthy.

" + }, + "Interval":{ + "shape":"Integer", + "documentation":"

The time period in seconds between each health check execution. The default value is 30 seconds.

" + }, + "Retries":{ + "shape":"Integer", + "documentation":"

The number of times to retry a failed health check before the container is considered unhealthy. The default value is 3.

" + }, + "StartPeriod":{ + "shape":"Integer", + "documentation":"

The optional grace period in seconds that allows containers time to bootstrap before failed health checks count towards the maximum number of retries.

" + }, + "Timeout":{ + "shape":"Integer", + "documentation":"

The time period in seconds to wait for a health check to succeed before it is considered a failure. The default value is 5.

" + } + }, + "documentation":"

The container health check command and associated configuration parameters for the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails":{ + "type":"structure", + "members":{ + "Add":{ + "shape":"NonEmptyStringList", + "documentation":"

The Linux capabilities for the container that are added to the default configuration provided by Docker.

" + }, + "Drop":{ + "shape":"NonEmptyStringList", + "documentation":"

The Linux capabilities for the container that are dropped from the default configuration provided by Docker.

" + } + }, + "documentation":"

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails":{ + "type":"structure", + "members":{ + "Capabilities":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails", + "documentation":"

The Linux capabilities for the container that are added to or dropped from the default configuration provided by Docker.

" + }, + "Devices":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesList", + "documentation":"

The host devices to expose to the container.

" + }, + "InitProcessEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to run an init process inside the container that forwards signals and reaps processes.

" + }, + "MaxSwap":{ + "shape":"Integer", + "documentation":"

The total amount of swap memory (in MiB) that a container can use.

" + }, + "SharedMemorySize":{ + "shape":"Integer", + "documentation":"

The value for the size (in MiB) of the /dev/shm volume.

" + }, + "Swappiness":{ + "shape":"Integer", + "documentation":"

Configures the container's memory swappiness behavior. Determines how aggressively pages are swapped. The higher the value, the more aggressive the swappiness. The default is 60.

" + }, + "Tmpfs":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsList", + "documentation":"

The container path, mount options, and size (in MiB) of the tmpfs mount.

" + } + }, + "documentation":"

>Linux-specific modifications that are applied to the container, such as Linux kernel capabilities.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails":{ + "type":"structure", + "members":{ + "ContainerPath":{ + "shape":"NonEmptyString", + "documentation":"

The path inside the container at which to expose the host device.

" + }, + "HostPath":{ + "shape":"NonEmptyString", + "documentation":"

The path for the device on the host container instance.

" + }, + "Permissions":{ + "shape":"NonEmptyStringList", + "documentation":"

The explicit permissions to provide to the container for the device. By default, the container has permissions for read, write, and mknod for the device.

" + } + }, + "documentation":"

A host device to expose to the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails":{ + "type":"structure", + "members":{ + "ContainerPath":{ + "shape":"NonEmptyString", + "documentation":"

The absolute file path where the tmpfs volume is to be mounted.

" + }, + "MountOptions":{ + "shape":"NonEmptyStringList", + "documentation":"

The list of tmpfs volume mount options.

" + }, + "Size":{ + "shape":"Integer", + "documentation":"

The maximum size (in MiB) of the tmpfs volume.

" + } + }, + "documentation":"

The container path, mount options, and size (in MiB) of a tmpfs mount.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails":{ + "type":"structure", + "members":{ + "LogDriver":{ + "shape":"NonEmptyString", + "documentation":"

The log driver to use for the container.

" + }, + "Options":{ + "shape":"FieldMap", + "documentation":"

The configuration options to send to the log driver. Requires version 1.19 of the Docker Remote API or greater on your container instance.

" + }, + "SecretOptions":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsList", + "documentation":"

The secrets to pass to the log configuration.

" + } + }, + "documentation":"

The log configuration specification for the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the secret.

" + }, + "ValueFrom":{ + "shape":"NonEmptyString", + "documentation":"

The secret to expose to the container.

The value is either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the Systems Manager Parameter Store.

" + } + }, + "documentation":"

A secret to pass to the log configuration.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails":{ + "type":"structure", + "members":{ + "ContainerPath":{ + "shape":"NonEmptyString", + "documentation":"

The path on the container to mount the host volume at.

" + }, + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

Whether the container has read-only access to the volume.

" + }, + "SourceVolume":{ + "shape":"NonEmptyString", + "documentation":"

The name of the volume to mount. Must match the name of a volume listed in VolumeDetails for the task definition.

" + } + }, + "documentation":"

A mount point for the data volumes in the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsMountPointsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails":{ + "type":"structure", + "members":{ + "ContainerPort":{ + "shape":"Integer", + "documentation":"

The port number on the container that is bound to the user-specified or automatically assigned host port.

" + }, + "HostPort":{ + "shape":"Integer", + "documentation":"

The port number on the container instance to reserve for the container.

" + }, + "Protocol":{ + "shape":"NonEmptyString", + "documentation":"

The protocol used for the port mapping. The default is tcp.

" + } + }, + "documentation":"

A port mapping for the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsPortMappingsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails":{ + "type":"structure", + "members":{ + "CredentialsParameter":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the secret that contains the private repository credentials.

" + } + }, + "documentation":"

The private repository authentication credentials to use.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails":{ + "type":"structure", + "members":{ + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of resource to assign to a container.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value for the specified resource type.

For GPU, the value is the number of physical GPUs the Amazon ECS container agent reserves for the container.

For InferenceAccelerator, the value should match the DeviceName attribute of an entry in InferenceAccelerators.

" + } + }, + "documentation":"

A resource to assign to a container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the secret.

" + }, + "ValueFrom":{ + "shape":"NonEmptyString", + "documentation":"

The secret to expose to the container. The value is either the full ARN of the Secrets Manager secret or the full ARN of the parameter in the Systems Manager Parameter Store.

" + } + }, + "documentation":"

A secret to pass to the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsSecretsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails":{ + "type":"structure", + "members":{ + "Namespace":{ + "shape":"NonEmptyString", + "documentation":"

The namespaced kernel parameter for which to set a value.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value of the parameter.

" + } + }, + "documentation":"

A namespaced kernel parameter to set in the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsSystemControlsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails":{ + "type":"structure", + "members":{ + "HardLimit":{ + "shape":"Integer", + "documentation":"

The hard limit for the ulimit type.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The type of the ulimit.

" + }, + "SoftLimit":{ + "shape":"Integer", + "documentation":"

The soft limit for the ulimit type.

" + } + }, + "documentation":"

A ulimit to set in the container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsUlimitsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails"} + }, + "AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails":{ + "type":"structure", + "members":{ + "ReadOnly":{ + "shape":"Boolean", + "documentation":"

Whether the container has read-only access to the volume.

" + }, + "SourceContainer":{ + "shape":"NonEmptyString", + "documentation":"

The name of another container within the same task definition from which to mount volumes.

" + } + }, + "documentation":"

A data volume to mount from another container.

" + }, + "AwsEcsTaskDefinitionContainerDefinitionsVolumesFromList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails"} + }, + "AwsEcsTaskDefinitionDetails":{ + "type":"structure", + "members":{ + "ContainerDefinitions":{ + "shape":"AwsEcsTaskDefinitionContainerDefinitionsList", + "documentation":"

The container definitions that describe the containers that make up the task.

" + }, + "Cpu":{ + "shape":"NonEmptyString", + "documentation":"

The number of CPU units used by the task.

" + }, + "ExecutionRoleArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the task execution role that grants the container agent permission to make API calls on behalf of the container user.

" + }, + "Family":{ + "shape":"NonEmptyString", + "documentation":"

The name of a family that this task definition is registered to.

" + }, + "InferenceAccelerators":{ + "shape":"AwsEcsTaskDefinitionInferenceAcceleratorsList", + "documentation":"

The Elastic Inference accelerators to use for the containers in the task.

" + }, + "IpcMode":{ + "shape":"NonEmptyString", + "documentation":"

The IPC resource namespace to use for the containers in the task.

" + }, + "Memory":{ + "shape":"NonEmptyString", + "documentation":"

The amount (in MiB) of memory used by the task.

" + }, + "NetworkMode":{ + "shape":"NonEmptyString", + "documentation":"

The Docker networking mode to use for the containers in the task.

" + }, + "PidMode":{ + "shape":"NonEmptyString", + "documentation":"

The process namespace to use for the containers in the task.

" + }, + "PlacementConstraints":{ + "shape":"AwsEcsTaskDefinitionPlacementConstraintsList", + "documentation":"

The placement constraint objects to use for tasks.

" + }, + "ProxyConfiguration":{ + "shape":"AwsEcsTaskDefinitionProxyConfigurationDetails", + "documentation":"

The configuration details for the App Mesh proxy.

" + }, + "RequiresCompatibilities":{ + "shape":"NonEmptyStringList", + "documentation":"

The task launch types that the task definition was validated against.

" + }, + "TaskRoleArn":{ + "shape":"NonEmptyString", + "documentation":"

The short name or ARN of the IAM role that grants containers in the task permission to call Amazon Web Services API operations on your behalf.

" + }, + "Volumes":{ + "shape":"AwsEcsTaskDefinitionVolumesList", + "documentation":"

The data volume definitions for the task.

" + } + }, + "documentation":"

details about a task definition. A task definition describes the container and volume definitions of an Amazon Elastic Container Service task.

" + }, + "AwsEcsTaskDefinitionInferenceAcceleratorsDetails":{ + "type":"structure", + "members":{ + "DeviceName":{ + "shape":"NonEmptyString", + "documentation":"

The Elastic Inference accelerator device name.

" + }, + "DeviceType":{ + "shape":"NonEmptyString", + "documentation":"

The Elastic Inference accelerator type to use.

" + } + }, + "documentation":"

An Elastic Inference accelerator to use for the containers in the task.

" + }, + "AwsEcsTaskDefinitionInferenceAcceleratorsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionInferenceAcceleratorsDetails"} + }, + "AwsEcsTaskDefinitionPlacementConstraintsDetails":{ + "type":"structure", + "members":{ + "Expression":{ + "shape":"NonEmptyString", + "documentation":"

A cluster query language expression to apply to the constraint.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of constraint.

" + } + }, + "documentation":"

A placement constraint object to use for tasks.

" + }, + "AwsEcsTaskDefinitionPlacementConstraintsList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionPlacementConstraintsDetails"} + }, + "AwsEcsTaskDefinitionProxyConfigurationDetails":{ + "type":"structure", + "members":{ + "ContainerName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the container that will serve as the App Mesh proxy.

" + }, + "ProxyConfigurationProperties":{ + "shape":"AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesList", + "documentation":"

The set of network configuration parameters to provide to the Container Network Interface (CNI) plugin, specified as key-value pairs.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The proxy type.

" + } + }, + "documentation":"

The configuration details for the App Mesh proxy.

" + }, + "AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the property.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value of the property.

" + } + }, + "documentation":"

A network configuration parameter to provide to the Container Network Interface (CNI) plugin.

" + }, + "AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails"} + }, + "AwsEcsTaskDefinitionVolumesDetails":{ + "type":"structure", + "members":{ + "DockerVolumeConfiguration":{ + "shape":"AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails", + "documentation":"

Information about a Docker volume.

" + }, + "EfsVolumeConfiguration":{ + "shape":"AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails", + "documentation":"

Information about the Amazon Elastic File System file system that is used for task storage.

" + }, + "Host":{ + "shape":"AwsEcsTaskDefinitionVolumesHostDetails", + "documentation":"

Information about a bind mount host volume.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the data volume.

" + } + }, + "documentation":"

A data volume to mount from another container.

" + }, + "AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails":{ + "type":"structure", + "members":{ + "Autoprovision":{ + "shape":"Boolean", + "documentation":"

Whether to create the Docker volume automatically if it does not already exist.

" + }, + "Driver":{ + "shape":"NonEmptyString", + "documentation":"

The Docker volume driver to use.

" + }, + "DriverOpts":{ + "shape":"FieldMap", + "documentation":"

A map of Docker driver-specific options that are passed through.

" + }, + "Labels":{ + "shape":"FieldMap", + "documentation":"

Custom metadata to add to the Docker volume.

" + }, + "Scope":{ + "shape":"NonEmptyString", + "documentation":"

The scope for the Docker volume that determines its lifecycle. Docker volumes that are scoped to a task are provisioned automatically when the task starts and destroyed when the task stops. Docker volumes that are shared persist after the task stops.

" + } + }, + "documentation":"

Information about a Docker volume.

" + }, + "AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails":{ + "type":"structure", + "members":{ + "AccessPointId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon EFS access point identifier to use.

" + }, + "Iam":{ + "shape":"NonEmptyString", + "documentation":"

Whether to use the Amazon ECS task IAM role defined in a task definition when mounting the Amazon EFS file system.

" + } + }, + "documentation":"

" + }, + "AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails":{ + "type":"structure", + "members":{ + "AuthorizationConfig":{ + "shape":"AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails", + "documentation":"

The authorization configuration details for the Amazon EFS file system.

" + }, + "FilesystemId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon EFS file system identifier to use.

" + }, + "RootDirectory":{ + "shape":"NonEmptyString", + "documentation":"

The directory within the Amazon EFS file system to mount as the root directory inside the host.

" + }, + "TransitEncryption":{ + "shape":"NonEmptyString", + "documentation":"

Whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server.

" + }, + "TransitEncryptionPort":{ + "shape":"Integer", + "documentation":"

The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server.

" + } + }, + "documentation":"

Information about the Amazon Elastic File System file system that is used for task storage.

" + }, + "AwsEcsTaskDefinitionVolumesHostDetails":{ + "type":"structure", + "members":{ + "SourcePath":{ + "shape":"NonEmptyString", + "documentation":"

The path on the host container instance that is presented to the container.

" + } + }, + "documentation":"

Information about a bind mount host volume.

" + }, + "AwsEcsTaskDefinitionVolumesList":{ + "type":"list", + "member":{"shape":"AwsEcsTaskDefinitionVolumesDetails"} + }, + "AwsEksClusterDetails":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the cluster.

" + }, + "CertificateAuthorityData":{ + "shape":"NonEmptyString", + "documentation":"

The certificate authority data for the cluster.

" + }, + "ClusterStatus":{ + "shape":"NonEmptyString", + "documentation":"

The status of the cluster.

" + }, + "Endpoint":{ + "shape":"NonEmptyString", + "documentation":"

The endpoint for the Amazon EKS API server.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the cluster.

" + }, + "ResourcesVpcConfig":{ + "shape":"AwsEksClusterResourcesVpcConfigDetails", + "documentation":"

The VPC configuration used by the cluster control plane.

" + }, + "RoleArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the IAM role that provides permissions for the Amazon EKS control plane to make calls to Amazon Web Services API operations on your behalf.

" + }, + "Version":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon EKS server version for the cluster.

" + }, + "Logging":{ + "shape":"AwsEksClusterLoggingDetails", + "documentation":"

The logging configuration for the cluster.

" + } + }, + "documentation":"

Provides details about an Amazon EKS cluster.

" + }, + "AwsEksClusterLoggingClusterLoggingDetails":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether the logging types that are listed in Types are enabled.

" + }, + "Types":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of logging types.

" + } + }, + "documentation":"

Details for a cluster logging configuration.

" + }, + "AwsEksClusterLoggingClusterLoggingList":{ + "type":"list", + "member":{"shape":"AwsEksClusterLoggingClusterLoggingDetails"} + }, + "AwsEksClusterLoggingDetails":{ + "type":"structure", + "members":{ + "ClusterLogging":{ + "shape":"AwsEksClusterLoggingClusterLoggingList", + "documentation":"

Cluster logging configurations.

" + } + }, + "documentation":"

The logging configuration for an Amazon EKS cluster.

" + }, + "AwsEksClusterResourcesVpcConfigDetails":{ + "type":"structure", + "members":{ + "SecurityGroupIds":{ + "shape":"NonEmptyStringList", + "documentation":"

The security groups that are associated with the cross-account elastic network interfaces that are used to allow communication between your nodes and the Amazon EKS control plane.

" + }, + "SubnetIds":{ + "shape":"NonEmptyStringList", + "documentation":"

The subnets that are associated with the cluster.

" + } + }, + "documentation":"

Information about the VPC configuration used by the cluster control plane.

" + }, + "AwsElasticBeanstalkEnvironmentDetails":{ + "type":"structure", + "members":{ + "ApplicationName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the application that is associated with the environment.

" + }, + "Cname":{ + "shape":"NonEmptyString", + "documentation":"

The URL to the CNAME for this environment.

" + }, + "DateCreated":{ + "shape":"NonEmptyString", + "documentation":"

The creation date for this environment.

" + }, + "DateUpdated":{ + "shape":"NonEmptyString", + "documentation":"

The date when this environment was last modified.

" + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

A description of the environment.

" + }, + "EndpointUrl":{ + "shape":"NonEmptyString", + "documentation":"

For load-balanced, autoscaling environments, the URL to the load balancer. For single-instance environments, the IP address of the instance.

" + }, + "EnvironmentArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the environment.

" + }, + "EnvironmentId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the environment.

" + }, + "EnvironmentLinks":{ + "shape":"AwsElasticBeanstalkEnvironmentEnvironmentLinks", + "documentation":"

Links to other environments in the same group.

" + }, + "EnvironmentName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the environment.

" + }, + "OptionSettings":{ + "shape":"AwsElasticBeanstalkEnvironmentOptionSettings", + "documentation":"

The configuration setting for the environment.

" + }, + "PlatformArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the platform version for the environment.

" + }, + "SolutionStackName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the solution stack that is deployed with the environment.

" + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

The current operational status of the environment.

" + }, + "Tier":{ + "shape":"AwsElasticBeanstalkEnvironmentTier", + "documentation":"

The tier of the environment.

" + }, + "VersionLabel":{ + "shape":"NonEmptyString", + "documentation":"

The application version of the environment.

" + } + }, + "documentation":"

Contains details about an Elastic Beanstalk environment.

" + }, + "AwsElasticBeanstalkEnvironmentEnvironmentLink":{ + "type":"structure", + "members":{ + "EnvironmentName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the linked environment.

" + }, + "LinkName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the environment link.

" + } + }, + "documentation":"

Contains information about a link to another environment that is in the same group.

" + }, + "AwsElasticBeanstalkEnvironmentEnvironmentLinks":{ + "type":"list", + "member":{"shape":"AwsElasticBeanstalkEnvironmentEnvironmentLink"} + }, + "AwsElasticBeanstalkEnvironmentOptionSetting":{ + "type":"structure", + "members":{ + "Namespace":{ + "shape":"NonEmptyString", + "documentation":"

The type of resource that the configuration option is associated with.

" + }, + "OptionName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the option.

" + }, + "ResourceName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the resource.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value of the configuration setting.

" + } + }, + "documentation":"

A configuration option setting for the environment.

" + }, + "AwsElasticBeanstalkEnvironmentOptionSettings":{ + "type":"list", + "member":{"shape":"AwsElasticBeanstalkEnvironmentOptionSetting"} + }, + "AwsElasticBeanstalkEnvironmentTier":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the environment tier.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of environment tier.

" + }, + "Version":{ + "shape":"NonEmptyString", + "documentation":"

The version of the environment tier.

" + } + }, + "documentation":"

Contains information about the tier of the environment.

" + }, + "AwsElasticsearchDomainDetails":{ + "type":"structure", + "members":{ + "AccessPolicies":{ + "shape":"NonEmptyString", + "documentation":"

IAM policy document specifying the access policies for the new Elasticsearch domain.

" + }, + "DomainEndpointOptions":{ + "shape":"AwsElasticsearchDomainDomainEndpointOptions", + "documentation":"

Additional options for the domain endpoint.

" + }, + "DomainId":{ + "shape":"NonEmptyString", + "documentation":"

Unique identifier for an Elasticsearch domain.

" + }, + "DomainName":{ + "shape":"NonEmptyString", + "documentation":"

Name of an Elasticsearch domain.

Domain names are unique across all domains owned by the same account within an Amazon Web Services Region.

Domain names must start with a lowercase letter and must be between 3 and 28 characters.

Valid characters are a-z (lowercase only), 0-9, and – (hyphen).

" + }, + "Endpoint":{ + "shape":"NonEmptyString", + "documentation":"

Domain-specific endpoint used to submit index, search, and data upload requests to an Elasticsearch domain.

The endpoint is a service URL.

" + }, + "Endpoints":{ + "shape":"FieldMap", + "documentation":"

The key-value pair that exists if the Elasticsearch domain uses VPC endpoints.

" + }, + "ElasticsearchVersion":{ + "shape":"NonEmptyString", + "documentation":"

OpenSearch version.

" + }, + "ElasticsearchClusterConfig":{ + "shape":"AwsElasticsearchDomainElasticsearchClusterConfigDetails", + "documentation":"

Information about an OpenSearch cluster configuration.

" + }, + "EncryptionAtRestOptions":{ + "shape":"AwsElasticsearchDomainEncryptionAtRestOptions", + "documentation":"

Details about the configuration for encryption at rest.

" + }, + "LogPublishingOptions":{ + "shape":"AwsElasticsearchDomainLogPublishingOptions", + "documentation":"

Configures the CloudWatch Logs to publish for the Elasticsearch domain.

" + }, + "NodeToNodeEncryptionOptions":{ + "shape":"AwsElasticsearchDomainNodeToNodeEncryptionOptions", + "documentation":"

Details about the configuration for node-to-node encryption.

" + }, + "ServiceSoftwareOptions":{ + "shape":"AwsElasticsearchDomainServiceSoftwareOptions", + "documentation":"

Information about the status of a domain relative to the latest service software.

" + }, + "VPCOptions":{ + "shape":"AwsElasticsearchDomainVPCOptions", + "documentation":"

Information that OpenSearch derives based on VPCOptions for the domain.

" + } + }, + "documentation":"

Information about an Elasticsearch domain.

" + }, + "AwsElasticsearchDomainDomainEndpointOptions":{ + "type":"structure", + "members":{ + "EnforceHTTPS":{ + "shape":"Boolean", + "documentation":"

Whether to require that all traffic to the domain arrive over HTTPS.

" + }, + "TLSSecurityPolicy":{ + "shape":"NonEmptyString", + "documentation":"

The TLS security policy to apply to the HTTPS endpoint of the OpenSearch domain.

Valid values:

" + } + }, + "documentation":"

Additional options for the domain endpoint, such as whether to require HTTPS for all traffic.

" + }, + "AwsElasticsearchDomainElasticsearchClusterConfigDetails":{ + "type":"structure", + "members":{ + "DedicatedMasterCount":{ + "shape":"Integer", + "documentation":"

The number of instances to use for the master node. If this attribute is specified, then DedicatedMasterEnabled must be true.

" + }, + "DedicatedMasterEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to use a dedicated master node for the Elasticsearch domain. A dedicated master node performs cluster management tasks, but doesn't hold data or respond to data upload requests.

" + }, + "DedicatedMasterType":{ + "shape":"NonEmptyString", + "documentation":"

The hardware configuration of the computer that hosts the dedicated master node. For example, m3.medium.elasticsearch. If this attribute is specified, then DedicatedMasterEnabled must be true.

" + }, + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of data nodes to use in the Elasticsearch domain.

" + }, + "InstanceType":{ + "shape":"NonEmptyString", + "documentation":"

The instance type for your data nodes. For example, m3.medium.elasticsearch.

" + }, + "ZoneAwarenessConfig":{ + "shape":"AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails", + "documentation":"

Configuration options for zone awareness. Provided if ZoneAwarenessEnabled is true.

" + }, + "ZoneAwarenessEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to enable zone awareness for the Elasticsearch domain. When zone awareness is enabled, OpenSearch allocates the cluster's nodes and replica index shards across Availability Zones in the same Region. This prevents data loss and minimizes downtime if a node or data center fails.

" + } + }, + "documentation":"

details about the configuration of an OpenSearch cluster.

" + }, + "AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails":{ + "type":"structure", + "members":{ + "AvailabilityZoneCount":{ + "shape":"Integer", + "documentation":"

he number of Availability Zones that the domain uses. Valid values are 2 and 3. The default is 2.

" + } + }, + "documentation":"

Configuration options for zone awareness.

" + }, + "AwsElasticsearchDomainEncryptionAtRestOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether encryption at rest is enabled.

" + }, + "KmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.

" + } + }, + "documentation":"

Details about the configuration for encryption at rest.

" + }, + "AwsElasticsearchDomainLogPublishingOptions":{ + "type":"structure", + "members":{ + "IndexSlowLogs":{ + "shape":"AwsElasticsearchDomainLogPublishingOptionsLogConfig", + "documentation":"

Configures the OpenSearch index logs publishing.

" + }, + "SearchSlowLogs":{ + "shape":"AwsElasticsearchDomainLogPublishingOptionsLogConfig", + "documentation":"

Configures the OpenSearch search slow log publishing.

" + }, + "AuditLogs":{"shape":"AwsElasticsearchDomainLogPublishingOptionsLogConfig"} + }, + "documentation":"

configures the CloudWatch Logs to publish for the Elasticsearch domain.

" + }, + "AwsElasticsearchDomainLogPublishingOptionsLogConfig":{ + "type":"structure", + "members":{ + "CloudWatchLogsLogGroupArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the CloudWatch Logs group to publish the logs to.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether the log publishing is enabled.

" + } + }, + "documentation":"

The log configuration.

" + }, + "AwsElasticsearchDomainNodeToNodeEncryptionOptions":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether node-to-node encryption is enabled.

" + } + }, + "documentation":"

Details about the configuration for node-to-node encryption.

" + }, + "AwsElasticsearchDomainServiceSoftwareOptions":{ + "type":"structure", + "members":{ + "AutomatedUpdateDate":{ + "shape":"NonEmptyString", + "documentation":"

The epoch time when the deployment window closes for required updates. After this time, Amazon OpenSearch Service schedules the software upgrade automatically.

" + }, + "Cancellable":{ + "shape":"Boolean", + "documentation":"

Whether a request to update the domain can be canceled.

" + }, + "CurrentVersion":{ + "shape":"NonEmptyString", + "documentation":"

The version of the service software that is currently installed on the domain.

" + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

A more detailed description of the service software status.

" + }, + "NewVersion":{ + "shape":"NonEmptyString", + "documentation":"

The most recent version of the service software.

" + }, + "UpdateAvailable":{ + "shape":"Boolean", + "documentation":"

Whether a service software update is available for the domain.

" + }, + "UpdateStatus":{ + "shape":"NonEmptyString", + "documentation":"

The status of the service software update.

" + } + }, + "documentation":"

Information about the state of the domain relative to the latest service software.

" + }, + "AwsElasticsearchDomainVPCOptions":{ + "type":"structure", + "members":{ + "AvailabilityZones":{ + "shape":"NonEmptyStringList", + "documentation":"

The list of Availability Zones associated with the VPC subnets.

" + }, + "SecurityGroupIds":{ + "shape":"NonEmptyStringList", + "documentation":"

The list of security group IDs associated with the VPC endpoints for the domain.

" + }, + "SubnetIds":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of subnet IDs associated with the VPC endpoints for the domain.

" + }, + "VPCId":{ + "shape":"NonEmptyString", + "documentation":"

ID for the VPC.

" + } + }, + "documentation":"

Information that OpenSearch derives based on VPCOptions for the domain.

" + }, + "AwsElbAppCookieStickinessPolicies":{ + "type":"list", + "member":{"shape":"AwsElbAppCookieStickinessPolicy"} }, "AwsElbAppCookieStickinessPolicy":{ "type":"structure", @@ -3288,6 +5816,24 @@ }, "documentation":"

Contains information about the security group for the load balancer.

" }, + "AwsElbv2LoadBalancerAttribute":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

The name of the load balancer attribute.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The value of the load balancer attribute.

" + } + }, + "documentation":"

A load balancer attribute.

" + }, + "AwsElbv2LoadBalancerAttributes":{ + "type":"list", + "member":{"shape":"AwsElbv2LoadBalancerAttribute"} + }, "AwsElbv2LoadBalancerDetails":{ "type":"structure", "members":{ @@ -3330,6 +5876,10 @@ "VpcId":{ "shape":"NonEmptyString", "documentation":"

The ID of the VPC for the load balancer.

" + }, + "LoadBalancerAttributes":{ + "shape":"AwsElbv2LoadBalancerAttributes", + "documentation":"

Attributes of the load balancer.

" } }, "documentation":"

Information about a load balancer.

" @@ -3341,7 +5891,7 @@ "shape":"NonEmptyString", "documentation":"

The user associated with the IAM access key related to a finding.

The UserName parameter has been replaced with the PrincipalName parameter because access keys can also be assigned to principals that are not IAM users.

", "deprecated":true, - "deprecatedMessage":"This field is deprecated, use PrincipalName instead." + "deprecatedMessage":"This filter is deprecated. Instead, use PrincipalName." }, "Status":{ "shape":"AwsIamAccessKeyStatus", @@ -3365,7 +5915,7 @@ }, "AccountId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID of the account for the key.

" + "documentation":"

The Amazon Web Services account ID of the account for the key.

" }, "AccessKeyId":{ "shape":"NonEmptyString", @@ -3423,7 +5973,7 @@ }, "AccountId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the AWS account that created the session.

" + "documentation":"

The identifier of the Amazon Web Services account that created the session.

" }, "UserName":{ "shape":"NonEmptyString", @@ -3775,41 +6325,45 @@ "members":{ "AWSAccountId":{ "shape":"NonEmptyString", - "documentation":"

The twelve-digit account ID of the AWS account that owns the CMK.

" + "documentation":"

The twelve-digit account ID of the Amazon Web Services account that owns the KMS key.

" }, "CreationDate":{ "shape":"Double", - "documentation":"

Indicates when the CMK was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" + "documentation":"

Indicates when the KMS key was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" }, "KeyId":{ "shape":"NonEmptyString", - "documentation":"

The globally unique identifier for the CMK.

" + "documentation":"

The globally unique identifier for the KMS key.

" }, "KeyManager":{ "shape":"NonEmptyString", - "documentation":"

The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

" + "documentation":"

The manager of the KMS key. KMS keys in your Amazon Web Services account are either customer managed or Amazon Web Services managed.

" }, "KeyState":{ "shape":"NonEmptyString", - "documentation":"

The state of the CMK.

" + "documentation":"

The state of the KMS key.

" }, "Origin":{ "shape":"NonEmptyString", - "documentation":"

The source of the CMK's key material.

When this value is AWS_KMS, AWS KMS created the key material.

When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material.

When this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster associated with a custom key store.

" + "documentation":"

The source of the KMS key material.

When this value is AWS_KMS, KMS created the key material.

When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the KMS key lacks key material.

When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM cluster associated with a custom key store.

" }, "Description":{ "shape":"NonEmptyString", "documentation":"

A description of the key.

" + }, + "KeyRotationStatus":{ + "shape":"Boolean", + "documentation":"

Whether the key has key rotation enabled.

" } }, - "documentation":"

Contains metadata about a customer master key (CMK).

" + "documentation":"

Contains metadata about an KMS key.

" }, "AwsLambdaFunctionCode":{ "type":"structure", "members":{ "S3Bucket":{ "shape":"NonEmptyString", - "documentation":"

An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

" + "documentation":"

An Amazon S3 bucket in the same Amazon Web Services Region as your function. The bucket can be in a different Amazon Web Services account.

" }, "S3Key":{ "shape":"NonEmptyString", @@ -3821,7 +6375,7 @@ }, "ZipFile":{ "shape":"NonEmptyString", - "documentation":"

The base64-encoded contents of the deployment package. AWS SDK and AWS CLI clients handle the encoding for you.

" + "documentation":"

The base64-encoded contents of the deployment package. Amazon Web Services SDK and Amazon Web Services CLI clients handle the encoding for you.

" } }, "documentation":"

The code for the Lambda function. You can specify either an object in Amazon S3, or upload a deployment package directly.

" @@ -3831,7 +6385,7 @@ "members":{ "TargetArn":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.

" + "documentation":"

The ARN of an SQS queue or SNS topic.

" } }, "documentation":"

The dead-letter queue for failed asynchronous invocations.

" @@ -3865,7 +6419,7 @@ }, "KmsKeyArn":{ "shape":"NonEmptyString", - "documentation":"

The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

" + "documentation":"

The KMS key that is used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed customer managed key.

" }, "LastModified":{ "shape":"NonEmptyString", @@ -3881,7 +6435,7 @@ }, "MemorySize":{ "shape":"Integer", - "documentation":"

The memory that's allocated to the function.

" + "documentation":"

The memory that is allocated to the function.

" }, "RevisionId":{ "shape":"NonEmptyString", @@ -3901,7 +6455,7 @@ }, "TracingConfig":{ "shape":"AwsLambdaFunctionTracingConfig", - "documentation":"

The function's AWS X-Ray tracing configuration.

" + "documentation":"

The function's X-Ray tracing configuration.

" }, "VpcConfig":{ "shape":"AwsLambdaFunctionVpcConfig", @@ -3940,21 +6494,21 @@ "documentation":"

The error message.

" } }, - "documentation":"

Error messages for environment variables that couldn't be applied.

" + "documentation":"

Error messages for environment variables that could not be applied.

" }, "AwsLambdaFunctionLayer":{ "type":"structure", "members":{ "Arn":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the function layer.

" + "documentation":"

The ARN of the function layer.

" }, "CodeSize":{ "shape":"Integer", "documentation":"

The size of the layer archive in bytes.

" } }, - "documentation":"

An AWS Lambda layer.

" + "documentation":"

An Lambda layer.

" }, "AwsLambdaFunctionLayerList":{ "type":"list", @@ -3968,7 +6522,7 @@ "documentation":"

The tracing mode.

" } }, - "documentation":"

The function's AWS X-Ray tracing configuration.

" + "documentation":"

The function's X-Ray tracing configuration.

" }, "AwsLambdaFunctionVpcConfig":{ "type":"structure", @@ -3986,7 +6540,7 @@ "documentation":"

The ID of the VPC.

" } }, - "documentation":"

The VPC security groups and subnets that are attached to a Lambda function. For more information, see VPC Settings.

" + "documentation":"

The VPC security groups and subnets that are attached to a Lambda function.

" }, "AwsLambdaLayerVersionDetails":{ "type":"structure", @@ -4007,6 +6561,258 @@ "documentation":"

Details about a Lambda layer version.

" }, "AwsLambdaLayerVersionNumber":{"type":"long"}, + "AwsOpenSearchServiceDomainClusterConfigDetails":{ + "type":"structure", + "members":{ + "InstanceCount":{ + "shape":"Integer", + "documentation":"

The number of data nodes to use in the OpenSearch domain.

" + }, + "WarmEnabled":{ + "shape":"Boolean", + "documentation":"

Whether UltraWarm is enabled.

" + }, + "WarmCount":{ + "shape":"Integer", + "documentation":"

The number of UltraWarm instances.

" + }, + "DedicatedMasterEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to use a dedicated master node for the OpenSearch domain. A dedicated master node performs cluster management tasks, but does not hold data or respond to data upload requests.

" + }, + "ZoneAwarenessConfig":{ + "shape":"AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails", + "documentation":"

Configuration options for zone awareness. Provided if ZoneAwarenessEnabled is true.

" + }, + "DedicatedMasterCount":{ + "shape":"Integer", + "documentation":"

The number of instances to use for the master node. If this attribute is specified, then DedicatedMasterEnabled must be true.

" + }, + "InstanceType":{ + "shape":"NonEmptyString", + "documentation":"

The instance type for your data nodes.

" + }, + "WarmType":{ + "shape":"NonEmptyString", + "documentation":"

The type of UltraWarm instance.

" + }, + "ZoneAwarenessEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to enable zone awareness for the OpenSearch domain. When zone awareness is enabled, OpenSearch Service allocates the cluster's nodes and replica index shards across Availability Zones (AZs) in the same Region. This prevents data loss and minimizes downtime if a node or data center fails.

" + }, + "DedicatedMasterType":{ + "shape":"NonEmptyString", + "documentation":"

The hardware configuration of the computer that hosts the dedicated master node.

If this attribute is specified, then DedicatedMasterEnabled must be true.

" + } + }, + "documentation":"

Details about the configuration of an OpenSearch cluster.

" + }, + "AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails":{ + "type":"structure", + "members":{ + "AvailabilityZoneCount":{ + "shape":"Integer", + "documentation":"

The number of Availability Zones that the domain uses. Valid values are 2 and 3. The default is 2.

" + } + }, + "documentation":"

Configuration options for zone awareness.

" + }, + "AwsOpenSearchServiceDomainDetails":{ + "type":"structure", + "members":{ + "Arn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the OpenSearch Service domain.

" + }, + "AccessPolicies":{ + "shape":"NonEmptyString", + "documentation":"

IAM policy document that specifies the access policies for the OpenSearch Service domain.

" + }, + "DomainName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the endpoint.

" + }, + "Id":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the domain.

" + }, + "DomainEndpoint":{ + "shape":"NonEmptyString", + "documentation":"

The domain endpoint.

" + }, + "EngineVersion":{ + "shape":"NonEmptyString", + "documentation":"

The version of the domain engine.

" + }, + "EncryptionAtRestOptions":{ + "shape":"AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails", + "documentation":"

Details about the configuration for encryption at rest.

" + }, + "NodeToNodeEncryptionOptions":{ + "shape":"AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails", + "documentation":"

Details about the configuration for node-to-node encryption.

" + }, + "ServiceSoftwareOptions":{ + "shape":"AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails", + "documentation":"

Information about the status of a domain relative to the latest service software.

" + }, + "ClusterConfig":{ + "shape":"AwsOpenSearchServiceDomainClusterConfigDetails", + "documentation":"

Details about the configuration of an OpenSearch cluster.

" + }, + "DomainEndpointOptions":{ + "shape":"AwsOpenSearchServiceDomainDomainEndpointOptionsDetails", + "documentation":"

Additional options for the domain endpoint.

" + }, + "VpcOptions":{ + "shape":"AwsOpenSearchServiceDomainVpcOptionsDetails", + "documentation":"

Information that OpenSearch Service derives based on VPCOptions for the domain.

" + }, + "LogPublishingOptions":{ + "shape":"AwsOpenSearchServiceDomainLogPublishingOptionsDetails", + "documentation":"

Configures the CloudWatch Logs to publish for the OpenSearch domain.

" + }, + "DomainEndpoints":{ + "shape":"FieldMap", + "documentation":"

The domain endpoints. Used if the OpenSearch domain resides in a VPC.

This is a map of key-value pairs. The key is always vpc. The value is the endpoint.

" + } + }, + "documentation":"

Information about an Amazon OpenSearch Service domain.

" + }, + "AwsOpenSearchServiceDomainDomainEndpointOptionsDetails":{ + "type":"structure", + "members":{ + "CustomEndpointCertificateArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN for the security certificate. The certificate is managed in ACM.

" + }, + "CustomEndpointEnabled":{ + "shape":"Boolean", + "documentation":"

Whether to enable a custom endpoint for the domain.

" + }, + "EnforceHTTPS":{ + "shape":"Boolean", + "documentation":"

Whether to require that all traffic to the domain arrive over HTTPS.

" + }, + "CustomEndpoint":{ + "shape":"NonEmptyString", + "documentation":"

The fully qualified URL for the custom endpoint.

" + }, + "TLSSecurityPolicy":{ + "shape":"NonEmptyString", + "documentation":"

The TLS security policy to apply to the HTTPS endpoint of the OpenSearch domain.

" + } + }, + "documentation":"

Information about additional options for the domain endpoint.

" + }, + "AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether encryption at rest is enabled.

" + }, + "KmsKeyId":{ + "shape":"NonEmptyString", + "documentation":"

The KMS key ID.

" + } + }, + "documentation":"

Details about the configuration for encryption at rest for the OpenSearch domain.

" + }, + "AwsOpenSearchServiceDomainLogPublishingOption":{ + "type":"structure", + "members":{ + "CloudWatchLogsLogGroupArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the CloudWatch Logs group to publish the logs to.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether the log publishing is enabled.

" + } + }, + "documentation":"

Configuration details for a log publishing option.

" + }, + "AwsOpenSearchServiceDomainLogPublishingOptionsDetails":{ + "type":"structure", + "members":{ + "IndexSlowLogs":{ + "shape":"AwsOpenSearchServiceDomainLogPublishingOption", + "documentation":"

Configures the OpenSearch index logs publishing.

" + }, + "SearchSlowLogs":{ + "shape":"AwsOpenSearchServiceDomainLogPublishingOption", + "documentation":"

Configures the OpenSearch search slow log publishing.

" + }, + "AuditLogs":{ + "shape":"AwsOpenSearchServiceDomainLogPublishingOption", + "documentation":"

Configures the OpenSearch audit logs publishing.

" + } + }, + "documentation":"

Configures the CloudWatch Logs to publish for the OpenSearch domain.

" + }, + "AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails":{ + "type":"structure", + "members":{ + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether node-to-node encryption is enabled.

" + } + }, + "documentation":"

Provides details about the configuration for node-to-node encryption.

" + }, + "AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails":{ + "type":"structure", + "members":{ + "AutomatedUpdateDate":{ + "shape":"NonEmptyString", + "documentation":"

The epoch time when the deployment window closes for required updates. After this time, OpenSearch Service schedules the software upgrade automatically.

" + }, + "Cancellable":{ + "shape":"Boolean", + "documentation":"

Whether a request to update the domain can be canceled.

" + }, + "CurrentVersion":{ + "shape":"NonEmptyString", + "documentation":"

The version of the service software that is currently installed on the domain.

" + }, + "Description":{ + "shape":"NonEmptyString", + "documentation":"

A more detailed description of the service software status.

" + }, + "NewVersion":{ + "shape":"NonEmptyString", + "documentation":"

The most recent version of the service software.

" + }, + "UpdateAvailable":{ + "shape":"Boolean", + "documentation":"

Whether a service software update is available for the domain.

" + }, + "UpdateStatus":{ + "shape":"NonEmptyString", + "documentation":"

The status of the service software update.

" + }, + "OptionalDeployment":{ + "shape":"Boolean", + "documentation":"

Whether the service software update is optional.

" + } + }, + "documentation":"

Provides information about the state of the domain relative to the latest service software.

" + }, + "AwsOpenSearchServiceDomainVpcOptionsDetails":{ + "type":"structure", + "members":{ + "SecurityGroupIds":{ + "shape":"NonEmptyStringList", + "documentation":"

The list of security group IDs that are associated with the VPC endpoints for the domain.

" + }, + "SubnetIds":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of subnet IDs that are associated with the VPC endpoints for the domain.

" + } + }, + "documentation":"

Contains information that OpenSearch Service derives based on the VPCOptions for the domain.

" + }, "AwsRdsDbClusterAssociatedRole":{ "type":"structure", "members":{ @@ -4106,11 +6912,11 @@ }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the AWS KMS master key that is used to encrypt the database instances in the DB cluster.

" + "documentation":"

The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.

" }, "DbClusterResourceId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the DB cluster. The identifier must be unique within each AWS Region and is immutable.

" + "documentation":"

The identifier of the DB cluster. The identifier must be unique within each Amazon Web Services Region and is immutable.

" }, "AssociatedRoles":{ "shape":"AwsRdsDbClusterAssociatedRoles", @@ -4146,7 +6952,7 @@ }, "CrossAccountClone":{ "shape":"Boolean", - "documentation":"

Whether the DB cluster is a clone of a DB cluster owned by a different AWS account.

" + "documentation":"

Whether the DB cluster is a clone of a DB cluster owned by a different Amazon Web Services account.

" }, "DomainMemberships":{ "shape":"AwsRdsDbDomainMemberships", @@ -4284,7 +7090,7 @@ }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the AWS KMS master key that is used to encrypt the database instances in the DB cluster.

" + "documentation":"

The ARN of the KMS master key that is used to encrypt the database instances in the DB cluster.

" }, "DbClusterIdentifier":{ "shape":"NonEmptyString", @@ -4332,18 +7138,18 @@ "members":{ "RoleArn":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.

" + "documentation":"

The ARN of the IAM role that is associated with the DB instance.

" }, "FeatureName":{ "shape":"NonEmptyString", - "documentation":"

The name of the feature associated with the IAM)role.

" + "documentation":"

The name of the feature associated with the IAM role.

" }, "Status":{ "shape":"NonEmptyString", - "documentation":"

Describes the state of the association between the IAM role and the DB instance. The Status property returns one of the following values:

" + "documentation":"

Describes the state of the association between the IAM role and the DB instance. The Status property returns one of the following values:

" } }, - "documentation":"

An AWS Identity and Access Management (IAM) role associated with the DB instance.

" + "documentation":"

An IAM role associated with the DB instance.

" }, "AwsRdsDbInstanceAssociatedRoles":{ "type":"list", @@ -4354,7 +7160,7 @@ "members":{ "AssociatedRoles":{ "shape":"AwsRdsDbInstanceAssociatedRoles", - "documentation":"

The AWS Identity and Access Management (IAM) roles associated with the DB instance.

" + "documentation":"

The IAM roles associated with the DB instance.

" }, "CACertificateIdentifier":{ "shape":"NonEmptyString", @@ -4378,7 +7184,7 @@ }, "DbiResourceId":{ "shape":"NonEmptyString", - "documentation":"

The AWS Region-unique, immutable identifier for the DB instance. This identifier is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB instance is accessed.

" + "documentation":"

The Amazon Web Services Region-unique, immutable identifier for the DB instance. This identifier is found in CloudTrail log entries whenever the KMS key for the DB instance is accessed.

" }, "DBName":{ "shape":"NonEmptyString", @@ -4402,7 +7208,7 @@ }, "IAMDatabaseAuthenticationEnabled":{ "shape":"Boolean", - "documentation":"

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

IAM database authentication can be enabled for the following database engines.

" + "documentation":"

True if mapping of IAM accounts to database accounts is enabled, and otherwise false.

IAM database authentication can be enabled for the following database engines.

" }, "InstanceCreateTime":{ "shape":"NonEmptyString", @@ -4410,7 +7216,7 @@ }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

" + "documentation":"

If StorageEncrypted is true, the KMS key identifier for the encrypted DB instance.

" }, "PubliclyAccessible":{ "shape":"Boolean", @@ -4558,7 +7364,7 @@ }, "PerformanceInsightsKmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the AWS KMS key used to encrypt the Performance Insights data.

" + "documentation":"

The identifier of the KMS key used to encrypt the Performance Insights data.

" }, "PerformanceInsightsRetentionPeriod":{ "shape":"Integer", @@ -4809,7 +7615,7 @@ }, "SourceRegion":{ "shape":"NonEmptyString", - "documentation":"

The AWS Region that the DB snapshot was created in or copied from.

" + "documentation":"

The Amazon Web Services Region that the DB snapshot was created in or copied from.

" }, "SourceDbSnapshotIdentifier":{ "shape":"NonEmptyString", @@ -4829,7 +7635,7 @@ }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.

" + "documentation":"

If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.

" }, "Timezone":{ "shape":"NonEmptyString", @@ -4913,30 +7719,76 @@ "shape":"NonEmptyString", "documentation":"

The identifier of a subnet in the subnet group.

" }, - "SubnetAvailabilityZone":{ - "shape":"AwsRdsDbSubnetGroupSubnetAvailabilityZone", - "documentation":"

Information about the Availability Zone for a subnet in the subnet group.

" + "SubnetAvailabilityZone":{ + "shape":"AwsRdsDbSubnetGroupSubnetAvailabilityZone", + "documentation":"

Information about the Availability Zone for a subnet in the subnet group.

" + }, + "SubnetStatus":{ + "shape":"NonEmptyString", + "documentation":"

The status of a subnet in the subnet group.

" + } + }, + "documentation":"

Information about a subnet in a subnet group.

" + }, + "AwsRdsDbSubnetGroupSubnetAvailabilityZone":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the Availability Zone for a subnet in the subnet group.

" + } + }, + "documentation":"

An Availability Zone for a subnet in a subnet group.

" + }, + "AwsRdsDbSubnetGroupSubnets":{ + "type":"list", + "member":{"shape":"AwsRdsDbSubnetGroupSubnet"} + }, + "AwsRdsEventSubscriptionDetails":{ + "type":"structure", + "members":{ + "CustSubscriptionId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the account that is associated with the event notification subscription.

" + }, + "CustomerAwsId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the event notification subscription.

" + }, + "Enabled":{ + "shape":"Boolean", + "documentation":"

Whether the event notification subscription is enabled.

" + }, + "EventCategoriesList":{ + "shape":"NonEmptyStringList", + "documentation":"

The list of event categories for the event notification subscription.

" + }, + "EventSubscriptionArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the event notification subscription.

" + }, + "SnsTopicArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the SNS topic to post the event notifications to.

" + }, + "SourceIdsList":{ + "shape":"NonEmptyStringList", + "documentation":"

A list of source identifiers for the event notification subscription.

" + }, + "SourceType":{ + "shape":"NonEmptyString", + "documentation":"

The source type for the event notification subscription.

" }, - "SubnetStatus":{ + "Status":{ "shape":"NonEmptyString", - "documentation":"

The status of a subnet in the subnet group.

" - } - }, - "documentation":"

Information about a subnet in a subnet group.

" - }, - "AwsRdsDbSubnetGroupSubnetAvailabilityZone":{ - "type":"structure", - "members":{ - "Name":{ + "documentation":"

The status of the event notification subscription.

Valid values: creating | modifying | deleting | active | no-permission | topic-not-exist

" + }, + "SubscriptionCreationTime":{ "shape":"NonEmptyString", - "documentation":"

The name of the Availability Zone for a subnet in the subnet group.

" + "documentation":"

The datetime when the event notification subscription was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" } }, - "documentation":"

An Availability Zone for a subnet in a subnet group.

" - }, - "AwsRdsDbSubnetGroupSubnets":{ - "type":"list", - "member":{"shape":"AwsRdsDbSubnetGroupSubnet"} + "documentation":"

Details about an Amazon RDS event notification subscription. The subscription allows Amazon RDS to post events to an SNS topic.

" }, "AwsRdsPendingCloudWatchLogsExports":{ "type":"structure", @@ -5185,11 +8037,11 @@ }, "IamRoles":{ "shape":"AwsRedshiftClusterIamRoles", - "documentation":"

A list of IAM roles that the cluster can use to access other AWS services.

" + "documentation":"

A list of IAM roles that the cluster can use to access other Amazon Web Services services.

" }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the AWS KMS encryption key that is used to encrypt data in the cluster.

" + "documentation":"

The identifier of the KMS encryption key that is used to encrypt data in the cluster.

" }, "MaintenanceTrackName":{ "shape":"NonEmptyString", @@ -5316,7 +8168,7 @@ "documentation":"

The ARN of the IAM role.

" } }, - "documentation":"

An IAM role that the cluster can use to access other AWS services.

" + "documentation":"

An IAM role that the cluster can use to access other Amazon Web Services services.

" }, "AwsRedshiftClusterIamRoles":{ "type":"list", @@ -5451,11 +8303,207 @@ }, "RestrictPublicBuckets":{ "shape":"Boolean", - "documentation":"

Indicates whether to restrict access to an access point or S3 bucket that has a public policy to only AWS service principals and authorized users within the S3 bucket owner's account.

" + "documentation":"

Indicates whether to restrict access to an access point or S3 bucket that has a public policy to only Amazon Web Services service principals and authorized users within the S3 bucket owner's account.

" } }, "documentation":"

provides information about the Amazon S3 Public Access Block configuration for accounts.

" }, + "AwsS3BucketBucketLifecycleConfigurationDetails":{ + "type":"structure", + "members":{ + "Rules":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesList", + "documentation":"

The lifecycle rules.

" + } + }, + "documentation":"

The lifecycle configuration for the objects in the S3 bucket.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails":{ + "type":"structure", + "members":{ + "DaysAfterInitiation":{ + "shape":"Integer", + "documentation":"

The number of days after which Amazon S3 cancels an incomplete multipart upload.

" + } + }, + "documentation":"

Information about what Amazon S3 does when a multipart upload is incomplete.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesDetails":{ + "type":"structure", + "members":{ + "AbortIncompleteMultipartUpload":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails", + "documentation":"

How Amazon S3 responds when a multipart upload is incomplete. Specifically, provides a number of days before Amazon S3 cancels the entire upload.

" + }, + "ExpirationDate":{ + "shape":"NonEmptyString", + "documentation":"

The date when objects are moved or deleted.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" + }, + "ExpirationInDays":{ + "shape":"Integer", + "documentation":"

The length in days of the lifetime for objects that are subject to the rule.

" + }, + "ExpiredObjectDeleteMarker":{ + "shape":"Boolean", + "documentation":"

Whether Amazon S3 removes a delete marker that has no noncurrent versions. If set to true, the delete marker is expired. If set to false, the policy takes no action.

If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays or ExpirationDate.

" + }, + "Filter":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails", + "documentation":"

Identifies the objects that a rule applies to.

" + }, + "ID":{ + "shape":"NonEmptyString", + "documentation":"

The unique identifier of the rule.

" + }, + "NoncurrentVersionExpirationInDays":{ + "shape":"Integer", + "documentation":"

The number of days that an object is noncurrent before Amazon S3 can perform the associated action.

" + }, + "NoncurrentVersionTransitions":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList", + "documentation":"

Transition rules that describe when noncurrent objects transition to a specified storage class.

" + }, + "Prefix":{ + "shape":"NonEmptyString", + "documentation":"

A prefix that identifies one or more objects that the rule applies to.

" + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

The current status of the rule. Indicates whether the rule is currently being applied.

" + }, + "Transitions":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList", + "documentation":"

Transition rules that indicate when objects transition to a specified storage class.

" + } + }, + "documentation":"

Configuration for a lifecycle rule.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails":{ + "type":"structure", + "members":{ + "Predicate":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails", + "documentation":"

The configuration for the filter.

" + } + }, + "documentation":"

Identifies the objects that a rule applies to.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails":{ + "type":"structure", + "members":{ + "Operands":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsList", + "documentation":"

The values to use for the filter.

" + }, + "Prefix":{ + "shape":"NonEmptyString", + "documentation":"

A prefix filter.

" + }, + "Tag":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails", + "documentation":"

A tag filter.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

Whether to use AND or OR to join the operands.

" + } + }, + "documentation":"

The configuration for the filter.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails":{ + "type":"structure", + "members":{ + "Prefix":{ + "shape":"NonEmptyString", + "documentation":"

Prefix text for matching objects.

" + }, + "Tag":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails", + "documentation":"

A tag that is assigned to matching objects.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of filter value.

" + } + }, + "documentation":"

A value to use for the filter.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsList":{ + "type":"list", + "member":{"shape":"AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails"} + }, + "AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

The tag key.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The tag value.

" + } + }, + "documentation":"

A tag that is assigned to matching objects.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails":{ + "type":"structure", + "members":{ + "Key":{ + "shape":"NonEmptyString", + "documentation":"

The tag key.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The tag value

" + } + }, + "documentation":"

A tag filter.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesList":{ + "type":"list", + "member":{"shape":"AwsS3BucketBucketLifecycleConfigurationRulesDetails"} + }, + "AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails":{ + "type":"structure", + "members":{ + "Days":{ + "shape":"Integer", + "documentation":"

The number of days that an object is noncurrent before Amazon S3 can perform the associated action.

" + }, + "StorageClass":{ + "shape":"NonEmptyString", + "documentation":"

The class of storage to change the object to after the object is noncurrent for the specified number of days.

" + } + }, + "documentation":"

A transition rule that describes when noncurrent objects transition to a specified storage class.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsList":{ + "type":"list", + "member":{"shape":"AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails"} + }, + "AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails":{ + "type":"structure", + "members":{ + "Date":{ + "shape":"NonEmptyString", + "documentation":"

A date on which to transition objects to the specified storage class. If you provide Date, you cannot provide Days.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" + }, + "Days":{ + "shape":"Integer", + "documentation":"

The number of days after which to transition the object to the specified storage class. If you provide Days, you cannot provide Date.

" + }, + "StorageClass":{ + "shape":"NonEmptyString", + "documentation":"

The storage class to transition the object to.

" + } + }, + "documentation":"

A rule for when objects transition to specific storage classes.

" + }, + "AwsS3BucketBucketLifecycleConfigurationRulesTransitionsList":{ + "type":"list", + "member":{"shape":"AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails"} + }, "AwsS3BucketDetails":{ "type":"structure", "members":{ @@ -5467,6 +8515,10 @@ "shape":"NonEmptyString", "documentation":"

The display name of the owner of the S3 bucket.

" }, + "OwnerAccountId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Web Services account identifier of the account that owns the S3 bucket.

" + }, "CreatedAt":{ "shape":"NonEmptyString", "documentation":"

Indicates when the S3 bucket was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

" @@ -5475,13 +8527,132 @@ "shape":"AwsS3BucketServerSideEncryptionConfiguration", "documentation":"

The encryption rules that are applied to the S3 bucket.

" }, + "BucketLifecycleConfiguration":{ + "shape":"AwsS3BucketBucketLifecycleConfigurationDetails", + "documentation":"

The lifecycle configuration for objects in the S3 bucket.

" + }, "PublicAccessBlockConfiguration":{ "shape":"AwsS3AccountPublicAccessBlockDetails", "documentation":"

Provides information about the Amazon S3 Public Access Block configuration for the S3 bucket.

" + }, + "AccessControlList":{ + "shape":"NonEmptyString", + "documentation":"

The access control list for the S3 bucket.

" + }, + "BucketLoggingConfiguration":{ + "shape":"AwsS3BucketLoggingConfiguration", + "documentation":"

The logging configuration for the S3 bucket.

" + }, + "BucketWebsiteConfiguration":{ + "shape":"AwsS3BucketWebsiteConfiguration", + "documentation":"

The website configuration parameters for the S3 bucket.

" + }, + "BucketNotificationConfiguration":{ + "shape":"AwsS3BucketNotificationConfiguration", + "documentation":"

The notification configuration for the S3 bucket.

" } }, "documentation":"

The details of an Amazon S3 bucket.

" }, + "AwsS3BucketLoggingConfiguration":{ + "type":"structure", + "members":{ + "DestinationBucketName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the S3 bucket where log files for the S3 bucket are stored.

" + }, + "LogFilePrefix":{ + "shape":"NonEmptyString", + "documentation":"

The prefix added to log files for the S3 bucket.

" + } + }, + "documentation":"

Information about logging for the S3 bucket

" + }, + "AwsS3BucketNotificationConfiguration":{ + "type":"structure", + "members":{ + "Configurations":{ + "shape":"AwsS3BucketNotificationConfigurationDetails", + "documentation":"

Configurations for S3 bucket notifications.

" + } + }, + "documentation":"

The notification configuration for the S3 bucket.

" + }, + "AwsS3BucketNotificationConfigurationDetail":{ + "type":"structure", + "members":{ + "Events":{ + "shape":"AwsS3BucketNotificationConfigurationEvents", + "documentation":"

The list of events that trigger a notification.

" + }, + "Filter":{ + "shape":"AwsS3BucketNotificationConfigurationFilter", + "documentation":"

The filters that determine which S3 buckets generate notifications.

" + }, + "Destination":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the Lambda function, Amazon SQS queue, or Amazon SNS topic that generates the notification.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

Indicates the type of notification. Notifications can be generated using Lambda functions, Amazon SQS queues or Amazon SNS topics.

" + } + }, + "documentation":"

Details for an S3 bucket notification configuration.

" + }, + "AwsS3BucketNotificationConfigurationDetails":{ + "type":"list", + "member":{"shape":"AwsS3BucketNotificationConfigurationDetail"} + }, + "AwsS3BucketNotificationConfigurationEvents":{ + "type":"list", + "member":{"shape":"NonEmptyString"} + }, + "AwsS3BucketNotificationConfigurationFilter":{ + "type":"structure", + "members":{ + "S3KeyFilter":{ + "shape":"AwsS3BucketNotificationConfigurationS3KeyFilter", + "documentation":"

Details for an Amazon S3 filter.

" + } + }, + "documentation":"

Filtering information for the notifications. The filtering is based on Amazon S3 key names.

" + }, + "AwsS3BucketNotificationConfigurationS3KeyFilter":{ + "type":"structure", + "members":{ + "FilterRules":{ + "shape":"AwsS3BucketNotificationConfigurationS3KeyFilterRules", + "documentation":"

The filter rules for the filter.

" + } + }, + "documentation":"

Details for an Amazon S3 filter.

" + }, + "AwsS3BucketNotificationConfigurationS3KeyFilterRule":{ + "type":"structure", + "members":{ + "Name":{ + "shape":"AwsS3BucketNotificationConfigurationS3KeyFilterRuleName", + "documentation":"

Indicates whether the filter is based on the prefix or suffix of the Amazon S3 key.

" + }, + "Value":{ + "shape":"NonEmptyString", + "documentation":"

The filter value.

" + } + }, + "documentation":"

Details for a filter rule.

" + }, + "AwsS3BucketNotificationConfigurationS3KeyFilterRuleName":{ + "type":"string", + "enum":[ + "Prefix", + "Suffix" + ] + }, + "AwsS3BucketNotificationConfigurationS3KeyFilterRules":{ + "type":"list", + "member":{"shape":"AwsS3BucketNotificationConfigurationS3KeyFilterRule"} + }, "AwsS3BucketServerSideEncryptionByDefault":{ "type":"structure", "members":{ @@ -5491,7 +8662,7 @@ }, "KMSMasterKeyID":{ "shape":"NonEmptyString", - "documentation":"

AWS KMS customer master key (CMK) ID to use for the default encryption.

" + "documentation":"

KMS key ID to use for the default encryption.

" } }, "documentation":"

Specifies the default server-side encryption to apply to new objects in the bucket.

" @@ -5520,6 +8691,100 @@ "type":"list", "member":{"shape":"AwsS3BucketServerSideEncryptionRule"} }, + "AwsS3BucketWebsiteConfiguration":{ + "type":"structure", + "members":{ + "ErrorDocument":{ + "shape":"NonEmptyString", + "documentation":"

The name of the error document for the website.

" + }, + "IndexDocumentSuffix":{ + "shape":"NonEmptyString", + "documentation":"

The name of the index document for the website.

" + }, + "RedirectAllRequestsTo":{ + "shape":"AwsS3BucketWebsiteConfigurationRedirectTo", + "documentation":"

The redirect behavior for requests to the website.

" + }, + "RoutingRules":{ + "shape":"AwsS3BucketWebsiteConfigurationRoutingRules", + "documentation":"

The rules for applying redirects for requests to the website.

" + } + }, + "documentation":"

Website parameters for the S3 bucket.

" + }, + "AwsS3BucketWebsiteConfigurationRedirectTo":{ + "type":"structure", + "members":{ + "Hostname":{ + "shape":"NonEmptyString", + "documentation":"

The name of the host to redirect requests to.

" + }, + "Protocol":{ + "shape":"NonEmptyString", + "documentation":"

The protocol to use when redirecting requests. By default, uses the same protocol as the original request.

" + } + }, + "documentation":"

The redirect behavior for requests to the website.

" + }, + "AwsS3BucketWebsiteConfigurationRoutingRule":{ + "type":"structure", + "members":{ + "Condition":{ + "shape":"AwsS3BucketWebsiteConfigurationRoutingRuleCondition", + "documentation":"

Provides the condition that must be met in order to apply the routing rule.

" + }, + "Redirect":{ + "shape":"AwsS3BucketWebsiteConfigurationRoutingRuleRedirect", + "documentation":"

Provides the rules to redirect the request if the condition in Condition is met.

" + } + }, + "documentation":"

A rule for redirecting requests to the website.

" + }, + "AwsS3BucketWebsiteConfigurationRoutingRuleCondition":{ + "type":"structure", + "members":{ + "HttpErrorCodeReturnedEquals":{ + "shape":"NonEmptyString", + "documentation":"

Indicates to redirect the request if the HTTP error code matches this value.

" + }, + "KeyPrefixEquals":{ + "shape":"NonEmptyString", + "documentation":"

Indicates to redirect the request if the key prefix matches this value.

" + } + }, + "documentation":"

The condition that must be met in order to apply the routing rule.

" + }, + "AwsS3BucketWebsiteConfigurationRoutingRuleRedirect":{ + "type":"structure", + "members":{ + "Hostname":{ + "shape":"NonEmptyString", + "documentation":"

The host name to use in the redirect request.

" + }, + "HttpRedirectCode":{ + "shape":"NonEmptyString", + "documentation":"

The HTTP redirect code to use in the response.

" + }, + "Protocol":{ + "shape":"NonEmptyString", + "documentation":"

The protocol to use to redirect the request. By default, uses the protocol from the original request.

" + }, + "ReplaceKeyPrefixWith":{ + "shape":"NonEmptyString", + "documentation":"

The object key prefix to use in the redirect request.

Cannot be provided if ReplaceKeyWith is present.

" + }, + "ReplaceKeyWith":{ + "shape":"NonEmptyString", + "documentation":"

The specific object key to use in the redirect request.

Cannot be provided if ReplaceKeyPrefixWith is present.

" + } + }, + "documentation":"

The rules to redirect the request if the condition in Condition is met.

" + }, + "AwsS3BucketWebsiteConfigurationRoutingRules":{ + "type":"list", + "member":{"shape":"AwsS3BucketWebsiteConfigurationRoutingRule"} + }, "AwsS3ObjectDetails":{ "type":"structure", "members":{ @@ -5545,7 +8810,7 @@ }, "SSEKMSKeyId":{ "shape":"NonEmptyString", - "documentation":"

The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

" + "documentation":"

The identifier of the KMS symmetric customer managed key that was used for the object.

" } }, "documentation":"

Details about an Amazon S3 object.

" @@ -5563,7 +8828,7 @@ }, "KmsKeyId":{ "shape":"NonEmptyString", - "documentation":"

The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the SecretString or SecretBinary values for versions of this secret.

" + "documentation":"

The ARN, Key ID, or alias of the KMS key used to encrypt the SecretString or SecretBinary values for versions of this secret.

" }, "RotationEnabled":{ "shape":"Boolean", @@ -5586,7 +8851,7 @@ "documentation":"

The user-provided description of the secret.

" } }, - "documentation":"

Details about an AWS Secrets Manager secret.

" + "documentation":"

Details about an Secrets Manager secret.

" }, "AwsSecretsManagerSecretRotationRules":{ "type":"structure", @@ -5623,7 +8888,19 @@ }, "ProductArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration.

" + "documentation":"

The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration.

" + }, + "ProductName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the product that generated the finding.

Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings or BatchUpdateFindings. The exception to this is when you use a custom integration.

When you use the Security Hub console to filter findings by product name, you use this attribute.

When you use the Security Hub API to filter findings by product name, you use the aws/securityhub/ProductName attribute under ProductFields.

Security Hub does not synchronize those two attributes.

" + }, + "CompanyName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the company for the product that generated the finding.

Security Hub populates this attribute automatically for each finding. You cannot be updated using BatchImportFindings or BatchUpdateFindings. The exception to this is when you use a custom integration.

When you use the Security Hub console to filter findings by company name, you use this attribute.

When you use the Security Hub API to filter findings by company name, you use the aws/securityhub/CompanyName attribute under ProductFields.

Security Hub does not synchronize those two attributes.

" + }, + "Region":{ + "shape":"NonEmptyString", + "documentation":"

The Region from which the finding was generated.

Security Hub populates this attribute automatically for each finding. You cannot update it using BatchImportFindings or BatchUpdateFindings.

" }, "GeneratorId":{ "shape":"NonEmptyString", @@ -5631,7 +8908,7 @@ }, "AwsAccountId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID that a finding is generated in.

" + "documentation":"

The Amazon Web Services account ID that a finding is generated in.

" }, "Types":{ "shape":"TypeList", @@ -5683,7 +8960,7 @@ }, "ProductFields":{ "shape":"FieldMap", - "documentation":"

A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format.

" + "documentation":"

A data type where security-findings providers can include additional solution-specific details that aren't part of the defined AwsSecurityFinding format.

Can contain up to 50 key-value pairs. For each key-value pair, the key can contain up to 128 characters, and the value can contain up to 2048 characters.

" }, "UserDefinedFields":{ "shape":"FieldMap", @@ -5715,7 +8992,7 @@ }, "Compliance":{ "shape":"Compliance", - "documentation":"

This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported security standard, such as CIS AWS Foundations. Contains security standard-related finding details.

" + "documentation":"

This data type is exclusive to findings that are generated as the result of a check run against a specific rule in a supported security standard, such as CIS Amazon Web Services Foundations. Contains security standard-related finding details.

" }, "VerificationState":{ "shape":"VerificationState", @@ -5758,7 +9035,7 @@ "documentation":"

In a BatchImportFindings request, finding providers use FindingProviderFields to provide and update their own values for confidence, criticality, related findings, severity, and types.

" } }, - "documentation":"

Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between AWS security services and third-party solutions, and security standards checks.

A finding is a potential security issue generated either by AWS services (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated third-party solutions and standards checks.

" + "documentation":"

Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between Amazon Web Services security services and third-party solutions, and security standards checks.

A finding is a potential security issue generated either by Amazon Web Services services or by the integrated third-party solutions and standards checks.

" }, "AwsSecurityFindingFilters":{ "type":"structure", @@ -5769,7 +9046,7 @@ }, "AwsAccountId":{ "shape":"StringFilterList", - "documentation":"

The AWS account ID that a finding is generated in.

" + "documentation":"

The Amazon Web Services account ID that a finding is generated in.

" }, "Id":{ "shape":"StringFilterList", @@ -5779,6 +9056,10 @@ "shape":"StringFilterList", "documentation":"

The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc.

" }, + "Region":{ + "shape":"StringFilterList", + "documentation":"

The Region from which the finding was generated.

" + }, "Type":{ "shape":"StringFilterList", "documentation":"

A finding type in the format of namespace/category/classifier that classifies a finding.

" @@ -5803,13 +9084,13 @@ "shape":"NumberFilterList", "documentation":"

The native severity as defined by the security-findings provider's solution that generated the finding.

", "deprecated":true, - "deprecatedMessage":"This filter is deprecated, use FindingProviiltersSeverityOriginal instead." + "deprecatedMessage":"This filter is deprecated. Instead, use FindingProviderSeverityOriginal." }, "SeverityNormalized":{ "shape":"NumberFilterList", "documentation":"

The normalized severity of a finding.

", "deprecated":true, - "deprecatedMessage":"This filter is deprecated, use SeverityLabel or FindingProviderFieldsSeverityLabel instead." + "deprecatedMessage":"This filter is deprecated. Instead, use SeverityLabel or FindingProviderFieldsSeverityLabel." }, "SeverityLabel":{ "shape":"StringFilterList", @@ -5845,11 +9126,11 @@ }, "ProductName":{ "shape":"StringFilterList", - "documentation":"

The name of the solution (product) that generates findings.

" + "documentation":"

The name of the solution (product) that generates findings.

Note that this is a filter against the aws/securityhub/ProductName field in ProductFields. It is not a filter for the top-level ProductName field.

" }, "CompanyName":{ "shape":"StringFilterList", - "documentation":"

The name of the findings provider (company) that owns the solution (product) that generates findings.

" + "documentation":"

The name of the findings provider (company) that owns the solution (product) that generates findings.

Note that this is a filter against the aws/securityhub/CompanyName field in ProductFields. It is not a filter for the top-level CompanyName field.

" }, "UserDefinedFields":{ "shape":"MapFilterList", @@ -5973,15 +9254,15 @@ }, "ResourcePartition":{ "shape":"StringFilterList", - "documentation":"

The canonical AWS partition name that the Region is assigned to.

" + "documentation":"

The canonical Amazon Web Services partition name that the Region is assigned to.

" }, "ResourceRegion":{ "shape":"StringFilterList", - "documentation":"

The canonical AWS external Region name where this resource is located.

" + "documentation":"

The canonical Amazon Web Services external Region name where this resource is located.

" }, "ResourceTags":{ "shape":"MapFilterList", - "documentation":"

A list of AWS tags associated with a resource at the time the finding was processed.

" + "documentation":"

A list of Amazon Web Services tags associated with a resource at the time the finding was processed.

" }, "ResourceAwsEc2InstanceType":{ "shape":"StringFilterList", @@ -6029,7 +9310,13 @@ }, "ResourceAwsIamAccessKeyUserName":{ "shape":"StringFilterList", - "documentation":"

The user associated with the IAM access key related to a finding.

" + "documentation":"

The user associated with the IAM access key related to a finding.

", + "deprecated":true, + "deprecatedMessage":"This filter is deprecated. Instead, use ResourceAwsIamAccessKeyPrincipalName." + }, + "ResourceAwsIamAccessKeyPrincipalName":{ + "shape":"StringFilterList", + "documentation":"

The name of the principal that is associated with an IAM access key.

" }, "ResourceAwsIamAccessKeyStatus":{ "shape":"StringFilterList", @@ -6039,6 +9326,10 @@ "shape":"DateFilterList", "documentation":"

The creation date/time of the IAM access key related to a finding.

" }, + "ResourceAwsIamUserUserName":{ + "shape":"StringFilterList", + "documentation":"

The name of an IAM user.

" + }, "ResourceContainerName":{ "shape":"StringFilterList", "documentation":"

The name of the container related to a finding.

" @@ -6061,7 +9352,7 @@ }, "ComplianceStatus":{ "shape":"StringFilterList", - "documentation":"

Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard, such as CIS AWS Foundations. Contains security standard-related finding details.

" + "documentation":"

Exclusive to findings that are generated as the result of a check run against a specific rule in a supported standard, such as CIS Amazon Web Services Foundations. Contains security standard-related finding details.

" }, "VerificationState":{ "shape":"StringFilterList", @@ -6101,7 +9392,9 @@ }, "Keyword":{ "shape":"KeywordFilterList", - "documentation":"

A keyword for a finding.

" + "documentation":"

A keyword for a finding.

", + "deprecated":true, + "deprecatedMessage":"The Keyword property is deprecated." }, "FindingProviderFieldsConfidence":{ "shape":"NumberFilterList", @@ -6165,11 +9458,11 @@ "members":{ "KmsMasterKeyId":{ "shape":"NonEmptyString", - "documentation":"

The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom CMK.

" + "documentation":"

The ID of an Amazon Web Services managed key for Amazon SNS or a customer managed key.

" }, "Subscription":{ "shape":"AwsSnsTopicSubscriptionList", - "documentation":"

Subscription is an embedded property that describes the subscription endpoints of an Amazon SNS topic.

" + "documentation":"

Subscription is an embedded property that describes the subscription endpoints of an SNS topic.

" }, "TopicName":{ "shape":"NonEmptyString", @@ -6180,7 +9473,7 @@ "documentation":"

The subscription's owner.

" } }, - "documentation":"

A wrapper type for the topic's Amazon Resource Name (ARN).

" + "documentation":"

A wrapper type for the topic's ARN.

" }, "AwsSnsTopicSubscription":{ "type":"structure", @@ -6205,11 +9498,11 @@ "members":{ "KmsDataKeyReusePeriodSeconds":{ "shape":"Integer", - "documentation":"

The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again.

" + "documentation":"

The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling KMS again.

" }, "KmsMasterKeyId":{ "shape":"NonEmptyString", - "documentation":"

The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom CMK.

" + "documentation":"

The ID of an Amazon Web Services managed key for Amazon SQS or a custom KMS key.

" }, "QueueName":{ "shape":"NonEmptyString", @@ -6217,7 +9510,7 @@ }, "DeadLetterTargetArn":{ "shape":"NonEmptyString", - "documentation":"

The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

" + "documentation":"

The ARN of the dead-letter queue to which Amazon SQS moves messages after the value of maxReceiveCount is exceeded.

" } }, "documentation":"

Data about a queue.

" @@ -6320,6 +9613,110 @@ }, "documentation":"

Provides information about the state of a patch on an instance based on the patch baseline that was used to patch the instance.

" }, + "AwsWafRateBasedRuleDetails":{ + "type":"structure", + "members":{ + "MetricName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the metrics for the rate-based rule.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the rate-based rule.

" + }, + "RateKey":{ + "shape":"NonEmptyString", + "documentation":"

The field that WAF uses to determine whether requests are likely arriving from single source and are subject to rate monitoring.

" + }, + "RateLimit":{ + "shape":"Long", + "documentation":"

The maximum number of requests that have an identical value for the field specified in RateKey that are allowed within a five-minute period. If the number of requests exceeds RateLimit and the other predicates specified in the rule are met, WAF triggers the action for the rule.

" + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

The unique identifier for the rate-based rule.

" + }, + "MatchPredicates":{ + "shape":"AwsWafRateBasedRuleMatchPredicateList", + "documentation":"

The predicates to include in the rate-based rule.

" + } + }, + "documentation":"

Details about a rate-based rule for global resources. A rate-based rule provides settings to indicate when to allow, block, or count a request. Rate-based rules include the number of requests that arrive over a specified period of time.

" + }, + "AwsWafRateBasedRuleMatchPredicate":{ + "type":"structure", + "members":{ + "DataId":{ + "shape":"NonEmptyString", + "documentation":"

The unique identifier for the predicate.

" + }, + "Negated":{ + "shape":"Boolean", + "documentation":"

If set to true, then the rule actions are performed on requests that match the predicate settings.

If set to false, then the rule actions are performed on all requests except those that match the predicate settings.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of predicate.

" + } + }, + "documentation":"

A match predicate. A predicate might look for characteristics such as specific IP addresses, geographic locations, or sizes.

" + }, + "AwsWafRateBasedRuleMatchPredicateList":{ + "type":"list", + "member":{"shape":"AwsWafRateBasedRuleMatchPredicate"} + }, + "AwsWafRegionalRateBasedRuleDetails":{ + "type":"structure", + "members":{ + "MetricName":{ + "shape":"NonEmptyString", + "documentation":"

The name of the metrics for the rate-based rule.

" + }, + "Name":{ + "shape":"NonEmptyString", + "documentation":"

The name of the rate-based rule.

" + }, + "RateKey":{ + "shape":"NonEmptyString", + "documentation":"

The field that WAF uses to determine whether requests are likely arriving from single source and are subject to rate monitoring.

" + }, + "RateLimit":{ + "shape":"Long", + "documentation":"

The maximum number of requests that have an identical value for the field specified in RateKey that are allowed within a five-minute period. If the number of requests exceeds RateLimit and the other predicates specified in the rule are met, WAF triggers the action for the rule.

" + }, + "RuleId":{ + "shape":"NonEmptyString", + "documentation":"

The unique identifier for the rate-based rule.

" + }, + "MatchPredicates":{ + "shape":"AwsWafRegionalRateBasedRuleMatchPredicateList", + "documentation":"

The predicates to include in the rate-based rule.

" + } + }, + "documentation":"

contains details about a rate-based rule for Regional resources. A rate-based rule provides settings to indicate when to allow, block, or count a request. Rate-based rules include the number of requests that arrive over a specified period of time.

" + }, + "AwsWafRegionalRateBasedRuleMatchPredicate":{ + "type":"structure", + "members":{ + "DataId":{ + "shape":"NonEmptyString", + "documentation":"

The unique identifier for the predicate.

" + }, + "Negated":{ + "shape":"Boolean", + "documentation":"

If set to true, then the rule actions are performed on requests that match the predicate settings.

If set to false, then the rule actions are performed on all requests except those that match the predicate settings.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of predicate.

" + } + }, + "documentation":"

Details for a match predicate. A predicate might look for characteristics such as specific IP addresses, geographic locations, or sizes.

" + }, + "AwsWafRegionalRateBasedRuleMatchPredicateList":{ + "type":"list", + "member":{"shape":"AwsWafRegionalRateBasedRuleMatchPredicate"} + }, "AwsWafWebAclDetails":{ "type":"structure", "members":{ @@ -6340,14 +9737,14 @@ "documentation":"

A unique identifier for a WebACL.

" } }, - "documentation":"

Details about a WAF WebACL.

" + "documentation":"

Details about an WAF WebACL.

" }, "AwsWafWebAclRule":{ "type":"structure", "members":{ "Action":{ "shape":"WafAction", - "documentation":"

Specifies the action that CloudFront or AWS WAF takes when a web request matches the conditions in the rule.

" + "documentation":"

Specifies the action that CloudFront or WAF takes when a web request matches the conditions in the rule.

" }, "ExcludedRules":{ "shape":"WafExcludedRuleList", @@ -6370,12 +9767,30 @@ "documentation":"

The rule type.

Valid values: REGULAR | RATE_BASED | GROUP

The default is REGULAR.

" } }, - "documentation":"

Details for a rule in a WAF WebACL.

" + "documentation":"

Details for a rule in an WAF WebACL.

" }, "AwsWafWebAclRuleList":{ "type":"list", "member":{"shape":"AwsWafWebAclRule"} }, + "AwsXrayEncryptionConfigDetails":{ + "type":"structure", + "members":{ + "KeyId":{ + "shape":"NonEmptyString", + "documentation":"

The identifier of the KMS key that is used for encryption. Provided if Type is KMS.

" + }, + "Status":{ + "shape":"NonEmptyString", + "documentation":"

The current status of the encryption configuration. When Status is UPDATING, X-Ray might use both the old and new encryption.

" + }, + "Type":{ + "shape":"NonEmptyString", + "documentation":"

The type of encryption. KMS indicates that the encryption uses KMS keys. NONE indicates to use the default encryption.

" + } + }, + "documentation":"

Information about the encryption configuration for X-Ray.

" + }, "BatchDisableStandardsRequest":{ "type":"structure", "required":["StandardsSubscriptionArns"], @@ -6420,7 +9835,7 @@ "members":{ "Findings":{ "shape":"BatchImportFindingsRequestFindingList", - "documentation":"

A list of findings to import. To successfully import a finding, it must follow the AWS Security Finding Format. Maximum of 100 findings per request.

" + "documentation":"

A list of findings to import. To successfully import a finding, it must follow the Amazon Web Services Security Finding Format. Maximum of 100 findings per request.

" } } }, @@ -6650,7 +10065,7 @@ "members":{ "Status":{ "shape":"ComplianceStatus", - "documentation":"

The result of a standards check.

The valid values for Status are as follows.

" + "documentation":"

The result of a standards check.

The valid values for Status are as follows.

" }, "RelatedRequirements":{ "shape":"RelatedRequirementsList", @@ -6658,7 +10073,7 @@ }, "StatusReasons":{ "shape":"StatusReasonsList", - "documentation":"

For findings generated from controls, a list of reasons behind the value of Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the AWS Security Hub User Guide.

" + "documentation":"

For findings generated from controls, a list of reasons behind the value of Status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the Security Hub User Guide.

" } }, "documentation":"

Contains finding details that are specific to control-based findings. Only returned for findings generated from controls.

" @@ -6725,7 +10140,7 @@ "members":{ "Name":{ "shape":"NonEmptyString", - "documentation":"

The name of the custom action target.

" + "documentation":"

The name of the custom action target. Can contain up to 20 characters.

" }, "Description":{ "shape":"NonEmptyString", @@ -6733,7 +10148,7 @@ }, "Id":{ "shape":"NonEmptyString", - "documentation":"

The ID for the custom action target.

" + "documentation":"

The ID for the custom action target. Can contain up to 20 alphanumeric characters.

" } } }, @@ -6747,6 +10162,41 @@ } } }, + "CreateFindingAggregatorRequest":{ + "type":"structure", + "required":["RegionLinkingMode"], + "members":{ + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.

The selected option also determines how to use the Regions provided in the Regions list.

The options are as follows:

" + }, + "Regions":{ + "shape":"StringList", + "documentation":"

If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a comma-separated list of Regions that do not aggregate findings to the aggregation Region.

If RegionLinkingMode is SPECIFIED_REGIONS, then this is a comma-separated list of Regions that do aggregate findings to the aggregation Region.

" + } + } + }, + "CreateFindingAggregatorResponse":{ + "type":"structure", + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the finding aggregator. You use the finding aggregator ARN to retrieve details for, update, and stop finding aggregation.

" + }, + "FindingAggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

The aggregation Region.

" + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions.

" + }, + "Regions":{ + "shape":"StringList", + "documentation":"

The list of excluded Regions or included Regions.

" + } + } + }, "CreateInsightRequest":{ "type":"structure", "required":[ @@ -6785,7 +10235,7 @@ "members":{ "AccountDetails":{ "shape":"AccountDetailsList", - "documentation":"

The list of accounts to associate with the Security Hub master account. For each account, the list includes the account ID and optionally the email address.

" + "documentation":"

The list of accounts to associate with the Security Hub administrator account. For each account, the list includes the account ID and optionally the email address.

" } } }, @@ -6794,7 +10244,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

The list of AWS accounts that were not processed. For each account, the list includes the account ID and the email address.

" + "documentation":"

The list of Amazon Web Services accounts that were not processed. For each account, the list includes the account ID and the email address.

" } } }, @@ -6857,6 +10307,14 @@ "BaseVector":{ "shape":"NonEmptyString", "documentation":"

The base scoring vector for the CVSS score.

" + }, + "Source":{ + "shape":"NonEmptyString", + "documentation":"

The origin of the original CVSS score and vector.

" + }, + "Adjustments":{ + "shape":"AdjustmentList", + "documentation":"

Adjustments to the CVSS metrics.

" } }, "documentation":"

CVSS scores from the advisory related to the vulnerability.

" @@ -6934,7 +10392,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

The list of AWS accounts that were not processed. For each account, the list includes the account ID and the email address.

" + "documentation":"

The list of Amazon Web Services accounts that were not processed. For each account, the list includes the account ID and the email address.

" } } }, @@ -6960,6 +10418,23 @@ } } }, + "DeleteFindingAggregatorRequest":{ + "type":"structure", + "required":["FindingAggregatorArn"], + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the finding aggregator to delete. To obtain the ARN, use ListFindingAggregators.

", + "location":"uri", + "locationName":"FindingAggregatorArn" + } + } + }, + "DeleteFindingAggregatorResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteInsightRequest":{ "type":"structure", "required":["InsightArn"], @@ -6997,7 +10472,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

The list of AWS accounts for which the invitations were not deleted. For each account, the list includes the account ID and the email address.

" + "documentation":"

The list of Amazon Web Services accounts for which the invitations were not deleted. For each account, the list includes the account ID and the email address.

" } } }, @@ -7016,7 +10491,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

The list of AWS accounts that were not deleted. For each account, the list includes the account ID and the email address.

" + "documentation":"

The list of Amazon Web Services accounts that were not deleted. For each account, the list includes the account ID and the email address.

" } } }, @@ -7140,7 +10615,7 @@ "members":{ "StandardsSubscriptionArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of a resource that represents your subscription to a supported standard. To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards operation.

", + "documentation":"

The ARN of a resource that represents your subscription to a supported standard. To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards operation.

", "location":"uri", "locationName":"StandardsSubscriptionArn" }, @@ -7224,7 +10699,7 @@ "members":{ "AdminAccountId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account identifier of the Security Hub administrator account.

" + "documentation":"

The Amazon Web Services account identifier of the Security Hub administrator account.

" } } }, @@ -7243,6 +10718,16 @@ "members":{ } }, + "DisassociateFromAdministratorAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "DisassociateFromAdministratorAccountResponse":{ + "type":"structure", + "members":{ + } + }, "DisassociateFromMasterAccountRequest":{ "type":"structure", "members":{ @@ -7259,7 +10744,7 @@ "members":{ "AccountIds":{ "shape":"AccountIdList", - "documentation":"

The account IDs of the member accounts to disassociate from the master account.

" + "documentation":"

The account IDs of the member accounts to disassociate from the administrator account.

" } } }, @@ -7312,7 +10797,7 @@ "members":{ "AdminAccountId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account identifier of the account to designate as the Security Hub administrator account.

" + "documentation":"

The Amazon Web Services account identifier of the account to designate as the Security Hub administrator account.

" } } }, @@ -7344,6 +10829,20 @@ "key":{"shape":"NonEmptyString"}, "value":{"shape":"NonEmptyString"} }, + "FindingAggregator":{ + "type":"structure", + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the finding aggregator. You use the finding aggregator ARN to retrieve details for, update, and delete the finding aggregator.

" + } + }, + "documentation":"

A finding aggregator. A finding aggregator contains the configuration for finding aggregation.

" + }, + "FindingAggregatorList":{ + "type":"list", + "member":{"shape":"FindingAggregator"} + }, "FindingProviderFields":{ "type":"structure", "members":{ @@ -7398,6 +10897,17 @@ }, "documentation":"

Provides the latitude and longitude coordinates of a location.

" }, + "GetAdministratorAccountRequest":{ + "type":"structure", + "members":{ + } + }, + "GetAdministratorAccountResponse":{ + "type":"structure", + "members":{ + "Administrator":{"shape":"Invitation"} + } + }, "GetEnabledStandardsRequest":{ "type":"structure", "members":{ @@ -7428,6 +10938,39 @@ } } }, + "GetFindingAggregatorRequest":{ + "type":"structure", + "required":["FindingAggregatorArn"], + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the finding aggregator to return details for. To obtain the ARN, use ListFindingAggregators.

", + "location":"uri", + "locationName":"FindingAggregatorArn" + } + } + }, + "GetFindingAggregatorResponse":{ + "type":"structure", + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the finding aggregator.

" + }, + "FindingAggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

The aggregation Region.

" + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions.

" + }, + "Regions":{ + "shape":"StringList", + "documentation":"

The list of excluded Regions or included Regions.

" + } + } + }, "GetFindingsRequest":{ "type":"structure", "members":{ @@ -7540,7 +11083,7 @@ "members":{ "Master":{ "shape":"Invitation", - "documentation":"

A list of details about the Security Hub master account for the current member account.

" + "documentation":"

A list of details about the Security Hub administrator account for the current member account.

" } } }, @@ -7563,10 +11106,24 @@ }, "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

The list of AWS accounts that could not be processed. For each account, the list includes the account ID and the email address.

" + "documentation":"

The list of Amazon Web Services accounts that could not be processed. For each account, the list includes the account ID and the email address.

" } } }, + "IcmpTypeCode":{ + "type":"structure", + "members":{ + "Code":{ + "shape":"Integer", + "documentation":"

The ICMP code for which to deny or allow access. To deny or allow all codes, use the value -1.

" + }, + "Type":{ + "shape":"Integer", + "documentation":"

The ICMP type for which to deny or allow access. To deny or allow all types, use the value -1.

" + } + }, + "documentation":"

An Internet Control Message Protocol (ICMP) type and code.

" + }, "ImportFindingsError":{ "type":"structure", "required":[ @@ -7672,11 +11229,16 @@ "documentation":"

The insight results returned by the GetInsightResults operation.

" }, "Integer":{"type":"integer"}, + "IntegerList":{ + "type":"list", + "member":{"shape":"Integer"} + }, "IntegrationType":{ "type":"string", "enum":[ "SEND_FINDINGS_TO_SECURITY_HUB", - "RECEIVE_FINDINGS_FROM_SECURITY_HUB" + "RECEIVE_FINDINGS_FROM_SECURITY_HUB", + "UPDATE_FINDINGS_IN_SECURITY_HUB" ] }, "IntegrationTypeList":{ @@ -7718,7 +11280,7 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

The account ID of the Security Hub master account that the invitation was sent from.

" + "documentation":"

The account ID of the Security Hub administrator account that the invitation was sent from.

" }, "InvitationId":{ "shape":"NonEmptyString", @@ -7730,7 +11292,7 @@ }, "MemberStatus":{ "shape":"NonEmptyString", - "documentation":"

The current status of the association between the member and master accounts.

" + "documentation":"

The current status of the association between the member and administrator accounts.

" } }, "documentation":"

Details about an invitation.

" @@ -7745,7 +11307,7 @@ "members":{ "AccountIds":{ "shape":"AccountIdList", - "documentation":"

The list of account IDs of the AWS accounts to invite to Security Hub as members.

" + "documentation":"

The list of account IDs of the Amazon Web Services accounts to invite to Security Hub as members.

" } } }, @@ -7754,7 +11316,7 @@ "members":{ "UnprocessedAccounts":{ "shape":"ResultList", - "documentation":"

The list of AWS accounts that could not be processed. For each account, the list includes the account ID and the email address.

" + "documentation":"

The list of Amazon Web Services accounts that could not be processed. For each account, the list includes the account ID and the email address.

" } } }, @@ -7836,7 +11398,7 @@ "Message":{"shape":"NonEmptyString"}, "Code":{"shape":"NonEmptyString"} }, - "documentation":"

The request was rejected because it attempted to create resources beyond the current AWS account or throttling limits. The error code describes the limit exceeded.

", + "documentation":"

The request was rejected because it attempted to create resources beyond the current Amazon Web Services account or throttling limits. The error code describes the limit exceeded.

", "error":{"httpStatusCode":429}, "exception":true }, @@ -7870,6 +11432,36 @@ } } }, + "ListFindingAggregatorsRequest":{ + "type":"structure", + "members":{ + "NextToken":{ + "shape":"NextToken", + "documentation":"

The token returned with the previous set of results. Identifies the next set of results to return.

", + "location":"querystring", + "locationName":"NextToken" + }, + "MaxResults":{ + "shape":"MaxResults", + "documentation":"

The maximum number of results to return. This operation currently only returns a single result.

", + "location":"querystring", + "locationName":"MaxResults" + } + } + }, + "ListFindingAggregatorsResponse":{ + "type":"structure", + "members":{ + "FindingAggregators":{ + "shape":"FindingAggregatorList", + "documentation":"

The list of finding aggregators. This operation currently only returns a single result.

" + }, + "NextToken":{ + "shape":"NextToken", + "documentation":"

If there are more results, this is the token to provide in the next call to ListFindingAggregators.

This operation currently only returns a single result.

" + } + } + }, "ListInvitationsRequest":{ "type":"structure", "members":{ @@ -7905,7 +11497,7 @@ "members":{ "OnlyAssociated":{ "shape":"Boolean", - "documentation":"

Specifies which member accounts to include in the response based on their relationship status with the master account. The default value is TRUE.

If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED.

If OnlyAssociated is set to FALSE, the response includes all existing member accounts.

", + "documentation":"

Specifies which member accounts to include in the response based on their relationship status with the administrator account. The default value is TRUE.

If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the administrator account is set to ENABLED.

If OnlyAssociated is set to FALSE, the response includes all existing member accounts.

", "location":"querystring", "locationName":"OnlyAssociated" }, @@ -8096,7 +11688,7 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

The AWS account ID of the member account.

" + "documentation":"

The Amazon Web Services account ID of the member account.

" }, "Email":{ "shape":"NonEmptyString", @@ -8104,11 +11696,17 @@ }, "MasterId":{ "shape":"NonEmptyString", - "documentation":"

The AWS account ID of the Security Hub master account associated with this member account.

" + "documentation":"

This is replaced by AdministratorID.

The Amazon Web Services account ID of the Security Hub administrator account associated with this member account.

", + "deprecated":true, + "deprecatedMessage":"This field is deprecated, use AdministratorId instead." + }, + "AdministratorId":{ + "shape":"NonEmptyString", + "documentation":"

The Amazon Web Services account ID of the Security Hub administrator account associated with this member account.

" }, "MemberStatus":{ "shape":"NonEmptyString", - "documentation":"

The status of the relationship between the member account and its master account.

The status can have one of the following values:

" + "documentation":"

The status of the relationship between the member account and its administrator account.

The status can have one of the following values:

" }, "InvitedAt":{ "shape":"Timestamp", @@ -8503,6 +12101,20 @@ }, "documentation":"

A range of ports.

" }, + "PortRangeFromTo":{ + "type":"structure", + "members":{ + "From":{ + "shape":"Integer", + "documentation":"

The first port in the port range.

" + }, + "To":{ + "shape":"Integer", + "documentation":"

The last port in the port range.

" + } + }, + "documentation":"

A range of ports.

" + }, "PortRangeList":{ "type":"list", "member":{"shape":"PortRange"} @@ -8563,15 +12175,15 @@ }, "IntegrationTypes":{ "shape":"IntegrationTypeList", - "documentation":"

The types of integration that the product supports. Available values are the following.

" + "documentation":"

The types of integration that the product supports. Available values are the following.

" }, "MarketplaceUrl":{ "shape":"NonEmptyString", - "documentation":"

The URL for the page that contains more information about the product.

" + "documentation":"

For integrations with Amazon Web Services services, the Amazon Web Services Console URL from which to activate the service.

For integrations with third-party products, the Amazon Web Services Marketplace URL from which to subscribe to or purchase the product.

" }, "ActivationUrl":{ "shape":"NonEmptyString", - "documentation":"

The URL used to activate the product.

" + "documentation":"

The URL to the service or product documentation about the integration with Security Hub, including how to activate the integration.

" }, "ProductSubscriptionResourcePolicy":{ "shape":"NonEmptyString", @@ -8707,11 +12319,11 @@ }, "Partition":{ "shape":"Partition", - "documentation":"

The canonical AWS partition name that the Region is assigned to.

" + "documentation":"

The canonical Amazon Web Services partition name that the Region is assigned to.

" }, "Region":{ "shape":"NonEmptyString", - "documentation":"

The canonical AWS external Region name where this resource is located.

" + "documentation":"

The canonical Amazon Web Services external Region name where this resource is located.

" }, "ResourceRole":{ "shape":"NonEmptyString", @@ -8719,7 +12331,7 @@ }, "Tags":{ "shape":"FieldMap", - "documentation":"

A list of AWS tags associated with a resource at the time the finding was processed.

" + "documentation":"

A list of Amazon Web Services tags associated with a resource at the time the finding was processed.

" }, "DataClassification":{ "shape":"DataClassificationDetails", @@ -8755,7 +12367,7 @@ }, "AwsCodeBuildProject":{ "shape":"AwsCodeBuildProjectDetails", - "documentation":"

Details for an AWS CodeBuild project.

" + "documentation":"

Details for an CodeBuild project.

" }, "AwsCloudFrontDistribution":{ "shape":"AwsCloudFrontDistributionDetails", @@ -8763,11 +12375,11 @@ }, "AwsEc2Instance":{ "shape":"AwsEc2InstanceDetails", - "documentation":"

Details about an Amazon EC2 instance related to a finding.

" + "documentation":"

Details about an EC2 instance related to a finding.

" }, "AwsEc2NetworkInterface":{ "shape":"AwsEc2NetworkInterfaceDetails", - "documentation":"

Details for an Amazon EC2 network interface.

" + "documentation":"

Details for an EC2 network interface.

" }, "AwsEc2SecurityGroup":{ "shape":"AwsEc2SecurityGroupDetails", @@ -8785,17 +12397,29 @@ "shape":"AwsEc2EipDetails", "documentation":"

Details about an Elastic IP address.

" }, + "AwsEc2Subnet":{ + "shape":"AwsEc2SubnetDetails", + "documentation":"

Details about a subnet in Amazon EC2.

" + }, + "AwsEc2NetworkAcl":{ + "shape":"AwsEc2NetworkAclDetails", + "documentation":"

Details about an EC2 network access control list (ACL).

" + }, "AwsElbv2LoadBalancer":{ "shape":"AwsElbv2LoadBalancerDetails", "documentation":"

Details about a load balancer.

" }, + "AwsElasticBeanstalkEnvironment":{ + "shape":"AwsElasticBeanstalkEnvironmentDetails", + "documentation":"

Details about an Elastic Beanstalk environment.

" + }, "AwsElasticsearchDomain":{ "shape":"AwsElasticsearchDomainDetails", "documentation":"

Details for an Elasticsearch domain.

" }, "AwsS3Bucket":{ "shape":"AwsS3BucketDetails", - "documentation":"

Details about an Amazon S3 bucket related to a finding.

" + "documentation":"

Details about an S3 bucket related to a finding.

" }, "AwsS3AccountPublicAccessBlock":{ "shape":"AwsS3AccountPublicAccessBlockDetails", @@ -8803,7 +12427,7 @@ }, "AwsS3Object":{ "shape":"AwsS3ObjectDetails", - "documentation":"

Details about an Amazon S3 object related to a finding.

" + "documentation":"

Details about an S3 object related to a finding.

" }, "AwsSecretsManagerSecret":{ "shape":"AwsSecretsManagerSecretDetails", @@ -8851,7 +12475,7 @@ }, "AwsCertificateManagerCertificate":{ "shape":"AwsCertificateManagerCertificateDetails", - "documentation":"

Provides details about an AWS Certificate Manager (ACM) certificate.

" + "documentation":"

Provides details about an Certificate Manager certificate.

" }, "AwsRedshiftCluster":{ "shape":"AwsRedshiftClusterDetails", @@ -8859,7 +12483,7 @@ }, "AwsElbLoadBalancer":{ "shape":"AwsElbLoadBalancerDetails", - "documentation":"

contains details about a Classic Load Balancer.

" + "documentation":"

Contains details about a Classic Load Balancer.

" }, "AwsIamGroup":{ "shape":"AwsIamGroupDetails", @@ -8871,7 +12495,7 @@ }, "AwsKmsKey":{ "shape":"AwsKmsKeyDetails", - "documentation":"

Details about a KMS key.

" + "documentation":"

Details about an KMS key.

" }, "AwsLambdaFunction":{ "shape":"AwsLambdaFunctionDetails", @@ -8895,7 +12519,7 @@ }, "AwsWafWebAcl":{ "shape":"AwsWafWebAclDetails", - "documentation":"

Details for a WAF WebACL.

" + "documentation":"

Details for an WAF WebACL.

" }, "AwsRdsDbSnapshot":{ "shape":"AwsRdsDbSnapshotDetails", @@ -8909,6 +12533,14 @@ "shape":"AwsRdsDbClusterDetails", "documentation":"

Details about an Amazon RDS database cluster.

" }, + "AwsEcsCluster":{ + "shape":"AwsEcsClusterDetails", + "documentation":"

Details about an ECS cluster.

" + }, + "AwsEcsTaskDefinition":{ + "shape":"AwsEcsTaskDefinitionDetails", + "documentation":"

Details about a task definition. A task definition describes the container and volume definitions of an Amazon Elastic Container Service task.

" + }, "Container":{ "shape":"ContainerDetails", "documentation":"

Details about a container resource related to a finding.

" @@ -8916,6 +12548,54 @@ "Other":{ "shape":"FieldMap", "documentation":"

Details about a resource that are not available in a type-specific details object. Use the Other object in the following cases.

" + }, + "AwsRdsEventSubscription":{ + "shape":"AwsRdsEventSubscriptionDetails", + "documentation":"

Details about an RDS event notification subscription.

" + }, + "AwsEcsService":{ + "shape":"AwsEcsServiceDetails", + "documentation":"

Details about a service within an ECS cluster.

" + }, + "AwsAutoScalingLaunchConfiguration":{ + "shape":"AwsAutoScalingLaunchConfigurationDetails", + "documentation":"

Provides details about a launch configuration.

" + }, + "AwsEc2VpnConnection":{ + "shape":"AwsEc2VpnConnectionDetails", + "documentation":"

Details about an EC2 VPN connection.

" + }, + "AwsEcrContainerImage":{ + "shape":"AwsEcrContainerImageDetails", + "documentation":"

Information about an Amazon ECR image.

" + }, + "AwsOpenSearchServiceDomain":{ + "shape":"AwsOpenSearchServiceDomainDetails", + "documentation":"

Details about an Amazon OpenSearch Service domain.

" + }, + "AwsEc2VpcEndpointService":{ + "shape":"AwsEc2VpcEndpointServiceDetails", + "documentation":"

Details about the service configuration for a VPC endpoint service.

" + }, + "AwsXrayEncryptionConfig":{ + "shape":"AwsXrayEncryptionConfigDetails", + "documentation":"

Information about the encryption configuration for X-Ray.

" + }, + "AwsWafRateBasedRule":{ + "shape":"AwsWafRateBasedRuleDetails", + "documentation":"

Details about a rate-based rule for global resources.

" + }, + "AwsWafRegionalRateBasedRule":{ + "shape":"AwsWafRegionalRateBasedRuleDetails", + "documentation":"

Details about a rate-based rule for Regional resources.

" + }, + "AwsEcrRepository":{ + "shape":"AwsEcrRepositoryDetails", + "documentation":"

Information about an Amazon Elastic Container Registry repository.

" + }, + "AwsEksCluster":{ + "shape":"AwsEksClusterDetails", + "documentation":"

Details about an Amazon EKS cluster.

" } }, "documentation":"

Additional details about a resource related to a finding.

To provide the details, use the object that corresponds to the resource type. For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance object to provide the details.

If the type-specific object does not contain all of the fields you want to populate, then you use the Other object to populate those additional fields.

You also use the Other object to populate the details when the selected type does not have a corresponding object.

" @@ -8939,7 +12619,7 @@ "members":{ "AccountId":{ "shape":"AccountId", - "documentation":"

An AWS account ID of the account that was not processed.

" + "documentation":"

An Amazon Web Services account ID of the account that was not processed.

" }, "ProcessingResult":{ "shape":"NonEmptyString", @@ -9005,7 +12685,7 @@ "members":{ "Product":{ "shape":"Double", - "documentation":"

Deprecated. This attribute is being deprecated. Instead of providing Product, provide Original.

The native severity as defined by the AWS service or integrated partner product that generated the finding.

" + "documentation":"

Deprecated. This attribute is being deprecated. Instead of providing Product, provide Original.

The native severity as defined by the Amazon Web Services service or integrated partner product that generated the finding.

" }, "Label":{ "shape":"SeverityLabel", @@ -9050,7 +12730,7 @@ }, "Product":{ "shape":"Double", - "documentation":"

The native severity as defined by the AWS service or integrated partner product that generated the finding.

" + "documentation":"

The native severity as defined by the Amazon Web Services service or integrated partner product that generated the finding.

" }, "Label":{ "shape":"SeverityLabel", @@ -9082,6 +12762,14 @@ "Architecture":{ "shape":"NonEmptyString", "documentation":"

The architecture used for the software package.

" + }, + "PackageManager":{ + "shape":"NonEmptyString", + "documentation":"

The source of the package.

" + }, + "FilePath":{ + "shape":"NonEmptyString", + "documentation":"

The file system path to the package manager inventory file.

" } }, "documentation":"

Information about a software package.

" @@ -9178,7 +12866,7 @@ }, "SeverityRating":{ "shape":"SeverityRating", - "documentation":"

The severity of findings generated from this security standard control.

The finding severity is based on an assessment of how easy it would be to compromise AWS resources if the issue is detected.

" + "documentation":"

The severity of findings generated from this security standard control.

The finding severity is based on an assessment of how easy it would be to compromise Amazon Web Services resources if the issue is detected.

" }, "RelatedRequirements":{ "shape":"RelatedRequirementsList", @@ -9246,7 +12934,7 @@ "members":{ "StandardsArn":{ "shape":"NonEmptyString", - "documentation":"

The ARN of the standard that you want to enable. To view the list of available standards and their ARNs, use the DescribeStandards operation.

" + "documentation":"

The ARN of the standard that you want to enable. To view the list of available standards and their ARNs, use the DescribeStandards operation.

" }, "StandardsInput":{ "shape":"StandardsInputParameterMap", @@ -9271,7 +12959,7 @@ "members":{ "ReasonCode":{ "shape":"NonEmptyString", - "documentation":"

A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the AWS Security Hub User Guide.

" + "documentation":"

A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the Security Hub User Guide.

" }, "Description":{ "shape":"NonEmptyString", @@ -9349,7 +13037,7 @@ }, "Tags":{ "shape":"TagMap", - "documentation":"

The tags to add to the resource.

" + "documentation":"

The tags to add to the resource. You can add up to 50 tags at a time. The tag keys can be no longer than 128 characters. The tag values can be no longer than 256 characters.

" } } }, @@ -9446,7 +13134,7 @@ }, "TagKeys":{ "shape":"TagKeyList", - "documentation":"

The tag keys associated with the tags to remove from the resource.

", + "documentation":"

The tag keys associated with the tags to remove from the resource. You can remove up to 50 tags at a time.

", "location":"querystring", "locationName":"tagKeys" } @@ -9482,6 +13170,48 @@ "members":{ } }, + "UpdateFindingAggregatorRequest":{ + "type":"structure", + "required":[ + "FindingAggregatorArn", + "RegionLinkingMode" + ], + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the finding aggregator. To obtain the ARN, use ListFindingAggregators.

" + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

Indicates whether to aggregate findings from all of the available Regions in the current partition. Also determines whether to automatically aggregate findings from new Regions as Security Hub supports them and you opt into them.

The selected option also determines how to use the Regions provided in the Regions list.

The options are as follows:

" + }, + "Regions":{ + "shape":"StringList", + "documentation":"

If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a comma-separated list of Regions that do not aggregate findings to the aggregation Region.

If RegionLinkingMode is SPECIFIED_REGIONS, then this is a comma-separated list of Regions that do aggregate findings to the aggregation Region.

" + } + } + }, + "UpdateFindingAggregatorResponse":{ + "type":"structure", + "members":{ + "FindingAggregatorArn":{ + "shape":"NonEmptyString", + "documentation":"

The ARN of the finding aggregator.

" + }, + "FindingAggregationRegion":{ + "shape":"NonEmptyString", + "documentation":"

The aggregation Region.

" + }, + "RegionLinkingMode":{ + "shape":"NonEmptyString", + "documentation":"

Indicates whether to link all Regions, all Regions except for a list of excluded Regions, or a list of included Regions.

" + }, + "Regions":{ + "shape":"StringList", + "documentation":"

The list of excluded Regions or included Regions.

" + } + } + }, "UpdateFindingsRequest":{ "type":"structure", "required":["Filters"], @@ -9664,10 +13394,10 @@ "members":{ "Type":{ "shape":"NonEmptyString", - "documentation":"

Specifies how you want AWS WAF to respond to requests that match the settings in a rule.

Valid settings include the following:

" + "documentation":"

Specifies how you want WAF to respond to requests that match the settings in a rule.

Valid settings include the following:

" } }, - "documentation":"

Details about the action that CloudFront or AWS WAF takes when a web request matches the conditions in the rule.

" + "documentation":"

Details about the action that CloudFront or WAF takes when a web request matches the conditions in the rule.

" }, "WafExcludedRule":{ "type":"structure", @@ -9698,7 +13428,7 @@ "members":{ "Status":{ "shape":"WorkflowStatus", - "documentation":"

The status of the investigation into the finding. The allowed values are the following.

" + "documentation":"

The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to SUPPRESSED or RESOLVED does not prevent a new finding for the same issue.

The allowed values are the following.

" } }, "documentation":"

Provides information about the status of the investigation into a finding.

" @@ -9706,7 +13436,7 @@ "WorkflowState":{ "type":"string", "deprecated":true, - "deprecatedMessage":"This field is deprecated, use Workflow.Status instead.", + "deprecatedMessage":"This filter is deprecated. Instead, use SeverityLabel or FindingProviderFieldsSeverityLabel.", "enum":[ "NEW", "ASSIGNED", @@ -9729,11 +13459,11 @@ "members":{ "Status":{ "shape":"WorkflowStatus", - "documentation":"

The status of the investigation into the finding. The allowed values are the following.

" + "documentation":"

The status of the investigation into the finding. The workflow status is specific to an individual finding. It does not affect the generation of new findings. For example, setting the workflow status to SUPPRESSED or RESOLVED does not prevent a new finding for the same issue.

The allowed values are the following.

" } }, "documentation":"

Used to update information about the investigation into the finding.

" } }, - "documentation":"

Security Hub provides you with a comprehensive view of the security state of your AWS environment and resources. It also provides you with the readiness status of your environment based on controls from supported security standards. Security Hub collects security data from AWS accounts, services, and integrated third-party products and helps you analyze security trends in your environment to identify the highest priority security issues. For more information about Security Hub, see the AWS Security Hub User Guide .

When you use operations in the Security Hub API, the requests are executed only in the AWS Region that is currently active or in the specific AWS Region that you specify in your request. Any configuration or settings change that results from the operation is applied only to that Region. To make the same change in other Regions, execute the same command for each Region to apply the change to.

For example, if your Region is set to us-west-2, when you use CreateMembers to add a member account to Security Hub, the association of the member account with the master account is created only in the us-west-2 Region. Security Hub must be enabled for the member account in the same Region that the invitation was sent from.

The following throttling limits apply to using Security Hub API operations.

" + "documentation":"

Security Hub provides you with a comprehensive view of the security state of your Amazon Web Services environment and resources. It also provides you with the readiness status of your environment based on controls from supported security standards. Security Hub collects security data from Amazon Web Services accounts, services, and integrated third-party products and helps you analyze security trends in your environment to identify the highest priority security issues. For more information about Security Hub, see the Security HubUser Guide .

When you use operations in the Security Hub API, the requests are executed only in the Amazon Web Services Region that is currently active or in the specific Amazon Web Services Region that you specify in your request. Any configuration or settings change that results from the operation is applied only to that Region. To make the same change in other Regions, execute the same command for each Region to apply the change to.

For example, if your Region is set to us-west-2, when you use CreateMembers to add a member account to Security Hub, the association of the member account with the administrator account is created only in the us-west-2 Region. Security Hub must be enabled for the member account in the same Region that the invitation was sent from.

The following throttling limits apply to using Security Hub API operations.

" }